收藏 分销(赏)

机器学习算法优缺点改进总结.doc

上传人:精**** 文档编号:2604910 上传时间:2024-06-03 格式:DOC 页数:40 大小:4.37MB
下载 相关 举报
机器学习算法优缺点改进总结.doc_第1页
第1页 / 共40页
机器学习算法优缺点改进总结.doc_第2页
第2页 / 共40页
机器学习算法优缺点改进总结.doc_第3页
第3页 / 共40页
机器学习算法优缺点改进总结.doc_第4页
第4页 / 共40页
机器学习算法优缺点改进总结.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、Lecture 1 Introduction to Supervised Learning(1)Expectatin Maximization(EM) Algorithm (期望值最大)(2)Linear Regression Algorithm(线性回归)(3)Local Weighted Regression(局部加权回归)(4)k-Nearest Neighbor Algorithm for Regression(回归k近邻)(5)Linear Classifier(线性分类)(6)Perceptron Algorithm (线性分类)(7)Fisher Discriminant Ana

2、lysis or Linear Discriminant Analysis(LDA)(8)k-NN Algorithm for Classifier(分类k近邻)(9)Bayesian Decision Method(贝叶斯决策方法)Lecture 2 Feed-forward Neural Networks and BP Algorithm(1)Multilayer Perceptron(多层感知器)(2)BP AlgorithmLecture 3 Rudiments of Support Vector Machine(1)Support Vector Machine(支持向量机) (此算法

3、是重点,必考题)此处有一道必考题Lecture 4 Introduction to Decision Rule Mining(1)Decision Tree Algorithm(2)ID3 Algorithm(3)C4.5 Algorithm(4)粗糙集Lecture 5 Classifier Assessment and Ensemble Methods(1) Bagging(2) Booting(3) AdaboostingLecture 6 Introduction to Association Rule Mining(1)Apriori Algorithms(2)FP-tree Alg

4、orithmsLecture 7 Introduction to Custering Analysis(1)k-means Algorithms(2)fuzzy c-means Algorithms(3)k-mode Algorithms(4)DBSCAN AlgorithmsLecture 8 Basics of Feature Selection(1)Relief Algorithms(2)ReliefF Algorithms (3)mRMR Algorithms最小冗余最大相关算法(4)attribute reduction Algorithms比较了几种分类算法性质。(以下两个表格来自

5、两篇该领域经典论文)Lecture 1 Introduction to Supervised Learning(1)Expectatin Maximization(EM) Algorithm (期望值最大)算法思想: EM算法又称期望最大化算法,是对参数极大似然估计的一种迭代优化策略,它是一种可以从非完整的数据集中对参数进行极大似然估计的算法,应用于缺损数据,截尾数据,带有噪声的非完整数据。最大期望算法经过两个步骤交替进行计算:第一步计算期望(E):也就是将隐藏的变量对象能够观察到的一样包含在内,从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在E步上找到的最大似然期望值,从而计

6、算参数的似然估计。M步上找到的参数然后用于另一个E步计算。重复上面2步直至收敛。优点:1)步仅涉及完全数据极大似然,通常计算比较简单2)收敛是稳定的,因为每次迭代的似然函数是不断增加的。缺点:1)表现在对缺失数据较多或是多维高斯分布的情形下,计算量大,收敛速度较慢。2)对于某些特殊的模型,要计算算法中的M步,即完成对似然函数的估计是比较困难的。 3)在某些情况下,要获得EM算法中E步的期望显式是非常困难的。 4)EM算法的收敛速度,非常依赖初始值的设置,设置不当,计算代价相当大。 5)EM算法中的M-Step依然是采用求导函数的方法,所以它找到的是极值点,即局 部最优解,而不一定是全局最优解。

7、改进:针对1)改进:扩大参数空间来加快收敛 针对2)改进:ECM算法,该算法通过在步构建计算比较简单的小循环对EM 算法进行了改进,从而使期望函数极大化更加容易和有效,从而解决这一问题。 针对3)改进:MCEM算法,将E步积分求期望用蒙特卡洛模拟方法来实现,使 得E步求期望更容易实现。 针对4)初始值的获取可以通过k-means算法,层次聚类算法或是数据数据进行随 机分割,然后重复EM效果进行初始点选择。 针对5)结合遗传算法的全局搜索能力,扩大EM算法的搜索空间,有效降低EM 算法对初始值的依赖度,改善局部最优值的缺陷。(2)Linear Regression Algorithm(线性回归)

