机器学习之常用算法基础概念(常见的机器学习算法)
moboyou 2025-05-04 15:16 12 浏览
一. 机器学习的流程
- 收集数据
- 准备输入数据
- 分析输入数据
- 训练算法
- 测试算法
- 使用算法
机器学习就是计算机利用已有的数据或经验,通过训练得出模型,并使用测试数据对该模型进行评估,若性能达到所需要求,则可用该模型测试其他的数据,否则,调整算法重新训练模型并评估,直到构建出符合性能需求的模型为止。
二、预处理的步骤
- 数据选取、数据处理、数据集成、数据变换、数据规约。
- 数据初步选取。数据选取需要遵循三个基本原则:
(1)选择能够赋予属性名和属性值明确含义的属性数据。
(2)避免选择重复数据。
(3)合理选择与学习内容关联性高的属性数据。
2. 数据清理。数据清理是预处理中最重要的一步,主要处理缺失数据、噪声数据、识别和删除孤立点等。
3. 数据集成。数据集成就是将多个数据源中的数据合并在一起形成一个数据仓库/数据库的技术和过程。需要解决数据中的3个主要问题:多个数据集匹配、数据冗余、数据冲突。
4. 数据变换。数据变换有数据标准化、数据白化处理。
5. 数据归约。数据归约通常采用维归约、数值归约方法实现。维归约指通过减少属性的方式压缩数据量,通过移除不相关的属性,可以提高模型效率。
三、分类学习器基本操作流程
- 对于构建机器学习应用,通常包括五个部分,分别是数据导入、数据的探索和特征选择、训练模型、比较模型、输出模型。
启动分类学习器。可以通过直接在命令行窗口输入“Classification Learner”,或者在MATLAB的菜单栏中选择“应用程序”选项卡下的分类学习器应用“Classification Learner”。
- 输入数据。导入数据的方式有两种,一种是单击CLASSIFICATION LEARNER选项卡下FILE组中的New Session下拉按钮,然后选择From Workspace,其含义是导入MATLAB工作空间的函数数据;另一种是选择From File,其含义是通过数据文件导入数据。
2. 数据的探索和特征的选择。设置训练数据的相关属性、标签及设置验证集,导入数据并设置好交叉验证后单击Start Session按钮。
3. 训练模型。选择一个合适的算法后单击“Train”进行训练。
4. 比较模型。观察每个类预测的准确率。
5. 输出模型。可以在“Export Model”下拉列表中可以选择不同的导出方式。导入工作空间的方法:选择“Export Model”下拉列表中的“Export Compact Model”选项,输入导入模型的名称,采用默认值,单击“确定”按钮。
四、k紧邻算法(KNN算法)
- 原理:
如果一个样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别。
当无法判定当前待分类点从属于已知分类中的哪一类时,可以依据统计学的理论看它所处的位置特征,衡量它周围邻居的权重,而把它归为到权重更大的那一类,这就是k近邻算法的核心思想。
k紧邻算法使用的模型实际上对应于特征空间的划分。k值的选择、距离度量和分类决策规则是该算法的3个基本要素。
(1)在实际应用中,k值一般选择一个较小的数值,通常采用交叉验证的方法来选择最优的k值。
(2)算法中的分类决策规则往往是多数表决,即由输入实例的k个最邻近的训练实例中的多数类决定输入实例的类别。
(3)距离度量一般采用欧式距离表示,在度量之前,应该将每个属性的值规范化,以防止具有较大初始值域的属性比具有较小初始值域的属性的权重大。
2. 优点:
(1)简单、有效、复杂度低、无须参数估计、无须训练。
(2)精度高、对噪声不敏感。
(3)适用于类域的交叉或重叠较多的待分样本集。
(4)适用于多分类问题,其表现性能比SVM效果更好。
3. 缺点:
(1)计算量大。
(2)可解释性差。
(3)样本不均衡时,如果一个类样本容量很大,而其他样本容量很小时,有可能导致当输入一个新样本时,该样本的k个邻近样本中很可能该类占大多数。
(4)样本容量较小的类域使用该算法容易产生误分。
(5)k值的选取对分类效果有较大影响。
五、决策树
- 原理:
决策树是在已知各种情况发生概率的基础上,通过构成决策树来评估项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。在机器学习中,决策树是一个预测模型,其代表的是对象属性与对象值之间的一种映射关系。
决策树可以看作一个树状预测模型,它是由结点和有向分支组成的层次结构。树中包含3种结点:根结点、内部结点、叶子结点。决策树只有一个根结点,是全体训练数据的集合。树中每个内部结点都是一个分裂问题。每个叶子结点都是带有分类标签的数据集合,即为样本所属的分类。
2. 优点:
(1)决策树易于理解和实现。
(2)速度快,计算量相对较小,且容易转化成分类规则。
3. 缺点:在处理大样本集时,易出现过拟合现象,降低分类的准确性。
六、支持向量机(SVM)
- 原理:支持向量机将向量映射到一个更高维的空间中,在这个空间中建立一个最大间隔的超平面。在分开数据的超平面的两边建有两个互相平行的临界超平面,建立方向合适的分隔超平面将使两个与之平行的超平面之间的距离最大化。其假定为,平行超平面间的距离或差距越大,分类器的总误差就越小。
2. 优点:
(1)算法专门针对有限样本设计,其目标是获得现有信息下的最优解,而不是样本趋于无穷时的最优解。
(2)算法最终转化为求解一个二次凸规划问题,能求得理论上的全局最优解,解决了一些传统方法无法避免的局部极值问题。
(3)算法将实际问题通过非线性变换映射到高维的特征空间中,在高维特征空间中构造线性最佳逼近来解决原空间中的非线性逼近问题。保证了机器学习具有良好的泛化能力,同时巧妙地解决了维数灾难问题。
3. 缺点:对缺失数据敏感,内存消耗大,难以解释。
七、朴素贝叶斯算法(Bayes算法)
- 原理:朴素贝叶斯算法具有分类准确率较高并且运算速度快的特点。对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大就认为此待分类项属于哪个类别。
2. 优点:
(1)算法形式简单,规则清楚易懂,可扩展性强。
(2)算法实施的时间和空间开销小。
(3)算法性能稳定,模型的健壮性比较好。
3. 缺点:
(1)算法假设属性之间都是条件独立的,然而在社会活动中,数据集中的变量之间往往存在较强的相关性,忽视这种性质会对分类结果产生很大影响。
(2)算法将各特征属性对于分类决策的影响程度都看作是相同的,这不符合实际运用的需求。
(3)算法在使用中通常要将定类数据以上测量级的数据离散化,这样很可能会造成数据中有用信息的损失,对分类效果产生影响。
八、线性回归
- 原理:线性回归是利用数理统计中回归分析,来确定两种或两种以上变量之间相互依赖的定量关系的一种统计分析方法。其表达式为:y=wT+e,e为残差,服从均值为0的正态分布。
2. 优点:
(1)训练速度和预测速度较快。
(2)结果可解释。
(3)当新增数据时,易于更新模型。
3. 缺点:
(1)预测精确度较低。
(2)可能会出现过度拟合。
(3)分离信号和噪声的效果不理想,在使用前需要先去掉不相关的特征。
九、逻辑回归
- 原理:逻辑回归是基于线性模型的,为了解决分类问题,把线性模型的输出做一个变换,使用Sogmoid函数,把实数域的输出映射到(0,1)区间,为输出提供了很好的概率解释。但是从本质上来说,逻辑回归还是一种广义的线性模型,采用了交叉熵损失函数。最后为了最小化损失函数,逻辑回归采用了梯度下降方法。综合这3个因素,就构成了逻辑回归算法。
2. 优点:
(1)预测结果的概率为0~1。
(2)可以适用于离散型和连续型变量。
(3)容易使用和解释。
3. 缺点:
(1)对模型中自变量多重共线性较为敏感。
(2)预测结果呈“S”形,导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阈值。
十、神经网络(NN)
- 原理:人工神经网络(ANN)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量结点之间相互连接的关系,从而达到处理信息的目的。
2. 优点:
(1)具有较强的非线性映射能力。
(2)具有高度的自学习和自适应的能力。
(3)具有良好的泛化能力和一定的容错能力。
3. 缺点:
(1)存在局部极小化问题。
(2)收敛速度慢。
(3)神经网络结构选择不一。神经网络结构的选择一般只能由经验选定,若选择过大,易出现过度拟合,若选择过小,又可能造成网络不收敛。网络的结构直接影响网络的逼近能力及推广性质。
十一、数据集成(AdaBoost算法)
- 原理:AdaBoost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些分类器集合起来,构成一个更强的最终分类器(强分类器)。其自适应性在于:前一个基本分类器分错的样本会得到加强,加权后的全体数据再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小错误率或达到预先指定的最大迭代次数。
2. 优点:泛化错误率低;易编码;可用于绝大部分分类器;无参数调整。
3. 缺点:对离群点敏感。
十二、k均值算法(k-means算法)
- 原理:k均值算法是典型的基于距离的动态聚类算法,以距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。使用误差平方和准则作为聚类准则,寻求的是使误差平方和准则函数最小化的聚类结果。
2. 优点:
(1)算法简单、快速。
(2)对大数据集具有较高的效率并且是可伸缩性的。
(3)时间复杂度近于线性,而且适合挖掘大规模数据集。
3. 缺点:
(1)在k-means算法中的k值必须是事先给定的,但是k值的选定是非常难以估计的。
(2)初始聚类中心的选择在k-means算法中是随机的,一旦初始值选择得不合理,就可能无法得到有效的聚类结果。
(3)该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法需要的时间是非常多的。
十三、K中心点算法
- 原理:k中心点算法在分类上属于动态聚类算法。算法的基础是在每个簇中选出一个实际的对象来代表该簇,其余的每个对象聚类到与其最相似性的代表性对象所在的簇中,然后重复迭代,直到每个代表对象都成为它所在的簇实际中心点或最靠近中心点的对象为止。
2. 优点:减轻了k均值算法对孤立点的敏感性。
3. 缺点:与k均值算法的缺点相似。
参考教材:《机器学习入门到实战 MATLAB实践应用》(冷雨泉主编)
相关推荐
- 声学EI要完稿?十步速写法
-
【推荐会议】国际声学与振动会议(ICAV)会议号:CFP23112A截稿时间:2025年4月20日召开时间/地点:2025年8月15-17日·新加坡论文集上线:会后3个月提交EiComp...
- 结构力学!EI会议图表规范秘籍
-
推荐会议:国际结构与材料工程进展大会(ISME2026)会议编号:EI#73521截稿时间:2026年3月10日召开时间/地点:2026年8月15-17日·德国柏林论文集上线:会后4...
- 傅里叶级数物理意义的直观理解:利用傅里叶级数逼近方波信号
-
上篇文章将向大家介绍频谱的概念,对傅里叶级数、傅里叶积分、傅里叶变换进行了数学的推导,并解释了它们各自的物理意义。推导过程见我的上一篇文章:频谱分析——频谱概念(傅里叶变换、级数、积分及物理意义)如下...
- 通过对航空发动机整机振动进行分析,有何控制方法?
-
前言针对航空发动机整机振动问题的复杂性和多样性,以整机振动的振源分析为出发点,总结国内外关于转子系统故障、气流激振、轴承故障、齿轮故障和结构局部共振等引起的整机振动的研究情况。结合航空发动机整机结构动...
- MATLIB中使用PCA
-
主成分分析PCA(PrincipalComponentsAnalysis),奇异值分解SVD(Singularvaluedecomposition)是两种常用的降维方法降维致力于解决三类问题:降维...
- 数据处理|软件:让科研更简单2
-
书接上回,继续介绍免费的数据处理软件。eGPS一款热图绘制专用软件,热图就是用颜色代表数字,让数据呈现更直观,对比更明显。优点:小巧方便,基本功能齐全,包括数据转换、聚类分析、颜色调整等等缺点:常见的...
- 电力系统常用的通讯协议及其在Speedgoat系统中的实现
-
在电力系统中,IEC61850协议、DNP3协议、ModbusTCP广泛应用于远程终端设备(RTU)、智能电子设备(IED)交互以及监控和数据采集(SCADA)系统。一、IEC61850协议IE...
- 电子工程师的常用仿真软件
-
不知道从事电子行业的工程师,有没有使用模拟仿真工具,仿真软件网上又有很多,初学者,可能只知道Multisim和Proteus。一般Multisim适合在学习模拟电路和电路分析原理课程时使用,便于理解电...
- 技术论文|异结构混沌系统的组合同步控制及电路实现
-
欢迎引用[1]李贤丽,马赛,樊争先,王壮,马文峥,于婷婷.异结构混沌系统的组合同步控制及电路实现[J].自动化与仪器仪表,2022,No.276(10):80-84.DOI:10.14016/j.cn...
- 现场︱某110KV主变事故过程仿真分析
-
三峡电力职业学院、河南省电力公司洛阳供电公司的研究人员李莉、任幼逢、徐金雄、王磊,在2016年第6期《电气技术》杂志上撰文,针对某110KV变电站主变差动保护跳闸事故,结合事故相关检测数据,通过MAT...
- 光伏发电系统篇:单级式并网系统实时仿真
-
在全球积极推动清洁能源转型的大背景下,光伏发电作为重要的可再生能源利用方式,得到了广泛关注和迅猛发展。目前常用的光伏并网及光伏电站主要拓扑结构有单级式和双级式。相较于传统的多级式系统,单级式光伏发电并...
- 光伏发电系统篇:三电平并网逆变器实时仿真
-
一、三电平并网逆变器在能源转型加速的当下,分布式能源接入电网需求大增。三电平并网逆变器凭借低谐波、高功率密度等优势,有效提升电能转换效率,于新能源并网发电中担当关键角色。常见的三电平电路拓扑结构包括二...
- 自制3.5KW大功率逆变器,很简单,看过这个电路原理就懂了
-
前言拿下8000元奖金的项目,是什么水平?本项目经过联合湖南科技大学光伏逆变以及电力电子研究生团队共同探讨方案。项目成本:1200元,获得奖金:8000元!参加赛事:立创开源硬件平台_星火计划·外包赛...
- 圈内分享:电容式加速度计接口电路非线性建模与仿真设计
-
摘要:非线性是Sigma-Delta(ΣΔ)加速度计系统的关键指标之一。基于一个五阶ΣΔ加速度计结构,分析了其主要的非线性模块,在MATLAB中建立了整体结构的行为级模型,并利用根轨迹法进行了稳...
- 基于Matlab/Simulink建立一种Thevenin/RC电池模块仿真模型
-
本文以锂电池数学模型为基础,在Matlab/Simulink的仿真系统中,建立了一种Thevenin/RC电池模块仿真模型,通过实际工况试验,测试精度在允许误差范围内,为电池SOC/SOH研究提供了极...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 使用 (12)
- 启动oracle的监听服务 (13)
- oracle 数据库 字符集 (20)
- powerdesigner oracle (13)
- oracle修改端口 (15)
- 左连接 oracle (15)
- oracle 标准版 (13)
- oracle 转义字符 (14)
- asp 连接 oracle (12)
- oracle安装补丁 (19)
- matlab三维图 (12)
- matlab归一化 (16)
- matlab求解方程 (13)
- matlab坐标轴刻度设置 (12)
- matlab脚本 (14)
- matlab多项式拟合 (13)
- matlab阶跃函数 (14)