ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

A-07 前向分步算法

2020-12-10 23:05:44  阅读:231  来源: 互联网

标签:xi 07 Nick 算法 前向 分步 加法 tb


目录
更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

前向分步算法

一、前向分步算法引入

假设Nick的年龄是25岁。

  1. 第1棵决策树

把Nick的年龄设置成初始值0岁去学习,如果第1棵决策树预测Nick的年龄是12岁,即残差值为2512=13
2. 第2课决策树
1. 把Nick的年龄设置成残差值13岁去学习,如果第2棵决策树能把Nick分到13岁的叶子节点,累加两棵决策树的预测值加和12+13=25,就是Nick的真实年龄25岁
2. 如果第2棵决策树的得到的是10岁,残差值为251210=3
3. 第3课决策树

把Nick的年龄设置成残差值3岁去学习……
4. 继续重复上述过程学习,不断逼近Nick的真实年龄

二、前向分步算法详解

2.1 加法模型

加法模型(additive model)一般表示为弱学习器加和

f(x)=t=1Tθtb(x;γt)

其中b(x;γt)为弱学习器,γt为弱学习器的参数,θt为弱学习器的系数。

2.2 加法模型目标函数优化问题

给定训练数据以及目标函数L(y,f(x)),加法模型的经验风险最小化问题既可以变为目标函数最小化问题

minθt,γti=1mL(yi,t=1Tθtb(xi;γt))

上述加法模型的目标函数优化问题是一个很复杂的优化问题,但是通过前向分布算法(forward stagewise algorithm)可以解决这一问题,它的思想是:因为学习问题是加法模型,所以每一步只学习一个弱学习器及其系数,然后逐步逼近优化目标函数,也就是说,每一步只需要优化如下所示的目标函数

minθ,γi=1mL(yi,θb(xi;γ))

三、前向分步算法流程

3.1 输入

m个数据n个特征的训练数据集T={(x1,y1),(x2,y2),,(xm,ym)};目标函数L(y,f(x));弱学习模型集{b(x;γt)},(t=1,2,,T),在Boosting算法中T相当于弱学习器的个数。

3.2 输出

加法模型f(x)

3.3 流程

  1. 初始化f0(x)=0
  2. t=1,2,,T
    1. 极小化目标函数

    (θt,γt)=argminθ,γi=1mL(yi,ft1(xi)+θb(xi;γ))

    得到参数θt,γt
    2. 更新

    ft(x)=ft1(x)+θtb(x;γt)

  3. 得到加法模型

f(x)=fT(x)=t=1Tθtb(x;γt)

标签:xi,07,Nick,算法,前向,分步,加法,tb
来源: https://www.cnblogs.com/abdm-989/p/14117977.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有