@xuchongfeng
2018-01-13T04:39:36.000000Z
字数 2860
阅读 112
机器学习 提升方法
主要思想是通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
adaboost算法
一个概念,如果存在一个多项式学习算法可以学习它,并且正确率很高,那么就称这个概念是强可学习的
如果不存在,那么这个概念就是弱可学习的。
强可学习性和弱可学习性等价。
假设给定二类分类的训练数据集
输入:
x = np.arange(0, 1, 0.001)plt.plot(x, (np.log(1-x) - np.log(x))/2)plt.plot(x, np.zeros(x.shape))plt.xlabel("em")plt.ylabel("am")
5) 更新训练数据集的权值分布
分析:
被错误分类的样例在下一轮分类器中权值会被放大。
AdaBoost算法的训练误差分析定理8.1
AdaBoost算法最终分类器的训练误差界为
定理8.2
二类分类问题AdaBoost的训练误差界
AdaBoost算法的解释可认为AdaBoost算法是模型为加法模型,损失函数为指数函数,学习函数为前向分布算法时的二类分类学习方法。
考虑加法模型:
经验风险极小化,即损失函数极小化
输入:训练数据集;损失函数;基函数集
输出:加法模型
1) 初始化
2) 对
a)极小化损失函数
adaboostAdaBoost算法是前向分布加法算法的特例,模型是由基本分类器组成的加法模型,损失函数是指数函数。
提升树是以分类树或回归树为基本分类器的提升方法。
提升树可以表示为决策树的加法模型
提升树算法采用前向分步算法。
已知一个训练数据集,回归树是将输入空间划分为个互不相交的区域,并且在每个区域上确定输出的常量,那么树可表示为
当采用评分误差损失函数时
residual。那么对回归问题的提升树算法来说,只需简单的拟合当前模型的残差。回归问题的提升树算法
输入:数据集
输出:提升树
1) 初始化
2) 对
a) 计算残差
b) 拟合残差,学习一个回归树,得到
c) 更新
3) 得到提升树
