本文主要回答一个问题, 为什么Ensemble methods are better than individual method.

  1.  A necessary and sufficient condition for an assemble of classifiers to be more accurate than any of its individual members is if the classifiers are accurate and diverse.
  2. 单个分类器的错误率一定要控制在小于0.5的范围(二项分布的多次随机事件),这样所有实验中正确sample个数就多于错误sample
  3. 有三个原因致使实际中的Ensemble methods 是存在的
    1) 统计原因(训练集有限,可以存在多个accuracy一样的分类器,Ensemble就相当于平均了这些分类器)
    2) 计算原因(局部最优,在很难找到全局最优的情况下,Ensemble能提供一个不错的估计)
    3) 表达原因(真实的分类器不能被现有的单个分类器所cover,所以用多个不同形式的分类器能过从多个不同角度去接近真实的分类器)
  4. 具体的构造方法
    1) Bayesian Voting (对于individual classifier进行概率加权)
    2) 划分多个训练集(每个训练集学出一个classifier,对于NN, DT 以及rule-based这样的unstable方法更加合适; 逻辑回归,线性回归阈值法,近邻法都属于stable) ref: (转)bootstrap, boosting, bagging 几种方法的联系  (抽样方法)
    3) 划分特征,不同的特征组合训练出一个classifier(一般在特征维度较高时可用)
    4) 划分Label (error-correcting coding) 将label映射成二进制编码,再根据编码特征进行类内投票 (此想法值得借鉴)
    5) Inject Randomness (即使是同一个模型,相同的训练集合,如果初始化参数不一样,最终的结果也会不一样,ensemble这类classifiers)
  5.  boosting ensemble methods表现一般是最好的(包括adaboost and gradient boosting)
  6. 这里有一个概念值得研究: Learning Algorithm


摘录核心总结: bootstrap, boosting, bagging 几种方法的联系

bootstrps bagging boosting这几个概念经常用到,现仔细学习了一下:
他们都属于集成学习方法,(如:Bagging,Boosting,Stacking),将训练的学习器集成在一起,原理来源于PAC学习模型(ProbablyApproximately CorrectK)。Kearns和Valiant指出,在PAC学习模型中,若存在一
个多项式级的学习算法来识别一组概念,并且识别正确率很高,那么这组概念是强可学习的;而如果学习算法识别一组概念的正确率仅比随机猜测略好,那么这组概念是弱可学习的。他们提出了弱学习算法与强学习算法的等价性问题,即是否可以将弱学习算法提升成强学习算法。如果两者等价,那么在学习概念时,只要找到一个比随机猜测略好的弱学习算法,就可以将其提升为强学习算法,而不必直接去找通常情况下很难获得的强学习算法。
bootstraps:名字来自成语“pull up by your ownbootstraps”,意思是依靠你自己的资源,它是一种有放回的抽样方法,学习中还发现有种叫jackknife的方法,它是每一次移除一个样本。
bagging:bootstrapaggregating的缩写。让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练倒组成,初始训练例在某轮训练集中可以出现多次或根本不出现训练之后可得到一个预测函数序列h.,⋯⋯h 最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。
–(训练R个分类器fi,分类器之间其他相同就是参数不同。其中fi是通过从训练集合中(N篇文档)随机取(取后放回)N次文档构成的训练集合训练得到的。–对于新文档d,用这R个分类器去分类,得到的最多的那个类别作为d的最终类别.)
boosting:其中主要的是AdaBoost(AdaptiveBoosting)。初始化时对每一个训练例赋相等的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练铡进行学习,从而得到一个预测函数序列h一⋯h其中h.也有一定的权重,预测效果好的预测函数权重较大,反之较小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。(类似Bagging方法,但是训练是串行进行的,第k个分类器训练时关注对前k-1分类器中错分的文档,即不是随机取,而是加大取这些文档的概率).
Bagging与Boosting的区别:在于Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostlng的训练集的选择是独立的,各轮训练集的选择与前面各轮的学习结果有关;Bagging的各个预测函数没有权重,而Boosting是有权重的;Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。对于象神经网络这样极为耗时的学习方法。Bagging可通过并行训练节省大量时间开销。   bagging和boosting都可以有效地提高分类的准确性。在大多数数据集中,boosting的准确性比bagging高。在有些数据集中,boosting会引起退化。---Overfit

文本分类中使用的投票方法(Voting,也叫组合分类器)就是一种典型的集成机器学习方法。它通过组合多个弱分类器来得到一个强分类器,包括Bagging和Boosting两种方式,二者的主要区别是取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此Boosting的分类精度要优于Bagging。投票分类方法虽然分类精度较高,但训练时间较长。Boosting思想的一种改进型AdaBoost方法在邮件过滤、文本分类方面都有很好的性能。

 
 


留言

登录 请先登陆, 再留言!