在数据挖掘中,分类是一项基本的任务。传统做法为借助模式识别、数理统计等方法来寻找分类规则。然而,很多情况下,传统方法的预测精度受专业知识局限、训练数据质量的影响很大,特别是对那些还未完全了解其本质规律的预测问题。
解决此问题的常用方法是机器学习技术。机器学习也就是使用已知实例集合的全部属性值作为机器学习算法的训练集,导出一个分类机制后,再使用这个分类机制判别一个新实例的属性。常用的分类方法有决策树分类 、贝叶斯分类等。然而,这些方法存在的问题是当数据巨大时,分类的准确率不高。对于这样的困难问题,Boosting算法提供了一个理想的解决途径。
Freund and Schapire(1995) 提出的AdaBoost算法是Boosting算法的一个典型代表,该算法既是提高机器学习能力的有效工具,也是组合学习中最具代表性和应用前景的方法。Adaboost是一种迭代算法,其核心思想是针对同一个训练集形成不同的分类器(弱分类器),然后把这些集合构成一个强分类器。Adaboost算法本身是通过改变数据分布来实现的,根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。通过将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。使用adaboost分类器可以排除一些次要的训练数据特征,将注意力放在关键的特征上面。
(一点学习心得,请专家批判指正 O(∩_∩)O~)