[机器学习] Adaboost算法流程及原理推导
2015-10-11 18:00
253 查看
Adaboost算法是一种迭代算法。其用法是将对于训练同一训练集的多个弱分类器集合,成为一个强分类器。
Adaboost算法实现步骤如下:
输入{(x1,y1),(x2,y2)...(xn,yn)},,其中xi∈X,yi∈{−1,1}。
初始化D1(i)=1n,i=1,2...n。
For t = 1,2…T:
寻找分类器ht:X→{−1,1},用每个特征fj训练一个弱分类器hj,可以得到一个加权错误率ϵj=∑t=1mDt,ht(xi)≠yi 选取ϵj最小的分类器ht,最小加权误差率值记作ϵt
计算权值αt=12ln(1−ϵtϵt)
更新DDt+1(i)=Dt(i)exp[−αtyiht(xi)]Zt Zt为归一化参数
最终获得的强分类器H(x)=sign(∑t=1Tαtyiht(x))
Adaboost算法原理
从最后的计算公式,可以理解为Adaboost算法最后获得的分类结果是由多个弱分类器加权投票决定的。
而判断最终结果的好坏,是看分类结果与真实结果的差距,即:lossexp[H(x)]=Ex,y[e−yH(x)] 差距越小,表示分类结果越好。而该公式也可以理解为要追求yH(x)更大。
后续都是数学证明的过程,公式过多,直接用手写拍照上传。
Adaboost算法实现步骤如下:
输入{(x1,y1),(x2,y2)...(xn,yn)},,其中xi∈X,yi∈{−1,1}。
初始化D1(i)=1n,i=1,2...n。
For t = 1,2…T:
寻找分类器ht:X→{−1,1},用每个特征fj训练一个弱分类器hj,可以得到一个加权错误率ϵj=∑t=1mDt,ht(xi)≠yi 选取ϵj最小的分类器ht,最小加权误差率值记作ϵt
计算权值αt=12ln(1−ϵtϵt)
更新DDt+1(i)=Dt(i)exp[−αtyiht(xi)]Zt Zt为归一化参数
最终获得的强分类器H(x)=sign(∑t=1Tαtyiht(x))
Adaboost算法原理
从最后的计算公式,可以理解为Adaboost算法最后获得的分类结果是由多个弱分类器加权投票决定的。
而判断最终结果的好坏,是看分类结果与真实结果的差距,即:lossexp[H(x)]=Ex,y[e−yH(x)] 差距越小,表示分类结果越好。而该公式也可以理解为要追求yH(x)更大。
后续都是数学证明的过程,公式过多,直接用手写拍照上传。
相关文章推荐
- 关于搭建Tomcat服务器
- 校园招聘
- Android每日范例——电话号码输入框
- 手把手教你使用Git
- 无插件,直接加参数,chrome它可以模拟手机浏览器
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 如何卸载Model Sim
- 第19章 伪终端
- Debian7 更换源
- 第18章 终端I/O
- Android笔记(三十六) AsyncTask是如何执行的?
- Android Intent和按钮响应事件的几种方式
- Java读取本地文件的两种方法及其区别
- 【转】Java 读写Properties配置文件
- Ibatis之RowHandler
- 无法使用evince命令打开pdf文档
- opencv学习笔记(十一)——图像腐蚀和膨胀混合运用练习
- Jedis测试例子
- 20135218姬梦馨——信息安全系统设计基础第五周学习总结
- sqoop数据的导入和导出