智客公社

标题: 机器学习之常用算法基础概念 [打印本页]

作者: jjxiner    时间: 2022-7-17 13:32
标题: 机器学习之常用算法基础概念
一. 机器学习的流程

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




二、预处理的步骤

(1)选择能够赋予属性名和属性值明确含义的属性数据。
(2)避免选择重复数据。
(3)合理选择与学习内容关联性高的属性数据。
2. 数据清理。数据清理是预处理中最重要的一步,主要处理缺失数据、噪声数据、识别和删除孤立点等。
3. 数据集成。数据集成就是将多个数据源中的数据合并在一起形成一个数据仓库/数据库的技术和过程。需要解决数据中的3个主要问题:多个数据集匹配、数据冗余、数据冲突。
4. 数据变换。数据变换有数据标准化、数据白化处理。
5. 数据归约。数据归约通常采用维归约、数值归约方法实现。维归约指通过减少属性的方式压缩数据量,通过移除不相关的属性,可以提高模型效率。




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

启动分类学习器。可以通过直接在命令行窗口输入“Classification Learner”,或者在MATLAB的菜单栏中选择“应用程序”选项卡下的分类学习器应用“Classification Learner”。
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)算法在使用中通常要将定类数据以上测量级的数据离散化,这样很可能会造成数据中有用信息的损失,对分类效果产生影响。




八、线性回归



2. 优点:
(1)训练速度和预测速度较快。
(2)结果可解释。
(3)当新增数据时,易于更新模型。


3. 缺点:
(1)预测精确度较低。
(2)可能会出现过度拟合。
(3)分离信号和噪声的效果不理想,在使用前需要先去掉不相关的特征。




九、逻辑回归



2. 优点:
(1)预测结果的概率为0~1。
(2)可以适用于离散型和连续型变量。
(3)容易使用和解释。


3. 缺点:
(1)对模型中自变量多重共线性较为敏感。
(2)预测结果呈“S”形,导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阈值。




十、神经网络(NN)



2. 优点:
(1)具有较强的非线性映射能力。
(2)具有高度的自学习和自适应的能力。
(3)具有良好的泛化能力和一定的容错能力。


3. 缺点:
(1)存在局部极小化问题。
(2)收敛速度慢。
(3)神经网络结构选择不一。神经网络结构的选择一般只能由经验选定,若选择过大,易出现过度拟合,若选择过小,又可能造成网络不收敛。网络的结构直接影响网络的逼近能力及推广性质。




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



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


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




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



2. 优点:
(1)算法简单、快速。
(2)对大数据集具有较高的效率并且是可伸缩性的。
(3)时间复杂度近于线性,而且适合挖掘大规模数据集。


3. 缺点:
(1)在k-means算法中的k值必须是事先给定的,但是k值的选定是非常难以估计的。
(2)初始聚类中心的选择在k-means算法中是随机的,一旦初始值选择得不合理,就可能无法得到有效的聚类结果。
(3)该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法需要的时间是非常多的。




十三、K中心点算法



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




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



[attach]771353[/attach]


作者: qwe654    时间: 2022-7-17 19:08
我了个去,顶了
作者: 新村居民佬    时间: 2022-7-20 11:30
占坑编辑ing




欢迎光临 智客公社 (http://bbs.cnaiplus.com/) Powered by Discuz! X3.4