总览
机器学习是一门多领域交叉学科,它致力于让计算机通过数据学习模式和规律,以进行预测或决策,而无需针对特定任务进行明确编程。以下从其简介、主要类型、常用算法、应用场景、面临挑战展开介绍:
简介:机器学习基于统计学、概率论、计算机科学等理论,运用算法解析数据,从中学习并构建模型,利用模型对新数据进行预测或分析。例如电商平台通过分析用户历史购买、浏览记录等数据,构建机器学习模型,从而预测用户可能感兴趣的商品,实现精准推荐。
主要类型
监督学习:使用标记好的数据进行训练,即数据集中每个样本都有对应的标签(输出值)。算法学习输入特征与标签之间的映射关系,以对新数据进行预测。常见任务包括分类(如判断邮件是否为垃圾邮件)和回归(如预测房屋价格)。
无监督学习:处理无标签的数据,旨在发现数据中的内在结构、模式或分组。例如聚类算法将数据点划分成不同的簇,使同一簇内的数据点相似度较高;降维算法则在保留数据主要特征的同时减少数据维度,如主成分分析(PCA)。
强化学习:智能体在环境中采取一系列行动,通过与环境交互获得奖励或惩罚信号,学习到最优的行为策略。以游戏为例,智能体通过不断尝试不同操作,根据游戏反馈的得分(奖励)调整策略,最终学会如何在游戏中取得高分。
常用算法
决策树:基于树状结构进行决策,每个内部节点表示一个属性上的测试,分支是测试输出,叶节点代表类别或值。例如在判断是否批准贷款申请时,决策树可依据申请人的收入、信用记录等属性进行层层判断。
支持向量机(SVM):寻找一个最优超平面,将不同类别的数据点尽可能分开,且使两类数据点到超平面的间隔最大,常用于二分类问题。对于非线性可分的数据,可通过核函数将数据映射到高维空间来求解。
朴素贝叶斯算法:基于贝叶斯定理,假设特征之间相互独立,通过计算每个类别在给定特征下的概率来进行分类。例如在文本分类中,可根据单词出现的频率判断文本所属类别。
神经网络:由大量神经元相互连接组成,模拟人类神经系统进行信息处理。如多层感知机(MLP)、卷积神经网络(CNN,常用于图像识别)、循环神经网络(RNN,适用于处理序列数据,如自然语言)及其变体长短时记忆网络(LSTM)和门控循环单元(GRU)。
基本步骤
1,确定问题:首先要明确竞赛题目中需要解决的问题,明确问题的类型(分类、回归、聚类等),以及需要数据维度 本此预测的变量或目标。,
2,数据理解:初步的探索性分析,包括了解数据的基本统计特征、缺失值处理、异常值处理等
3,特征工程:对原始数据进行特征提取、选择和转换,包括特征缩放、特征组合、特征选择、处理类别型特征等。
4,模型选择:根据问题的类型和数据的特点,选择适当的机器学习模型,比如决策树、随机森林、支持向量机、神经网络等。
5,模型训练:使用训练集对选定的模型进行训练,通过优化模型参数来使模型拟合训练数据。
6,模型评估:使用测试集对训练好的模型进行评估,评估模型的性能指标,比如准确率、召回率、值、均方误差等。
7,模型调优:根据评估结果对模型进行调优,可能包括调整超参数、交叉验证等
8,结果解释与报告:对模型的结果进行解释,分析模型对问题的贡献,写报告,呈现模型的应用效果和结论。
决策树模型:(分类,回归)
一种基于树状结构进行决策的监督学习算法,其核心在于通过对数据特征的逐步划分,以实现对样本的分类或数值预测。
基本原理:
决策树由节点和分支组成,类似于流程图的树形结构。根节点包含所有样本数据,每个内部节点基于某个特征的属性值对数据进行测试,根据测试结果将数据划分到不同的分支,叶节点则表示分类结果(分类树)或预测值(回归树)。例如在判断一个水果是否为苹果时,可能从颜色特征开始,若颜色为红色,再看形状是否为圆形,逐步得出结论。决策树基于信息增益、信息增益比、基尼指数等准则来选择最优划分特征,目的是让划分后的子节点数据纯度更高。例如信息增益,通过计算划分前后信息熵的变化,信息增益越大,说明按该特征划分对数据的分类效果越好。
构建过程
特征选择:从数据的所有特征中,依据上述准则挑选出对分类或预测最有帮助的特征。例如在预测天气是否适合外出活动时,可能有温度、湿度、风速等特征,通过计算信息增益确定哪个特征对决策影响最大。
决策树生成:以选定的特征为节点,按照特征的不同取值划分数据集,生成子节点。不断递归这个过程,对每个子节点重复特征选择和划分,直到满足停止条件,如所有样本属于同一类别,或没有可用于划分的特征。
剪枝:构建好的决策树可能存在过拟合问题,即对训练数据拟合得很好,但对新数据的泛化能力较差。剪枝操作通过去掉一些分支来简化决策树,提高泛化能力。分为预剪枝和后剪枝,预剪枝在决策树生成过程中,判断当前节点划分是否能带来泛化性能提升,若不能则停止划分;后剪枝是在决策树构建完成后,自下而上对非叶节点进行考察,若剪掉该节点子树能提升泛化性能,则进行剪枝。
要解决的问题:如何找出最佳节点和最佳分支,如何防止过拟合和使决策树停止生长
优缺点
优点:模型直观,易于理解和解释,决策过程类似人类的逻辑推理。构建过程不需要额外的预处理,对数据的缺失值和噪声有一定容忍度。训练时间相对较短,预测速度快,适用于大规模数据集。
缺点:容易过拟合,特别是在数据特征较多且复杂时,决策树可能过度学习训练数据中的细节。对连续性变量的处理能力有限,通常需要进行离散化处理。此外,决策树对数据的小变动比较敏感,可能导致生成的决策树结构差异较大。
SVM模型:(分类,回归)
支持向量机(Support Vector Machine,SVM)是一种有监督的机器学习模型,广泛应用于分类和回归问题。
基本原理
核心概念:SVM 的核心目标是在特征空间中找到一个最优超平面,将不同类别的数据点尽可能分开,并且使两类数据点到超平面的间隔(margin)最大。这个最优超平面可以用线性方程
来表示,其中w是超平面的法向量,决定了超平面的方向,b是截距,决定了超平面与原点的距离。
最大间隔的意义:更大的间隔意味着模型具有更好的泛化能力,对未知数据的分类错误率更低。例如在一个简单的二维平面上,两类数据点分布在超平面两侧,间隔越大,新的数据点被正确分类的可能性就越高。
线性 SVM 与非线性 SVM
分类
线性 SVM:适用于数据在特征空间中线性可分的情况,即能够找到一个超平面完全将不同类别的数据分开。例如,两类数据点分别分布在一条直线的两侧,这条直线就是线性 SVM 找到的超平面。
非线性 SVM:现实中很多数据并非线性可分,此时 SVM 通过核函数将低维空间中的非线性问题映射到高维空间,使其在高维空间中变得线性可分。常见的核函数有多项式核函数、高斯核函数(径向基函数 RBF)等。以高斯核函数为例,它可以将数据映射到无限维空间,从而找到合适的超平面进行分类。
模型构建过程
数据准备:收集并预处理数据,包括数据清洗、特征选择与提取等步骤,确保数据的质量和可用性。
选择核函数(针对非线性问题):根据数据的特点和问题的性质选择合适的核函数,如果数据线性可分,则可直接使用线性 SVM。
求解优化问题:SVM 的目标是最大化间隔,这可以转化为一个凸二次规划问题。通过拉格朗日对偶性,将原始问题转化为对偶问题进行求解,得到最优的超平面参数b和w。在求解过程中,支持向量起着关键作用,它们是离超平面最近的数据点,决定了超平面的位置和方向。
模型评估:使用交叉验证等方法评估模型的性能,如准确率、召回率、F1 值等指标,以确定模型的泛化能力和有效性。
优缺点
优点
泛化能力强:通过最大化间隔,SVM 在处理小样本数据时能够有效避免过拟合,具有较好的泛化性能。
适合高维数据:对特征维度很高的数据也能处理得很好,在文本分类等领域表现出色,因为文本数据通常具有很高的维度。
多种核函数选择:可以根据不同的数据特点选择合适的核函数,灵活处理线性和非线性问题。
缺点
计算复杂度高:对于大规模数据集,求解二次规划问题的计算量较大,训练时间长。
参数选择困难:核函数的参数以及惩罚参数 C 等对模型性能影响较大,选择合适的参数需要一定的经验和调参技巧。
难以解释:对于复杂的非线性 SVM 模型,其决策过程相对难以直观解释,不像决策树模型那样具有清晰的逻辑结构。
神经网络模型看灰色预测and BP神经网络 (详细上手使用)-CSDN博客
随机森林算法
一种强大的集成学习模型,由多个决策树组成,广泛应用于分类、回归等诸多领域。
基本原理
集成学习思想:随机森林基于集成学习中的 Bagging(自举汇聚法)策略,通过构建多个相互独立的子模型(决策树),然后综合这些子模型的预测结果来进行最终决策。其核心在于 “集体智慧”,即多个相对较弱的模型(决策树)通过合理组合,可以产生比单个模型更强的预测性能。
决策树的多样性:为了使各个决策树具有差异性,随机森林在构建每棵决策树时,从原始训练数据集中有放回地随机抽取样本(这一过程称为自助采样),形成多个不同的子训练集。同时,在每个节点进行特征选择时,不是考虑所有特征,而是随机选择一个特征子集来确定最佳划分特征。这样生成的每棵决策树都基于不同的数据子集和特征子集,具有一定的随机性和多样性。
预测机制:对于分类问题,随机森林中每棵决策树给出一个分类结果(类别标签),最终通过投票的方式,选择得票最多的类别作为随机森林的预测类别。例如,在预测一个水果是苹果还是橙子的问题上,若有 100 棵决策树,其中 60 棵树预测为苹果,40 棵树预测为橙子,那么随机森林的预测结果就是苹果。对于回归问题,随机森林中每棵决策树给出一个预测值,最终将所有决策树的预测值进行平均,得到随机森林的预测值。
构建过程
数据采样:从原始训练数据集中采用有放回的抽样方式,重复抽取多个与原始数据集大小相同的子数据集,每个子数据集用于构建一棵决策树。例如,原始数据集有 1000 个样本,每次抽取 1000 个样本(可能会有重复样本)组成子数据集。
特征选择:在每棵决策树的每个节点进行分裂时,随机选择一个特征子集(通常特征子集的大小远小于总特征数),从这个子集中选择最优的特征进行分裂。例如,总共有 10 个特征,在某个节点分裂时,可能随机选择其中 3 个特征来确定最佳划分。
决策树构建:使用选定的子数据集和特征子集,按照决策树的构建方法(如 ID3、C4.5、CART 等算法)构建决策树。在构建过程中,不进行剪枝操作,以保持决策树的完整性和多样性。
集成模型形成:重复上述步骤,构建多棵决策树,形成随机森林模型。最终根据分类或回归的任务,采用投票或平均的方式得出预测结果。
优缺点
优点
准确率高:由于综合了多棵决策树的结果,能够有效减少过拟合,提高模型的泛化能力和预测准确率。在许多实际问题中,随机森林的表现优于单个决策树。
鲁棒性强:对噪声数据和异常值具有较好的容忍度,不易受到个别数据的影响。因为每棵决策树基于不同的样本和特征子集构建,个别噪声数据或异常值可能只影响某一棵或几棵决策树,而不会对整体模型产生过大影响。
可处理高维数据:无需进行复杂的特征选择和降维处理,能够自动处理特征之间的相互作用,同时评估每个特征的重要性。在高维数据(如基因数据、文本数据)的分析中具有优势。
并行性好:每棵决策树的构建相互独立,可以并行计算,大大提高了训练效率,适用于大规模数据集的处理。
缺点
模型解释性相对复杂:虽然可以通过特征重要性等方法对模型进行一定程度的解释,但相比单个决策树,随机森林的决策过程更加复杂,难以直观地理解模型是如何做出决策的。
计算资源消耗大:构建多棵决策树需要占用较多的内存和计算时间,特别是在数据集规模较大和特征维度较高时,训练过程可能会比较耗时。
对小样本数据可能过拟合:在样本数量较少的情况下,随机森林可能会对训练数据过度拟合,导致在新数据上的表现不佳。此时需要谨慎调整模型参数或采用其他方法来增强模型的泛化能力。
标签:SVM,特征,模型,笔记,超平面,数据,决策树 From: https://blog.csdn.net/2401_84910613/article/details/145329050