总结机器学习中的boosting模型。
1. AdaBoost算法:
输入:训练数据集 , 其中 ;弱学习算法
输出:分类器 $G\left(x\right)$
-
初始化训练数据的权值分布
-
对 $m=1,2,\cdots,M$
2.1 使用具有权值分布 $D_{m}$ 的训练数据集学习,得到基本分类器2.2 计算 $G_{m}\left(x\right)$ 在训练数据集上的分类误差率
2.3 计算 $G_{m} \left(x\right)$的系数
2.4 更新训练数据集的权值分布
其中,$Z_{m}$是规范其中,$Z_{m}$是规范化因子
-
构建基本分类器的线性
得到最终分类器
2. 加法模型
其中,$b\left(x;\gamma_{m}\right)$为基函数,$\beta_{m}$为基函数系数,$\gamma_{m}$为基函数参数。
在给定训练数据及损失函数 $L\left(y,f\left(x\right)\right)$ 的条件下,学习加法模型 $f\left(x\right)$成为经验风险极小化问题
学习加法模型,从前向后每一步只学习一个基函数及其系数,即每步只优化
3. 前向分布算法:
输入:训练数据集 ,损失函数 ;基函数集
输出:加法模型$f\left(x\right)$
- 初始化 $f_{0}\left(x\right)=0$
-
对 $m=1,2,\cdots,M$
2.1 极小化损失函数得到参数 $\beta_{m},\gamma_{m}$
2.2 更新
- 得到加法模型
训练数据集
其中,$x_{i} \in \mathcal{X} \subseteq R^{n}, y_{i} \in \mathcal{Y} \subseteq R, i = 1, 2, \cdots, N$。
将输入空间 $\mathcal{X}$ 划分为 $J$ 个互不相交的区域$R_{1},R_{2},\cdots,R_{J}$,且在每个区域上确定输出的常量$c_{j}$,则回归树
其中,参数 表示树的区域划分和各区域上的常数。$J$是回归树的负责度即叶结点个数。
4. 回归提升树使用前向分布算法
在前向分布算法的第 $m$ 步给定当前模型$f_{m-1}\left(x\right)$ ,模型参数
得到第$m$棵树的参数$\hat \varTheta_{m}$
当采用平方误差损失函数
其中,$r=y-f_{m-1}\left(x\right)$是当前模型拟合数据的残差。
5. 回归提升树算法:
输入:训练数据集
输出:回归提升树 $f_{M}\left(x\right)$
- 初始化 $f_{0}\left(x\right)=0$
-
对 $m=1,2,\cdots,M$
2.1 计算残差2.2 拟合残差$r_{mi}$学习一个回归树,得到$T\left(x;\varTheta_{m}\right)$
2.3 更新$f_{m}=f_{m-1}\left(x\right)+T\left(x;\varTheta_{m}\right)$ -
得到回归提升
6 梯度提升算法:
输入:训练数据集 ,损失函数 $L\left(y,f\left(x\right)\right)$
输入:回归树 $\hat f\left(x\right)$
- 初始化
-
对 $m=1,2,\cdots,M$
2.1 对 $i=1,2,\cdots,N$计算2.2 对 $r_{mi}$拟合回归树,得到第$m$棵树的叶结点区域 $R_{mj},j=1,2,\cdots,J$
2.3 对 $j=1,2,\cdots,J$计算
2.4 更新$f_{m}\left(x\right)= f_{m-1}\left(x\right) + \sum_{j=1}^{J} c_{mj} I \left(x \in R_{mj} \right)$
-
得到回归树