《独立于算法的机器学习课件》由会员分享,可在线阅读,更多相关《独立于算法的机器学习课件(20页珍藏版)》请在金锄头文库上搜索。
1、模式识别 独立于算法的机器学习第十一章第十一章 独立于算法的机器学习独立于算法的机器学习独立于算法的机器学习模式识别 独立于算法的机器学习11.1 模式识别中的哲学模式识别中的哲学o这里讨论的是一些独立于具体识别算法的一这里讨论的是一些独立于具体识别算法的一般性原理,但可以适用于任何一个特定的识般性原理,但可以适用于任何一个特定的识别方法:别方法:1.没有免费午餐定理没有免费午餐定理;2.丑小鸭定理丑小鸭定理;3.Occam剃刀原理剃刀原理。模式识别 独立于算法的机器学习没有免费的午餐定理没有免费的午餐定理(NFL, No Free Lunch Theorem)o不存在一个与具体应用无关的,普
2、遍适用的不存在一个与具体应用无关的,普遍适用的“最优分类器最优分类器”;o学习算法必须要作出一个与问题领域有关的学习算法必须要作出一个与问题领域有关的“假设假设”,分类器必须与问题域相适应。,分类器必须与问题域相适应。模式识别 独立于算法的机器学习丑小鸭定理(丑小鸭定理(Ugly Duckling)o不存在与问题无关的不存在与问题无关的“最优最优”的特征集合或的特征集合或属性集合;属性集合;o也同样不存在与问题无关的模式之间的也同样不存在与问题无关的模式之间的“相相似性度量似性度量”。模式识别 独立于算法的机器学习Occam剃刀原理剃刀原理o设计者不应该选用比设计者不应该选用比“必要必要”更加
3、复杂的分类器,更加复杂的分类器,“必要必要”是由训练数据的拟合情况决定的;是由训练数据的拟合情况决定的;o在对训练数据分类效果相同时,在对训练数据分类效果相同时,“简单的简单的”分类器分类器往往优于往往优于“复杂的复杂的”分类器;分类器;o根据根据“没有免费午餐定理没有免费午餐定理”,不能说,不能说“简单的简单的”分分类器对类器对“复杂的复杂的”分类器具有天生的优越性,但在分类器具有天生的优越性,但在现实世界中遇到的各种问题,这种优越性往往是存现实世界中遇到的各种问题,这种优越性往往是存在。在。模式识别 独立于算法的机器学习11.2 分类设计的重采样技术分类设计的重采样技术 o分类器设计的重采
4、样技术也被称为分类器设计的重采样技术也被称为“自适应的自适应的权值重置和组合(权值重置和组合(arcing, adaptive reweighting and combining););o这类方法的主要思想是利用同一个训练样本集这类方法的主要思想是利用同一个训练样本集合构造多个分类器,然后以某种方式将这些分合构造多个分类器,然后以某种方式将这些分类器组合成一个分类器;类器组合成一个分类器;o主要方法包括:主要方法包括:bagging算法算法和和boosting算法算法模式识别 独立于算法的机器学习bagging算法算法1.从大小为从大小为n的原始数据集的原始数据集D中独立随机地抽取中独立随机地
5、抽取n个数据个数据(nn),形成一个自助数据集;,形成一个自助数据集;2.重复上述过程,产生出多个独立的自助数据集;重复上述过程,产生出多个独立的自助数据集;3.利用每个自助数据集训练出一个利用每个自助数据集训练出一个“分量分类器分量分类器”;4.最终的分类结果由这些最终的分类结果由这些“分量分类器分量分类器”各自的各自的判别结果投票决定。判别结果投票决定。模式识别 独立于算法的机器学习boosting算法算法oboosting算法同样是利用训练样本集合构造多算法同样是利用训练样本集合构造多个分量分类器,它只要求这个分量分类器是一个分量分类器,它只要求这个分量分类器是一个弱分类器个弱分类器准确
6、率比平均性能好即可。准确率比平均性能好即可。o2类问题,类问题,3个分量分类器的训练算法:个分量分类器的训练算法:1.在数量为在数量为n的原始样本集的原始样本集D中随机选取中随机选取n1个样本构成个样本构成D1,利用,利用D1训练出一个分类器训练出一个分类器C1;2.在样本集在样本集D-D1中选择被中选择被C1正确分类和错误分类的样正确分类和错误分类的样本各一半组成样本集本各一半组成样本集D2,用,用D2训练出一个分类器训练出一个分类器C2;3.将样本集将样本集D-D1-D2中所有中所有C1和和C2分类结果不同的样分类结果不同的样本组成样本集本组成样本集D3,训练出一个分类器,训练出一个分类器
7、C3;模式识别 独立于算法的机器学习boosting的分类算法的分类算法o对新的样本对新的样本x进行分类,如果进行分类,如果C1和和C2判别结果相同,则判别结果相同,则将将x判别为此类别,否则以判别为此类别,否则以C3的结果作为的结果作为x的类别;的类别;原始样本集原始样本集分分量量分分类类器器组组合合分分类类器器模式识别 独立于算法的机器学习AdaBoost方法方法oAdaBoost(adaptive boosting)是是boosting方法的方法的一个重要变形,一般所说的一个重要变形,一般所说的boosting方法均是指方法均是指AdaBoost;oAdaBoost方法中,设计者可以不断
8、地增加分量方法中,设计者可以不断地增加分量分类器,直到达到足够小的错误率为止;分类器,直到达到足够小的错误率为止;o总体分类结果是由各分量分类器加权平均得到,总体分类结果是由各分量分类器加权平均得到,权重由分量分类器的错误率确定。权重由分量分类器的错误率确定。模式识别 独立于算法的机器学习AdaBoost方法方法1.begin initialize D, kmax, W1(i)1/n, i=1,n;2. k0;3. do kk+14. 训练使用按照训练使用按照Wk(i)采样采样D的弱分类器的弱分类器Ck;5. Ek用用Wk(i)采样采样D的样本集测量的样本集测量Ck的训练误差;的训练误差;6.
9、 7. 8. until k=kmax;9. end模式识别 独立于算法的机器学习AdaBoost方法方法o算法中算法中Wk(i)为每一步迭代中对每个样本的加为每一步迭代中对每个样本的加权,权,Zk是归一化因子,是归一化因子,Ck为第为第k个分量分类器,个分量分类器,k为对为对Ck的加权;的加权;o总体的判别函数由各分量分类器的加权平均得总体的判别函数由各分量分类器的加权平均得到:到:其中其中 为为Ck分类器给出的判别结果。分类器给出的判别结果。模式识别 独立于算法的机器学习AdaBoost方法的推广能力方法的推广能力oAdaBoost方法实际上是增加了分类器的复杂程度,但方法实际上是增加了分
10、类器的复杂程度,但实践表明此方法出现实践表明此方法出现“过拟合过拟合”的现象极少,这是此方的现象极少,这是此方法最吸引人的地方。法最吸引人的地方。模式识别 独立于算法的机器学习针对特征的针对特征的Boosting算法算法o特征选择特征选择:就是从一组数量为:就是从一组数量为n的特征中选择出的特征中选择出数量为数量为m的最优特征;的最优特征;1.最优特征组合的评价标准;最优特征组合的评价标准;2.选择出最优特征组合的算法;选择出最优特征组合的算法;oBoosting可以作为特征选择的方法。可以作为特征选择的方法。模式识别 独立于算法的机器学习AdaBoost特征选择算法特征选择算法oGiven
11、examples (x1,y1), (xn,yn), where yi=0,1for negative and positive examples respectively;oInitialize weights w1,i=1/2m, 1/2l for yi=0,1respectively, where m and l are the number of negatives and positives respectively;oFor t = 1,T:1.Normalize the weights: so that wt is a probability distribution.模式识别
12、独立于算法的机器学习AdaBoost特征选择算法特征选择算法2.For each feature, j , train a classifier hj which is restricted to using a single feature. The error is evaluated with respect to wt, 3.Choose the classifier ht, with the lowest error 4.Update the weights:where ei = 0 if example xi is classified correctly, ei = 1 othe
13、rwise, and oThe final classifier is :模式识别 独立于算法的机器学习11.3 分类器的评价和比较分类器的评价和比较o在分类器设计好后,我们只能计算出分类器在在分类器设计好后,我们只能计算出分类器在训练样本集上的错误率,而不能计算出在测试训练样本集上的错误率,而不能计算出在测试样本集上的错误率;样本集上的错误率;o可以采用统计量估计中的重采样技术来对测试可以采用统计量估计中的重采样技术来对测试样本错误率进行估计,具体方法有:样本错误率进行估计,具体方法有:1.交叉验证交叉验证;2.刀切法刀切法;3.自助法自助法;模式识别 独立于算法的机器学习交叉验证交叉验证(
14、Cross Validation)o简单验证简单验证:将数量为:将数量为n的训练样本集的训练样本集D分成两部分成两部分,一部分作为训练集,用于训练分类器,另分,一部分作为训练集,用于训练分类器,另一部分作为验证集,用于估计测试错误率;一部分作为验证集,用于估计测试错误率;om-重交叉验证重交叉验证:将:将D分成分成m个集合,每个集合个集合,每个集合包含包含n/m个样本,每次用个样本,每次用m-1个集合的样本训练个集合的样本训练分类器,用剩余的一个集合测试,最后将分类器,用剩余的一个集合测试,最后将m个个测试结果平均,作为测试错误率的估计;测试结果平均,作为测试错误率的估计;模式识别 独立于算法
15、的机器学习刀切法(刀切法(Jackknife)o刀切法刀切法实际上是实际上是m=n时的时的m-重交叉验证。重交叉验证。o在数量为在数量为n的样本集的样本集D中每次留一个样本,用中每次留一个样本,用其它样本训练分类器,用留下的一个样本测其它样本训练分类器,用留下的一个样本测试错误率,测试错误率为:试错误率,测试错误率为:p = k / n其中其中k为测试错误的样本数。为测试错误的样本数。模式识别 独立于算法的机器学习自助法(自助法(bootstrap)1.从数量为从数量为n的样本集的样本集D中随机选出中随机选出n个样本(样个样本(样本可能重复)组成一个本可能重复)组成一个“自助样本集自助样本集”;2.用一个用一个“自助样本集自助样本集”训练分类器,用另外一训练分类器,用另外一个独立的个独立的“自助样本集自助样本集”测试分类器;测试分类器;3.重复上述过程重复上述过程B次,每次均可得到一个错误率次,每次均可得到一个错误率pb;4.总的测试错误率:总的测试错误率: