百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

机器学习之常用算法基础概念(常见的机器学习算法)

moboyou 2025-05-04 15:16 34 浏览

一. 机器学习的流程

  • 收集数据
  • 准备输入数据
  • 分析输入数据
  • 训练算法
  • 测试算法
  • 使用算法

机器学习就是计算机利用已有的数据或经验,通过训练得出模型,并使用测试数据对该模型进行评估,若性能达到所需要求,则可用该模型测试其他的数据,否则,调整算法重新训练模型并评估,直到构建出符合性能需求的模型为止。



二、预处理的步骤

  • 数据选取、数据处理、数据集成、数据变换、数据规约。
  1. 数据初步选取。数据选取需要遵循三个基本原则:

(1)选择能够赋予属性名和属性值明确含义的属性数据。

(2)避免选择重复数据。

(3)合理选择与学习内容关联性高的属性数据。

2. 数据清理。数据清理是预处理中最重要的一步,主要处理缺失数据、噪声数据、识别和删除孤立点等。

3. 数据集成。数据集成就是将多个数据源中的数据合并在一起形成一个数据仓库/数据库的技术和过程。需要解决数据中的3个主要问题:多个数据集匹配、数据冗余、数据冲突。

4. 数据变换。数据变换有数据标准化、数据白化处理。

5. 数据归约。数据归约通常采用维归约、数值归约方法实现。维归约指通过减少属性的方式压缩数据量,通过移除不相关的属性,可以提高模型效率。



三、分类学习器基本操作流程

  • 对于构建机器学习应用,通常包括五个部分,分别是数据导入、数据的探索和特征选择、训练模型、比较模型、输出模型。

启动分类学习器。可以通过直接在命令行窗口输入“Classification Learner”,或者在MATLAB的菜单栏中选择“应用程序”选项卡下的分类学习器应用“Classification Learner”。

  1. 输入数据。导入数据的方式有两种,一种是单击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算法)

  1. 原理:

如果一个样本在特征空间中的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值的选取对分类效果有较大影响。



五、决策树

  1. 原理:

决策树是在已知各种情况发生概率的基础上,通过构成决策树来评估项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。在机器学习中,决策树是一个预测模型,其代表的是对象属性与对象值之间的一种映射关系。

决策树可以看作一个树状预测模型,它是由结点和有向分支组成的层次结构。树中包含3种结点:根结点、内部结点、叶子结点。决策树只有一个根结点,是全体训练数据的集合。树中每个内部结点都是一个分裂问题。每个叶子结点都是带有分类标签的数据集合,即为样本所属的分类。


2. 优点:

(1)决策树易于理解和实现。

(2)速度快,计算量相对较小,且容易转化成分类规则。


3. 缺点:在处理大样本集时,易出现过拟合现象,降低分类的准确性。



六、支持向量机(SVM)

  1. 原理:支持向量机将向量映射到一个更高维的空间中,在这个空间中建立一个最大间隔的超平面。在分开数据的超平面的两边建有两个互相平行的临界超平面,建立方向合适的分隔超平面将使两个与之平行的超平面之间的距离最大化。其假定为,平行超平面间的距离或差距越大,分类器的总误差就越小。


2. 优点:

(1)算法专门针对有限样本设计,其目标是获得现有信息下的最优解,而不是样本趋于无穷时的最优解。

(2)算法最终转化为求解一个二次凸规划问题,能求得理论上的全局最优解,解决了一些传统方法无法避免的局部极值问题。

(3)算法将实际问题通过非线性变换映射到高维的特征空间中,在高维特征空间中构造线性最佳逼近来解决原空间中的非线性逼近问题。保证了机器学习具有良好的泛化能力,同时巧妙地解决了维数灾难问题。


3. 缺点:对缺失数据敏感,内存消耗大,难以解释。



七、朴素贝叶斯算法(Bayes算法)

  1. 原理:朴素贝叶斯算法具有分类准确率较高并且运算速度快的特点。对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大就认为此待分类项属于哪个类别。


2. 优点:

(1)算法形式简单,规则清楚易懂,可扩展性强。

(2)算法实施的时间和空间开销小。

(3)算法性能稳定,模型的健壮性比较好。


3. 缺点:

(1)算法假设属性之间都是条件独立的,然而在社会活动中,数据集中的变量之间往往存在较强的相关性,忽视这种性质会对分类结果产生很大影响。

