更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html
前向分步算法
一、前向分步算法引入
假设Nick的年龄是25岁。
- 第1棵决策树
把Nick的年龄设置成初始值0岁去学习,如果第1棵决策树预测Nick的年龄是12岁,即残差值为
2. 第2课决策树
1. 把Nick的年龄设置成残差值13岁去学习,如果第2棵决策树能把Nick分到13岁的叶子节点,累加两棵决策树的预测值加和 ,就是Nick的真实年龄25岁
2. 如果第2棵决策树的得到的是10岁,残差值为
3. 第3课决策树
把Nick的年龄设置成残差值3岁去学习……
4. 继续重复上述过程学习,不断逼近Nick的真实年龄
二、前向分步算法详解
2.1 加法模型
加法模型(additive model)一般表示为弱学习器加和
其中
为弱学习器, 为弱学习器的参数, 为弱学习器的系数。2.2 加法模型目标函数优化问题
给定训练数据以及目标函数
,加法模型的经验风险最小化问题既可以变为目标函数最小化问题上述加法模型的目标函数优化问题是一个很复杂的优化问题,但是通过前向分布算法(forward stagewise algorithm)可以解决这一问题,它的思想是:因为学习问题是加法模型,所以每一步只学习一个弱学习器及其系数,然后逐步逼近优化目标函数,也就是说,每一步只需要优化如下所示的目标函数
三、前向分步算法流程
3.1 输入
有
个数据 个特征的训练数据集 ;目标函数 ;弱学习模型集 ,在Boosting算法中 相当于弱学习器的个数。3.2 输出
加法模型
。3.3 流程
- 初始化
- 对
- 极小化目标函数
2. 更新 - 得到加法模型