8、算法思想:线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。 回归模型: 其中 和C是未知参数,对于每个训练样本(,)可得到,用来预测真实值。损失函数: 即误差值的平方。1:对于训练集,求取,使得损失函数最小。(使用最小二乘法,梯度下降法)2:对于新输入x,其预测输出为Tx优点:结果易于理解,实现简单,计算简单 缺点:1)对于非线性的数据拟合效果不好(原因:因为线性回归将数据视为线性的

9、, 可能出现欠拟合现象,导致结果不能取得最好的预测效果) 2)如果训练数据如果有些数据偏差特别大,这回造成最后训练的模型可能对整体 数据都不具备很好的准确性 改进:针对2)改进 :局部加权回归(3)Local Weighted Regression(局部加权回归)算法思想:给每个待预测点周围的点赋予一定的权重,越近的点权重越高,以此来选出该预测点对应的数据子集,然后在此数据子集上基于最小均方差进行普通的回归.局部加权回归实质上是对于需要预测的点,只是根据其附近的点进行训练,其他的没有改变。 对于局部线性加权算法: 1:对于输入x,找到训练集中与x邻域的训练样本 2:对于其邻域的训练样本,求取,

10、使得其x的邻域 )最小。其中w(i)为权重值。 3.预测输出为Tx 4.对于新输入,重复1-3过程。 其中 为带宽(bandwidth)常量,距离输入越远,权重越小, 反之越大。优点:1)局部加权回归还是对训练数据拟合的比较好 2)不太依赖特征的选择,而且只需要用线性模型就能够训练出不错的拟合模型、缺点:1)计算量较大。(因为局部加权回归的损失数随着预测值的不同而不同,这样 就无法事先确定,每次预测时都需要扫描所有的数据并重新计算)2)局部加权回归容易出现过拟合现象,过拟合现象很明显3)关注局部的训练数据,忽略了全局数据,如果预测点在出现偏差的训练数据附 近,那么预测值会偏差很大。改进:(4)

11、k-Nearest Neighbor Algorithm for Regression(回归k近邻)算法思想:通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比。如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响

12、给予不同的权值(weight),如权值与距离成反比。优点: 1)简单、有效。2)重新训练的代价较低(类别体系的变化和训练集的变化,在Web环境和电子商务应用中是很常见的)。3)计算时间和空间线性于训练集的规模(在一些场合不算太大)。4)由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。5)该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。缺点:(1)KNN在对属性较多的训练样本进行分类时,由于计算量大而使其效率大大降低,效果不是很理想。

13、(2)当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。(3)对数据的局部结构比较敏感。如果查询点是位于训练集较密集的区域,那预测相对比其他稀疏集来说更准确。(4)对k值敏感。(5)维数灾难:临近距离可能被不相干属性主导(因此特征选择问题)改进:(1)分类效率:事先对样本属性进行约简,删除对分类结果影响较小的属性,快速的得出待分类样本的类别。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。(2)分类效果:采用权值的方法(和该样本距离小的邻居权值大)来改进,H

14、an等人于2002年尝试利用贪心法,针对文件分类实做可调整权重的k最近邻居法WAkNN (weighted adjusted k nearest neighbor),以促进分类效果;而Li等人于2004年提出由于不同分类的文件本身有数量上有差异,因此也应该依照训练集合中各种分类的文件数量,选取不同数目的最近邻居,来参与分类。(3)该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本

15、很靠近目标样本。无论怎样,数量并不能影响运行结果。可以采用权值的方法(和该样本距离小的邻居权值大)来改进。(4)K 值的选择会对算法的结果产生重大影响。K值较小意味着只有与输入实例较近的训练实例才会对预测结果起作用,但容易发生过拟合;如果 K 值较大,优点是可以减少学习的估计误差,但缺点是学习的近似误差增大,这时与输入实例较远的训练实例也会对预测起作用,是预测发生错误。在实际应用中,K 值一般选择一个较小的数值,通常采用交叉验证的方法来选择最优的 K 值。随着训练实例数目趋向于无穷和 K=1 时,误差率不会超过贝叶斯误差率的2倍,如果K也趋向于无穷,则误差率趋向于贝叶斯误差率。(5)该方法的另

16、一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。(5)Linear Classifier(线性分类器)算法思想:线性分类器使用线性判别函数,实现线性判别函数分类的方法有感知器算法、LMSE分类算法和Fisher分类。在分类问题中,因变量Y可以看做是数据的label,属于分类变量。所谓分类问题,就是能够在数据的自变量X空间内找到一些决策边界,把label不同的数

17、据分开,如果某种方法所找出的这些决策边界在自变量X空间内是线性的,这时就说这种方法是一种线性分类器。C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数,它可以将两类样本完全分开。线性分类器在数学上被理解为线性判别函数(Linear Discriminant Functions),在几何上可以理解为决策超平面(Decision Hyperplanes)。优点:算法简单缺点:只能处理线性问题改进:要处理其他非线性问题,可以向高维转化,例如用SVM方法。线性分类器是分类方法,不是具体算法。(6)Perceptron Algorithm (感知器算法)算法思想:

18、感知机(Perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。优点:(1)感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现;(2)它提出了自组织自学习的思想。对能够解决的问题有一个收敛的算法,并从数学上给出了严格的证明。(3)当样本线性可分情况下,学习率 合适时,算法具有收敛性。缺点:(1)即感知机无法找到一个线性模型对异或问题进行划分。(2)其实不光感知机无法处理异或问题,所有的线性分类模型都无法处理异或分

19、类问题。(3)收敛速度慢;当样本线性不可分情况下,算法不收敛,且无法判断样本是否线性可分。改进:单个感知器虽然无法解决异或问题,但却可以通过将多个感知器组合,实现复杂空间的分割。(7)线性判别分析(LDA,Linear Discriminant Analysis)基础概念(1)判别分析概念根据已知对象的某些观测指标和所属类别来判断未知对象所属类别的统计方法。利用已知类别的样本信息求判别函数,根据判别函数对未知样本所属类别进行判别。(2)判别分析分类按判别组数来分,有两组判别分析和多组判别分析按数学模型(函数形式)来分,有线性判别分析和非线性判别分析按判别方法来分,有Fisher判别分析、Bay

20、es判别分析和距离判别(K-NN)注:线性判别分析就是一般化的Fisher判别分析(3)Fisher判别分析与Bayes判别分析优缺点比较Fisher判别方法对总体分布没有特殊要求,但是Fisher判别法未考虑各总体出现概率的大小,不能给出后验概率以及错判造成的损失。Bayes判别法可以给出后验概率以及错判造成的损失。但是要求即各种变量必须服从多元正态分布、各组协方差矩阵必须相等、各组变量均值均有显著性差异。LDA缺点LDA有两个突出缺点:(1)处理高维图像时容易产生“小样本问题”, 即样本维数大大超过训练图像个数的问题;(2)由此引发的边缘类主导特征空间分解的问题。(3)LDA的其余缺点(限

21、制):LDA至多可生成C-1维子空间。LDA不适合对非高斯分布的样本进行降维。LDA在样本分类信息依赖方差而不是均值时,效果不好。LDA可能过度拟合数据。针对“小样本问题”的改进方法可以利用本文设计的改进PCA 算法与LDA 算法相结合来解决小样本问题,即将结合了基于标准差和局部均值的图像增强处理算法的PCA 算法与LDA 算法相结合。具体的应用过程即为: 先采用改进的PCA 算法对样本进行降维处理,以便确保样本的类内离散度矩阵为非奇异的,利用改进的PCA 算法将原始样本图像往一个特征子空间中投影,从而使得样本的类内离散度矩阵是非奇异的。再利用LDA 算法在次特征子空间中求得最优变换。LDA与

22、PCA的比较两者都是为了在对原始数据降维之后进行分类。PCA(Principal Component Analysis,主成分分析)是无监督的方式,它没有分类标签,降维之后需要采用K-Means或自组织映射网络等无监督的算法进行分类。LDA是有监督的方式,它先对训练数据进行降维,然后找出一个线性判别函数。(8)k-NN(k-Nearest Neighbor for classifier,分类最近邻估计)算法思想:(1)k-NN介绍如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该

23、方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。(2)k-NN概念k-NN算法通常以“欧氏距离(Euclidean Distance)”为其分类模型, 欧氏距离公式的定义如下:设在n 维空间中有两个点X =(x1,x2,xn)和Y =(y1,y2,yn), 它们之间的欧氏距离定义为:其中, n是维数, Xi和Yi分别是X和Y的第k个属性值。优点(1)简单,易于理解,易于实现,无需估计参数,无需训练(2)适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)