(2)算法将各特征属性对于分类决策的影响程度都看作是相同的,这不符合实际运用的需求。

(3)算法在使用中通常要将定类数据以上测量级的数据离散化,这样很可能会造成数据中有用信息的损失,对分类效果产生影响。



八、线性回归

  1. 原理:线性回归是利用数理统计中回归分析,来确定两种或两种以上变量之间相互依赖的定量关系的一种统计分析方法。其表达式为:y=wT+e,e为残差,服从均值为0的正态分布。


2. 优点:

(1)训练速度和预测速度较快。

(2)结果可解释。

(3)当新增数据时,易于更新模型。


3. 缺点:

(1)预测精确度较低。

(2)可能会出现过度拟合。

(3)分离信号和噪声的效果不理想,在使用前需要先去掉不相关的特征。



九、逻辑回归

  1. 原理:逻辑回归是基于线性模型的,为了解决分类问题,把线性模型的输出做一个变换,使用Sogmoid函数,把实数域的输出映射到(0,1)区间,为输出提供了很好的概率解释。但是从本质上来说,逻辑回归还是一种广义的线性模型,采用了交叉熵损失函数。最后为了最小化损失函数,逻辑回归采用了梯度下降方法。综合这3个因素,就构成了逻辑回归算法。


2. 优点:

(1)预测结果的概率为0~1。

(2)可以适用于离散型和连续型变量。

(3)容易使用和解释。


3. 缺点:

(1)对模型中自变量多重共线性较为敏感。

(2)预测结果呈“S”形,导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阈值。



十、神经网络(NN)

  1. 原理:人工神经网络(ANN)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量结点之间相互连接的关系,从而达到处理信息的目的。


2. 优点:

(1)具有较强的非线性映射能力。

(2)具有高度的自学习和自适应的能力。

(3)具有良好的泛化能力和一定的容错能力。


3. 缺点:

(1)存在局部极小化问题。

(2)收敛速度慢。

(3)神经网络结构选择不一。神经网络结构的选择一般只能由经验选定,若选择过大,易出现过度拟合,若选择过小,又可能造成网络不收敛。网络的结构直接影响网络的逼近能力及推广性质。



十一、数据集成(AdaBoost算法)

  1. 原理:AdaBoost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些分类器集合起来,构成一个更强的最终分类器(强分类器)。其自适应性在于:前一个基本分类器分错的样本会得到加强,加权后的全体数据再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小错误率或达到预先指定的最大迭代次数。


2. 优点:泛化错误率低;易编码;可用于绝大部分分类器;无参数调整。


3. 缺点:对离群点敏感。



十二、k均值算法(k-means算法)

  1. 原理:k均值算法是典型的基于距离的动态聚类算法,以距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。使用误差平方和准则作为聚类准则,寻求的是使误差平方和准则函数最小化的聚类结果。


2. 优点:

(1)算法简单、快速。

(2)对大数据集具有较高的效率并且是可伸缩性的。

(3)时间复杂度近于线性,而且适合挖掘大规模数据集。


3. 缺点:

(1)在k-means算法中的k值必须是事先给定的,但是k值的选定是非常难以估计的。

(2)初始聚类中心的选择在k-means算法中是随机的,一旦初始值选择得不合理,就可能无法得到有效的聚类结果。

(3)该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法需要的时间是非常多的。



十三、K中心点算法

  1. 原理:k中心点算法在分类上属于动态聚类算法。算法的基础是在每个簇中选出一个实际的对象来代表该簇,其余的每个对象聚类到与其最相似性的代表性对象所在的簇中,然后重复迭代,直到每个代表对象都成为它所在的簇实际中心点或最靠近中心点的对象为止。


2. 优点:减轻了k均值算法对孤立点的敏感性。

3. 缺点:与k均值算法的缺点相似。



参考教材:《机器学习入门到实战 MATLAB实践应用》(冷雨泉主编)


相关推荐

Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录

首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...

Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用

一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...

Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用

原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...

FILTER函数介绍及经典用法12:FILTER+切片器的应用

EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...

office办公应用网站推荐_office办公软件大全

以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...

WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!

办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...

收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程

原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...

Excel函数公式教程(490个实例详解)

Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...

Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!

工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...

Excel中的SCAN函数公式,把计算过程理清,你就会了

Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...

Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效

在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...

Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!

在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...

Excel新版本,IFS函数公式,太强大了!

我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...

Excel不用函数公式数据透视表,1秒完成多列项目汇总统计

如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...