AdaBoost算法笔记

参考:李航老师《统计学习方法》。主要是构造组合分类器,对样本执行分类任务。

针对训练数据\left \{ (x_1,y_1),(x_2,y_2),...,(x_N,y_N)\right \},其中x_n\in R^N,y_n\in\left\{-1,1\right\}

(1)初始化各个训练数据的权重:

                                                         D_0=(W_0_1,W_0_2,W_0_3,...W_0_N),W_0_n=\frac{1}{N},n=1,2,3...N

(2)进行第m=1,2,3...M次迭代运算:

   ① 对于具有权值分布D_m_-_1=((W_m_-_1,_1),(W_m_-_1,_2),...(W_m_-_1,_N))的数据集进行第m次的训练学习(训练方法自定义),得到基本分类器,使分类器在本次训练中的误差率尽可能低。

                                                                                    G_m(x)=\left\{\begin{matrix} -1\\+1 \end{matrix}\right.

   ② 求出分类器在训练数据集上的分类误差率:

                                                                     e_m=\sum_{n=1}^{N}W_{m-1,n}I(G_m(x_n)\neq y_n)

即找出所有误分的样本,并由其加权误分情况构造误分率。

   ③ 计算该分类器构成组合分类器时的权值系数:

                                                                               \alpha_m=\frac{1}{2}log\frac{1-e_m}{e_m}

   ④ 更新第n个样本数据的权重便于下一次(第m+1次)时的学习,即更新W_{m,n}

                                                                  W_{m,n}=\frac{W_{m-1,n}\cdot e^{-{\alpha_{m}y_nG_{m}(x_n)}}}{\sum_{n=1}^{N}W_{​{m-1},n}\cdot e^{-{\alpha_{m}y_nG_{m}(x_n)}}}

   ⑤ 构造线性组合分类器,其由初始到目前的所有分类器线性构成:

                                                                             G(x)=\sum_{m=1}^{M}G_m(x)\cdot \alpha_m

   ⑥ 由sign(G(x))去判断样本\left \{ (x_1,y_1),(x_2,y_2),...,(x_N,y_N)\right \},看是否全部分类正确。

(3)若执行(2)⑥后,所有的样本分类正确,则得到相应的分类器sign(G(x))。若不完全分类正确,则重复执行(2),直到所有样本分类正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值