24、(3)特别适合于多分类问题(multi-modal,对象具有多个类别标签),例如根据基因特征来判断其功能分类,kNN比SVM的表现要好.缺点(1)计算量大,由于要逐个计算到每条记录的欧氏距离, 对于海量数据, 该算法时间效率非常低。它在对每一个查询实例(Query Instance)进行分类时, 都需要搜索整个训练集来寻找最近邻, 所以它的运算开销巨大, 时间代价高昂, 这导致了它的运行速度非常低下。(2)可解释性较差,无法给出决策树那样的规则。(3) 当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法

25、只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。(4) 由于所有属性均等地参与计算, 没有突出属性的重要程度, 分类结果易受单个属性的影响; 改进缺点1:目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。缺点4:利用信息增益来衡量属性的重要程度(即属性权重系数) ,将属性划分为关键属性、次要属性及无关属性, 解决属性均等用力的问题;缺点3,可考虑从K值设定回答1、 k值设定

26、为多大?k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。(对距离加权,可以降低k值设定的影响)k值通常是采用交叉检验来确定(以k=1为基准)经验规则:k一般低于训练样本数的平方根补充去年相关习题:请阐述 kNN 近邻分类算法的基本思想,并分析它的主要优缺点。关于 k 的取值, 你有什么合理的建议(至少 1 条)。优点(1)简单,易于理解,易于实现,无需估计参数,无需训练(2)适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)(3)特别适合于多分类问题,例如根据基因特征来判断其功能分类,kNN比SVM的表现要好缺点(1)懒惰算法,对测试样

27、本分类时的计算量大,内存开销大,评分慢(2)当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有 可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数;(3)可解释性较差,无法给出决策树那样的规则。k值设定k值选择过小,得到的近邻数过少,会降低分类精度,同时也会放大噪声数据的干扰;而如果k值选择过大,并且待分类样本属于训练集中包含数据数较少的类,那么在选择k个近邻的时候,实际上并不相似的数据亦被包含进来,造成噪声增加而导致分类效果的降低。k太小,分类结果易受噪声点影响;k太大,近邻中又可能包含太多的其它类别的点。(对距离加权,可以降低k值设定的影响)K值设定的建议k

28、值通常是采用交叉检验来确定(以k=1为基准)k一般低于训练样本数的平方根(9)贝叶斯决策方法(Bayesian Decision Method)贝叶斯决策概念贝叶斯决策(Bayesian Decision Theory)就是在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。贝叶斯决策属于风险型决策,决策者虽不能控制客观因素的变化,但却掌握其变化的可能状况及各状况的分布概率,并利用期望值即未来可能出现的平均状况作为决策准则。贝叶斯决策理论方法是统计模型决策中的一个基本方法,其基本思想是:已知类条件概率密度参数表达式和先验概

29、率。利用贝叶斯公式转换成后验概率。根据后验概率大小进行决策分类。贝叶斯决策方法优缺点优点:贝叶斯决策能对信息的价值或是否需要采集新的信息做出科学的判断它能对调查结果的可能性加以数量化的评价,而不是像一般的决策方法那样,对调查结果或者是完全相信,或者是完全不相信如果说任何调查结果都不可能完全准确,先验知识或主观概率也不是完全可以相信的,那么贝叶斯决策则巧妙地将这两种信息有机地结合起来了它可以在决策过程中根据具体情况下不断地使用,使决策逐步完善和更加科学缺点:它需要的数据多,分析计算比较复杂,特别在解决复杂问题时,这个矛盾就更为突出有些数据必须使用主观概率,有些人不太相信,这也妨碍了贝叶斯决策方法

30、的推广使用贝叶斯决策改进方法将决策问题转化成收益矩阵,通过对收益矩阵的分析,得出各行动方案的期望值,按照一定的准则选出最优方案。以各状况下最大收益值或效用值为基础,求出MaxE(x),以此作为完全确定情况下的收益值,用该值减去最优方案的期望值得出完全信息价值(EVP),根据完全信息期望值判断是否需要补充信息量。在第2步得到肯定回答后,首先在预先后验分析中从理论上把各种可能的抽样方案及结果列举出来,计算各种抽样方案的抽样信息期望值EVSI=EVPI-R(n),其中R(n)为抽样风险,其大小是样本大小的函数。以EVSI-C(其中C为抽样成本)作为标准选取最大值对应的抽样方案为最优抽样方案。按照理论

31、上得出的最优抽样方案进行抽样,然后,根据贝叶斯理论公式推导出后验概率分布的数字描述,最后,以此为依据按照贝叶斯决策准则选出最优方案。补充朴素贝叶斯 朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。 同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模

32、型的性能最为良好。 补充朴素贝叶斯优点: 1)朴素贝叶斯算法是基于贝叶斯理论,逻辑清楚明了 2)本算法进行分类是,时间快,在内存上需要的也不大 3)本算法鲁棒性高,即使数据包含的噪声点,无关属性和缺失值的属性,分类性能不好又 太大的变化,健壮性好 补充朴素贝叶斯算法缺点: 1)朴素贝叶斯算法要求样本各属性直接是独立的,而真实的数据符合这个条件很少。 2)当样本数据少时,分类器可能会无法正确分类Lecture 2 Feed-forward Neural Networks and BP Algorithm(1)Multilayer Perceptron(多层感知器)算法思想多层感知器(Multil

33、ayer Perceptron,缩写MLP)是一种前向结构的人工神经网络。MLP算法一般包括三层,分别是一个输入层,一个输出层和一个或多个隐藏层的神经网络组成。一个“神经元”的输出就可以是另一个“神经元”的输入。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个神经元都有几个输入和输出神经元,每个神经元通过输入权重加上偏置计算输出值,并选择一种激活函数进行转换。一种被称为反向传播算法(BP)的监督学习方法常被用来训练MLP。MLP是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。激活函数若每个神经元的激活函数都是线性函数,那么,任意层数

34、的MLP都可被约简成一个等价的单层感知器。实际上,MLP本身可以使用任何形式的激活函数,但为了使用反向传播算法进行有效学习,激活函数必须限制为可微函数。由于具有良好可微性,很多乙形函数,尤其是双曲正切函数(Hyperbolic tangent)及逻辑乙形函数(logistic sigmoid function),被采用为激活函数。激活函数常见的有三种,分别是恒等函数,Sigmoid函数和高斯函数。优点:(1)高度的并行性人工神经网络是由许多相同的简单处理单元并联组合而成,虽然每个单元的功能简单,但大量简单单元的并行活动,使其对信息的处理能力与效果惊人。(2)高度的非线性全局作用神经网络系统是由

35、大量简单神经元构成的,每个神经元接受大量其他神经元的输入,通过非线性输入、输出关系,产生输出影响其它神经元。网络就是这样互相制约相互影响,实现从输入状态空间到输出状态空间非线性映射的。网络的演化遵从全局性作用原则,从输入状态演化到终态而输出。从全局观点来看,网络整体性能不是网络局部性能的简单迭加,而表现某种集体性行为;而电脑遵从串行式局域性操作原则,每一步计算与上一步计算紧密相关,并对下一步产生影响,问题是通过算法逐步进行处理的。(3)良好的容错性与联想记忆功能人工神经网络通过自身的网络结构能够实现对信息的记忆,而所记忆的信息是存储在神经元之间的权值中。从单个权值中看不出所储存的信息内容,因而

36、是分布式的存储方式。这使得网络具有良好的容错性,并能进行聚类分析、特征提取、缺损模式复原等模式信息处理工作。(4)十分强的自适应、自学习功能人工神经网络可以通过训练和学习来获得网络的权值与结构,呈现出很强的自学习能力和对环境的自适应能力。缺点(1)网络的隐含节点个数选取问题至今仍是一个世界难题;(2)停止阈值、学习率、动量常数需要采用”trial-and-error”法,极其耗时(动手实验);(3)学习速度慢;(4)容易陷入局部极值,学习不够充分。改进(1)改进BP算法(见bp)(2)权值初始化在初始化权值的时候,我们一般需要它们在0附近,要足够小(在激活函数的近似线性区域可以获得最大的梯度)

37、。另一个特性,尤其对深度网络而言,是可以减小层与层之间的激活函数的方差和反向传导梯度的方差。这就可以让信息更好的向下和向上的传导,减少层间差异。(3)学习率随着时间的推移减小学习速率有时候也是一个好主意。一个简单的方法是使用这个公式:u/(1+d*t),u是初始速率(可以使用上面讲的网格搜索选择),d是减小常量,用以控制学习速率,可以设为0.001或者更小,t是迭代次数或者时间。可以基于分类错误率自适应的选择学习率。(4)隐藏节点数这个参数是非常基于数据集的。模糊的来说就是,输入分布越复杂,去模拟它的网络就需要更大的容量,那么隐藏单元的数目就要更大。(5)正则化参数典型的方法是使用L1/L2正

