最近在看Peter Harrington写的“机器学习实战”,这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能。
在使用某个特定的算法是,有时会发现生成的算法f(x)的错误率比较高,只使用这个算法达不到要求。 这时f(x)就是一个弱算法。 在以前学习算法的过程中,我们认识到算法的参数很重要,所以把公式改写成这样: f(x,arguments) \\ where \\ \qquad x \text{ : calculated data} \\ \qquad arguments \text{ : function arguments} 一个思路是通过多个弱算法组合形成一个强算法来满足需求。 训练多个弱算法的思路如下:
这个思路称之为Adaboost算法,是对其它算法组合的一种方式。 我们可以看出弱算法是同类的算法,也就是说,它们是基于相同的算法,只不过参数不同。这样元算法在训练算法的步骤中就好容易控制。 注:也有其它的的元算法,可以针对不同算法的。
说明:书中弱算法是一个单层决策树算法,返回的是一个二类分类结果(-1, 1)。所以书中Adaboost也是一个二类分类算法。