机器学习算法优缺点改进总结.docx
- 文档编号:20131308
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:71
- 大小:1.50MB
机器学习算法优缺点改进总结.docx
《机器学习算法优缺点改进总结.docx》由会员分享,可在线阅读,更多相关《机器学习算法优缺点改进总结.docx(71页珍藏版)》请在冰豆网上搜索。
机器学习算法优缺点改进总结
Lecture1IntroductiontoSupervisedLearning
(1)ExpectatinMaximization(EM)Algorithm(期望值最大)
(2)LinearRegressionAlgorithm(线性回归)
(3)LocalWeightedRegression(局部加权回归)
(4)k-NearestNeighborAlgorithmforRegression(回归k近邻)
(5)LinearClassifier(线性分类)
(6)PerceptronAlgorithm(线性分类)
(7)FisherDiscriminantAnalysisorLinearDiscriminantAnalysis(LDA)
(8)k-NNAlgorithmforClassifier(分类k近邻)
(9)BayesianDecisionMethod(贝叶斯决策方法)
Lecture2Feed-forwardNeuralNetworksandBPAlgorithm
(1)MultilayerPerceptron(多层感知器)
(2)BPAlgorithm
Lecture3RudimentsofSupportVectorMachine
(1)SupportVectorMachine(支持向量机)(此算法是重点,必考题)
此处有一道必考题
Lecture4IntroductiontoDecisionRuleMining
(1)DecisionTreeAlgorithm
(2)ID3Algorithm
(3)C4.5Algorithm
(4)粗糙集……
Lecture5ClassifierAssessmentandEnsembleMethods
(1)Bagging
(2)Booting
(3)Adaboosting
Lecture6IntroductiontoAssociationRuleMining
(1)AprioriAlgorithms
(2)FP-treeAlgorithms
Lecture7IntroductiontoCusteringAnalysis
(1)k-meansAlgorithms
(2)fuzzyc-meansAlgorithms
(3)k-modeAlgorithms
(4)DBSCANAlgorithms
Lecture8BasicsofFeatureSelection
(1)ReliefAlgorithms
(2)ReliefFAlgorithms
(3)mRMRAlgorithms最小冗余最大相关算法
(4)attributereductionAlgorithms
比较了几种分类算法性质。
(以下两个表格来自两篇该领域经典论文)
Lecture1IntroductiontoSupervisedLearning
(1)ExpectatinMaximization(EM)Algorithm(期望值最大)
算法思想:
EM算法又称期望最大化算法,是对参数极大似然估计的一种迭代优化策略,它是一种可以从非完整的数据集中对参数进行极大似然估计的算法,应用于缺损数据,截尾数据,带有噪声的非完整数据。
最大期望算法经过两个步骤交替进行计算:
第一步计算期望(E):
也就是将隐藏的变量对象能够观察到的一样包含在内,从而计算最大似然的期望值;
另外一步是最大化(M),也就是最大化在E步上找到的最大似然期望值,从而计算参数的似然估计。
M步上找到的参数然后用于另一个E步计算。
重复上面2步直至收敛。
优点:
1)M步仅涉及完全数据极大似然,通常计算比较简单
2)收敛是稳定的,因为每次迭代的似然函数是不断增加的。
缺点:
1)表现在对缺失数据较多或是多维高斯分布的情形下,计算量大,收敛速度较慢。
2)对于某些特殊的模型,要计算算法中的M步,即完成对似然函数的估计是比较困难的。
3)在某些情况下,要获得EM算法中E步的期望显式是非常困难的。
4)EM算法的收敛速度,非常依赖初始值的设置,设置不当,计算代价相当大。
5)EM算法中的M-Step依然是采用求导函数的方法,所以它找到的是极值点,即局
部最优解,而不一定是全局最优解。
改进:
针对1)改进:
扩大参数空间来加快收敛
针对2)改进:
ECM算法,该算法通过在M步构建计算比较简单的小循环对EM
算法进行了改进,从而使期望函数极大化更加容易和有效,从而解决这一问题。
针对3)改进:
MCEM算法,将E步积分求期望用蒙特卡洛模拟方法来实现,使
得E步求期望更容易实现。
针对4)初始值的获取可以通过k-means算法,层次聚类算法或是数据数据进行随
机分割,然后重复EM效果进行初始点选择。
针对5)结合遗传算法的全局搜索能力,扩大EM算法的搜索空间,有效降低EM
算法对初始值的依赖度,改善局部最优值的缺陷。
(2)LinearRegressionAlgorithm(线性回归)
算法思想:
线性回归(LinearRegression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
这种函数是一个或多个称为回归系数的模型参数的线性组合。
只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
回归模型:
其中
和C是未知参数,对于每个训练样本(
,
)可得到
,用来预测真实值
。
损失函数:
即误差值的平方。
1:
对于训练集,求取θ,使得损失函数最小。
(使用最小二乘法,梯度下降法)
2:
对于新输入x,其预测输出为θTx
优点:
结果易于理解,实现简单,计算简单
缺点:
1)对于非线性的数据拟合效果不好(原因:
因为线性回归将数据视为线性的,
可能出现欠拟合现象,导致结果不能取得最好的预测效果)
2)如果训练数据如果有些数据偏差特别大,这回造成最后训练的模型可能对整体数据都不具备很好的准确性
改进:
针对2)改进:
局部加权回归
(3)LocalWeightedRegression(局部加权回归)
算法思想:
给每个待预测点周围的点赋予一定的权重,越近的点权重越高,以此来选出该预测点对应的数据子集,然后在此数据子集上基于最小均方差进行普通的回归.局部加权回归实质上是对于需要预测的点,只是根据其附近的点进行训练,其他的没有改变。
对于局部线性加权算法:
1:
对于输入x,找到训练集中与x邻域的训练样本
2:
对于其邻域的训练样本,求取θ,使得其∈x的邻域)最小。
其中w(i)为权重值。
3.预测输出为θTx
4.对于新输入,重复1-3过程。
其中τ为带宽(bandwidth)常量,距离输入越远,权重越小,
反之越大。
优点:
1)局部加权回归还是对训练数据拟合的比较好
2)不太依赖特征的选择,而且只需要用线性模型就能够训练出不错的拟合模型、
缺点:
1)计算量较大。
(因为局部加权回归的损失数随着预测值的不同而不同,这样θ
就无法事先确定,每次预测时都需要扫描所有的数据并重新计算θ)
2)局部加权回归容易出现过拟合现象,过拟合现象很明显
3)关注局部的训练数据,忽略了全局数据,如果预测点在出现偏差的训练数据附
近,那么预测值会偏差很大。
改进:
(4)k-NearestNeighborAlgorithmforRegression(回归k近邻)
①算法思想:
通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。
更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比。
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
KNN算法不仅可以用于分类,还可以用于回归。
通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。
更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成反比。
②优点:
1)简单、有效。
2)重新训练的代价较低(类别体系的变化和训练集的变化,在Web环境和电子商务应用中是很常见的)。
3)计算时间和空间线性于训练集的规模(在一些场合不算太大)。
4)由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
5)该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
③缺点:
(1)KNN在对属性较多的训练样本进行分类时,由于计算量大而使其效率大大降低,效果不是很理想。
(2)当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
(3)对数据的局部结构比较敏感。
如果查询点是位于训练集较密集的区域,那预测相对比其他稀疏集来说更准确。
(4)对k值敏感。
(5)维数灾难:
临近距离可能被不相干属性主导(因此特征选择问题)
④改进:
(1)分类效率:
事先对样本属性进行约简,删除对分类结果影响较小的属性,快速的得出待分类样本的类别。
该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
(2)分类效果:
采用权值的方法(和该样本距离小的邻居权值大)来改进,Han等人于2002年尝试利用贪心法,针对文件分类实做可调整权重的k最近邻居法WAkNN(weightedadjustedknearestneighbor),以促进分类效果;而Li等人于2004年提出由于不同分类的文件本身有数量上有差异,因此也应该依照训练集合中各种分类的文件数量,选取不同数目的最近邻居,来参与分类。
(3)该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。
无论怎样,数量并不能影响运行结果。
可以采用权值的方法(和该样本距离小的邻居权值大)来改进。
(4)K值的选择会对算法的结果产生重大影响。
K值较小意味着只有与输入实例较近的训练实例才会对预测结果起作用,但容易发生过拟合;如果K值较大,优点是可以减少学习的估计误差,但缺点是学习的近似误差增大,这时与输入实例较远的训练实例也会对预测起作用,是预测发生错误。
在实际应用中,K值一般选择一个较小的数值,通常采用交叉验证的方法来选择最优的K值。
随着训练实例数目趋向于无穷和K=1时,误差率不会超过贝叶斯误差率的2倍,如果K也趋向于无穷,则误差率趋向于贝叶斯误差率。
(5)该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。
目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。
该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
(5)LinearClassifier(线性分类器)
①算法思想:
线性分类器使用线性判别函数,实现线性判别函数分类的方法有感知器算法、LMSE分类算法和Fisher分类。
在分类问题中,因变量Y可以看做是数据的label,属于分类变量。
所谓分类问题,就是能够在数据的自变量X空间内找到一些决策边界,把label不同的数据分开,如果某种方法所找出的这些决策边界在自变量X空间内是线性的,这时就说这种方法是一种线性分类器。
C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示。
中间的直线就是一个分类函数,它可以将两类样本完全分开。
线性分类器在数学上被理解为线性判别函数(LinearDiscriminantFunctions),在几何上可以理解为决策超平面(DecisionHyperplanes)。
②优点:
算法简单
③缺点:
只能处理线性问题
④改进:
要处理其他非线性问题,可以向高维转化,例如用SVM方法。
线性分类器是分类方法,不是具体算法。
(6)PerceptronAlgorithm(感知器算法)
①算法思想:
感知机(Perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。
感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。
②优点:
(1)感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。
算法简单且易于实现;
(2)它提出了自组织自学习的思想。
对能够解决的问题有一个收敛的算法,并从数学上给出了严格的证明。
(3)当样本线性可分情况下,学习率合适时,算法具有收敛性。
③缺点:
(1)即感知机无法找到一个线性模型对异或问题进行划分。
(2)其实不光感知机无法处理异或问题,所有的线性分类模型都无法处理异或分类问题。
(3)收敛速度慢;当样本线性不可分情况下,算法不收敛,且无法判断样本是否线性可分。
④改进:
单个感知器虽然无法解决异或问题,但却可以通过将多个感知器组合,实现复杂空间的分割。
(7)线性判别分析(LDA,LinearDiscriminantAnalysis)
①基础概念
(1)判别分析概念
根据已知对象的某些观测指标和所属类别来判断未知对象所属类别的统计方法。
利用已知类别的样本信息求判别函数,根据判别函数对未知样本所属类别进行判别。
(2)判别分析分类
按判别组数来分,有两组判别分析和多组判别分析
按数学模型(函数形式)来分,有线性判别分析和非线性判别分析
按判别方法来分,有Fisher判别分析、Bayes判别分析和距离判别(K-NN)
注:
线性判别分析就是一般化的Fisher判别分析
(3)Fisher判别分析与Bayes判别分析优缺点比较
Fisher判别方法对总体分布没有特殊要求,但是Fisher判别法未考虑各总体出现概率的大小,不能给出后验概率以及错判造成的损失。
Bayes判别法可以给出后验概率以及错判造成的损失。
但是要求即各种变量必须服从多元正态分布、各组协方差矩阵必须相等、各组变量均值均有显著性差异。
②LDA缺点
LDA有两个突出缺点:
(1)处理高维图像时容易产生“小样本问题”,即样本维数大大超过训练图像个数的问题;
(2)由此引发的边缘类主导特征空间分解的问题。
(3)LDA的其余缺点(限制):
LDA至多可生成C-1维子空间。
LDA不适合对非高斯分布的样本进行降维。
LDA在样本分类信息依赖方差而不是均值时,效果不好。
LDA可能过度拟合数据。
③针对“小样本问题”的改进方法
可以利用本文设计的改进PCA算法与LDA算法相结合来解决小样本问题,即将结合了基于标准差和局部均值的图像增强处理算法的PCA算法与LDA算法相结合。
具体的应用过程即为:
先采用改进的PCA算法对样本进行降维处理,以便确保样本的类内离散度矩阵为非奇异的,利用改进的PCA算法将原始样本图像往一个特征子空间中投影,从而使得样本的类内离散度矩阵是非奇异的。
再利用LDA算法在次特征子空间中求得最优变换。
LDA与PCA的比较
两者都是为了在对原始数据降维之后进行分类。
PCA(PrincipalComponentAnalysis,主成分分析)是无监督的方式,它没有分类标签,降维之后需要采用K-Means或自组织映射网络等无监督的算法进行分类。
LDA是有监督的方式,它先对训练数据进行降维,然后找出一个线性判别函数。
(8)k-NN(k-NearestNeighborforclassifier,分类最近邻估计)
①算法思想:
(1)k-NN介绍
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
KNN算法中,所选择的邻居都是已经正确分类的对象。
该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。
(2)k-NN概念
k-NN算法通常以“欧氏距离(EuclideanDistance)”为其分类模型,欧氏距离公式的定义如下:
设在n维空间中有两个点X=(x1,x2,…,xn)和Y=(y1,y2,…,yn),它们之间的欧氏距离定义为:
其中,n是维数,Xi和Yi分别是X和Y的第k个属性值。
②优点
(1)简单,易于理解,易于实现,无需估计参数,无需训练
(2)适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)
(3)特别适合于多分类问题(multi-modal,对象具有多个类别标签),例如根据基因特征来判断其功能分类,kNN比SVM的表现要好.
③缺点
(1)计算量大,由于要逐个计算到每条记录的欧氏距离,对于海量数据,该算法时间效率非常低。
它在对每一个查询实例(QueryInstance)进行分类时,都需要搜索整个训练集来寻找最近邻,所以它的运算开销巨大,时间代价高昂,这导致了它的运行速度非常低下。
(2)可解释性较差,无法给出决策树那样的规则。
(3)当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。
无论怎样,数量并不能影响运行结果。
(4)由于所有属性均等地参与计算,没有突出属性的重要程度,分类结果易受单个属性的影响;
④改进
缺点1:
目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。
该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
缺点4:
利用信息增益来衡量属性的重要程度(即属性权重系数),将属性划分为关键属性、次要属性及无关属性,解决属性均等用力的问题;
缺点3,可考虑从K值设定回答
1、k值设定为多大?
k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。
(对距离加权,可以降低k值设定的影响)
k值通常是采用交叉检验来确定(以k=1为基准)
经验规则:
k一般低于训练样本数的平方根
补充去年相关习题:
请阐述kNN近邻分类算法的基本思想,并分析它的主要优缺点。
关于k的取值,你有什么合理的建议(至少1条)。
优点
(1)简单,易于理解,易于实现,无需估计参数,无需训练
(2)适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)
(3)特别适合于多分类问题,例如根据基因特征来判断其功能分类,kNN比SVM的表现要好
缺点
(1)懒惰算法,对测试样本分类时的计算量大,内存开销大,评分慢
(2)当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数;
(3)可解释性较差,无法给出决策树那样的规则。
k值设定
k值选择过小,得到的近邻数过少,会降低分类精度,同时也会放大噪声数据的干扰;而如果k值选择过大,并且待分类样本属于训练集中包含数据数较少的类,那么在选择k个近邻的时候,实际上并不相似的数据亦被包含进来,造成噪声增加而导致分类效果的降低。
k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。
(对距离加权,可以降低k值设定的影响)
K值设定的建议
k值通常是采用交叉检验来确定(以k=1为基准)
k一般低于训练样本数的平方根
(9)贝叶斯决策方法(BayesianDecisionMethod)
①贝叶斯决策概念
贝叶斯决策(BayesianDecisionTheory)就是在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。
贝叶斯决策属于风险型决策,决策者虽不能控制客观因素的变化,但却掌握其变化的可能状况及各状况的分布概率,并利用期望值即未来可能出现的平均状况作为决策准则。
贝叶斯决策理论方法是统计模型决策中的一个基本方法,其基本思想是:
已知类条件概率密度参数表达式和先验概率。
利用贝叶斯公式转换成后验概率。
根据后验概率大小进行决策分类。
②贝叶斯决策方法优缺点
优点:
贝叶斯决策能对信息的价值或是否需要采集新的信息做出科学的判断
它能对调查结果的可能性加以数量化的评价,而不是像一般的决策方法那样,对调查结果或者是完全相信,或者是完全不相信
如果说任何调查结果都不可能完全准确,先验知识或主观概率也不是完全可以相信的,那么贝叶斯决策则巧妙地将这两种信息有机地结合起来了
它可以在决策过程中根据具体情况下不断地使用,使决策逐步完善和更加科学
缺点:
它需要的数据多,分析计算比较复杂,特别在解决复杂问题时,这个矛盾就更为突出
有些数据必须使用主观概率,有些人不太相信,这也妨碍了贝叶斯决策方法的推广使用
③贝叶斯决策改进方法
将决策问题转化成收益矩阵,通过对收益矩阵的分析,得出各行动方案的期望值,按照一定的准则选出最优方案。
以各状况下最大收益值或效用值为基础,求出MaxE(x),以此作为完全确定情况下的收益值,用该值减去最优方案的期望值得出完全信息价值(EVPⅠ),根据完全信息期望值判断是否需要补充信息量。
在第2步得到肯定回答后,首先在预先后验分析中从理论上把各种可能的抽样方案及结果列举出来,计算各种抽样方案的抽样信息期望值EVSI=EVPI-R(n),其中R(n)为抽样风险,其大小是样本大小的函数。
以EVSI-C(其中C为抽样成本)作为标准选取最大值对应的抽样方案为最优抽样方案。
按照理论上得出的最优抽样方案进行抽样,然后,根据贝叶斯理论公式推导出后验概率分布的数字描述,最后,以此为依据按照贝叶斯决策准则选出最优方案。
补充朴素贝叶斯
朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。
同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。
理论上,NBC模型与其他分类方法相比具有最小的误差率。
但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。
在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。
而在属性相关性较小时,NBC模型的性能最为良好。
补充朴素贝叶斯优点:
1)朴素贝叶斯算法是基于贝叶斯理论,逻辑清楚明了
2)本算法进行分类是,时间快,在内存上需要的也不大
3)本算法鲁棒性高,即使数据包含的噪声点,无关属性和缺失值的属
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 学习 算法 优缺点 改进 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)