38、则化。L2正则化就是在代价函数后面再加上一个正则化项:C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。就是正则项系数,权衡正则项与C0项的比重。另外还有一个系数1/2,1/2经常会看到,主要是为了后面求导的结果方便,后面那一项求导会产生一个2,与1/2相乘刚好凑整。过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。而正则化是通过约束参数的范数使其不要太大,所以可

39、以在一定程度上减少过拟合情况。L1正则化项就是在原始的代价函数后面加上一个正则化项,即所有权重w的绝对值的和,乘以/n(这里不像L2正则化项那样):比原始的更新规则多出了 * * sgn(w)/n这一项。当w为正时,更新后的w变小。当w为负时,更新后的w变大因此它的效果就是让w往0靠,使网络中的权重尽可能为0,也就相当于减小了网络复杂度,防止过拟合。(2)BP Algorithm算法思想BP算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络

40、的权值和偏差。优点:(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;(2)网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;(3)网络具有一定的推广、概括能力。缺点主要包括以下几个方面的问题。(1)由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的。(2)BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值(3)网络隐

41、含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。(4)网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的权值保存。(5)网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力差时,预测能力也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”

42、现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。(6)网络训练失败的可能性较大,其原因有:a 从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;b 网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。改进1.变步长法BP算法的有效性和收敛性在很大程度上取决于学习步长的值。采用一般的固定长梯度下降法求解时,起码可能导致两个主要问题:局部极小解;收敛速度慢。所以,一般要求是,当训练到误差曲面的平坦区时,梯度较小,为加快收敛应使增大;当训练到深

43、而窄的误差曲面时,应使减小,以免因步长过大而出现振荡现象。为加快收敛,应使合理化,可采用变步长算法。变步长算法的基本思想是,先设一个初始步长,若一次迭代后误差增大,则将步长乘以(1),计算下一个迭代点,以缩短学习时间。2.加动量项法为了加速BP算法的收敛,可考虑在权值调整算式中加入动量项,即式中,为动量因子,一般取0.10.8。这时权值修正量加上了有关上一时刻权值修改方向的记忆,加速了网络的收敛。加动量项法的具体原理:若相邻两次迭代点处的梯度方向是一致的,引入动量项可使权值的调整量增大,从而加速收敛;若相邻两次迭代点处的梯度方向相反,引入动量项可使权值的调整量减小,避免了来回振荡,加快了收敛。

44、3.串连法BP算法的收敛速度主要取决于输入-输出模式间非线性映射的复杂程度。显然,这种非线性映射关系越复杂,收敛时间越长。因此,对那些高度复杂的非线性问题,用两个串连的BP网络代替一个BP网络,能够有效地缩短训练时间。4.利用遗传算法优化BP算法BP算法的优点是寻优具有精确性,但它易陷入局部极小、收敛速度慢,而遗传算法(GeneticAlgorithm,GA)是基于自然选择和遗传规律的全局优化搜索算法,具有很强的宏观搜索能力和寻优全局性。因此,在BP神经网络理论中引入遗传算法的思想,则可以很好地达到全局寻优和快速高效的目的。Lecture 3 Rudiments of Support Vect

45、or Machine(1)Support Vector Machine(支持向量机) (此算法是重点,必考题)算法思想 SVM的主要思想是针对两类分类问题,寻找一个超平面作为两类训练样本点的分割,以保证最小的分类错误率。在线性可分的情况下,存在一个或多个超平面使得训练样本完全分开,SVM的目标是找到其中的最优超平面,最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面,对于线性不可分的情况,通过使用核函数(一种非线性映射算法)将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分。优点(1)小样本,并不是说样本的绝对数量少(实际上,对任何算法来说,更多的样本

46、几乎总是能带来更好的效果),而是说与问题的复杂度比起来,SVM算法要求的样本数是相对比较少的。(2)非线性,是指SVM擅长应付样本数据线性不可分的情况,主要通过松弛变量(也有人叫惩罚变量)和核函数技术来实现,(3)高维模式识别是指样本维数很高,例如文本的向量表示,如果没有经过降维处理,出现几万维的情况很正常,其他算法基本就没有能力应付了,SVM却可以,主要是因为SVM 产生的分类器很简洁,用到的样本信息很少(仅仅用到那些称之为“支持向量”的样本,此为后话),使得即使样本维数很高,也不会给存储和计算带来大麻烦(相对照而言,kNN算法在分类时就要用到所有样本,样本数巨大,每个样本维数再一高,这日子就没法过了)。缺点(1)SVM算法对大规模训练样本难以实施 由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。(2)用SVM解决多分类问题存在困难 改进:经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服