人工智能机器学习算法系列(十九)自适应增强算法(AdaptiveBoostingAlgorithm)机器学习算法系列

??图2-1展示了提示算法的具体流程,其与Bagging算法的区别在于:其一,Bagging算法的每个估计器相对独立且权重都相同,而Boosting算法的每个估计器都依赖于上一个估计器同时权重也不同。其二,一般情况下Bagging算法可以减小方差、而Boosting算法则是减小偏差。??Boosting算法中比较有代表性的算法就是自适应增强算法(AdaptiveBoostingAlgorithm/AdaBoostAlgorithm)

??AdaBoost算法是由YoavFreund和RobertE.Schapire在1995年提出的,同时还提出了AdaBoost.M1、AdaBoost.M2算法用于多分类问题,AdaBoost.R算法用于回归问题。后面陆续又有人提出了上述算法的变体AdaBoost-SAMME、AdaBoost-SAMME.R、AdaBoost.R2算法。??AdaBoost算法的基本步骤与Boosting算法一样,是Boosting算法的具体实现,其定义了每次循环如何更新样本权重以及最后如何将每个估计器结合起来。??由于笔者能力所限,本文只会介绍基础的AdaBoost算法和现在scikit-learn中所实现的AdaBoost-SAMME、AdaBoost-SAMME.R、AdaBoost.R2算法,其他的算法暂无法一一介绍,感兴趣的读者可以参考文末对应算法的论文原文。

??假设训练集T={X_i,y_i},i=1,...,N,y_i可取-1,+1,h(x)为估计器,估计器的数量为K。


初始化样本权重向量ω_1

$$\begin{aligned}\omega_{1,i}&=\frac{1}{N}\quadi=1,...,N\end{aligned}$$

遍历估计器的数量K次:??在样本权重ω_k下训练估计器h(x)??计算第k次的误差率e_k

$$\begin{aligned}e_k&=\sum_{i=1}^{N}\omega_{k,i}I(y_i\neh_k(X_i))\end{aligned}$$

??如果误差率e_k大于0.5????中断循环??计算第k次的估计器权重α_k

$$\begin{aligned}\alpha_k&=\frac{1}{2}\ln\frac{1-e_k}{e_k}\\\end{aligned}$$

??计算第k+1次的权重向量ω_{k+1}

$$\begin{aligned}\omega_{k+1,i}&=\frac{\omega_{k,i}e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\omega_{k,j}e^{-y_j\alpha_kh_k(X_j)}\right)}\end{aligned}$$

结束循环

??最后的结合策略,采用加权后的结果取sign函数,得到最终的强估计器:

$$\begin{aligned}H(x)&=\operatorname{sign}\left(\sum_{i=1}^{K}\alpha_ih_i(x)\right)\end{aligned}$$

??假设训练集T={X_i,y_i},i=1,...,N,y的取值有M种可能,h(x)为估计器,估计器的数量为K。

??计算第k次的估计器权重α_k

$$\begin{aligned}\alpha_k&=\ln\frac{1-e_k}{e_k}+\ln(M-1)\\\end{aligned}$$

$$\begin{aligned}\bar{\omega_{k+1,i}}&=\omega_{k,i}e^{\alpha_kI(y_i\neh_k(X_i))}\end{aligned}$$

??对权重向量ω_{k+1}进行归一化

$$\begin{aligned}\omega_{k+1,i}&=\frac{\bar{\omega_{k+1,i}}}{\sum_{j=1}^N\bar{\omega_{k+1,i}}}\end{aligned}$$

??最后的结合策略,采用正确分类的结果加权后取值最大的分类,得到最终的强估计器:

$$\begin{aligned}H(x)&=\underset{m}{\operatorname{argmax}}\left(\sum_{i=1}^{K}\alpha_iI(h_i(x)=m)\right)\end{aligned}$$

遍历估计器的数量K次:??在样本权重ω_k下计算加权类概率估计向量P_k

$$\begin{aligned}p_k^m(x)=P(y=m\midx)\end{aligned}$$

$$\hat{y}=\left\{\begin{array}{c}1&y=m\\-\frac{1}{M-1}&y\nem\end{array}\right.\quadm=1,\dots,M$$

$$\begin{aligned}\bar{\omega_{k+1,i}}&=\omega_{k,i}e^{-\frac{M-1}{M}\hat{y_i}^T\lnp_k(x)}\end{aligned}$$

??最后的结合策略,采用概率估计计算结果取值最大的分类,得到最终的强估计器:

$$\begin{aligned}h_k(x)&=(M-1)\left(\lnp_k^m(x)-\frac{1}{M}\sum_{i=1}^{M}\lnp_k^i(x)\right)\\H(x)&=\underset{m}{\operatorname{argmax}}\left(\sum_{i=1}^{K}h_i(x)\right)\end{aligned}$$

??假设训练集T={X_i,y_i},i=1,...,N,h(x)为估计器,估计器的数量为K

遍历估计器的数量K次:??在样本权重ω_k下训练估计器h(x)??计算最大误差E_k

$$\begin{aligned}E_k&=\max\midy_i-h_k(X_i)\mid\end{aligned}$$

??计算第k次的误差率e_k

$$\begin{aligned}e_{k,i}&=\frac{\midy_i-h_k(X_i)\mid}{E_k}&线性误差\\e_{k,i}&=\frac{\left(y_i-h_k(X_i)\right)^2}{E_k^2}&平方误差\\e_{k,i}&=1-e^{-\frac{\midy_i-h_k(X_i)\mid}{E_k}}&指数误差\\e_k&=\sum_{i=1}^{N}\omega_{k,i}e_{k,i}\end{aligned}$$

$$\begin{aligned}\alpha_k&=\frac{e_k}{1-e_k}\end{aligned}$$

$$\begin{aligned}\bar{\omega_{k+1,i}}&=\omega_{k,i}\alpha_k^{1-e_{k,i}}\end{aligned}$$

??最后的结合策略,采用估计器权重的中位数对应的估计器的结果,得到最终的强估计器:

$$\begin{aligned}H(x)&=\inf\left\{y\inA:\sum_{h_i(x)\ley}\ln\left(\frac{1}{\alpha_i}\right)\ge\frac{1}{2}\sum_{i=1}^{K}\ln\left(\frac{1}{\alpha_i}\right)\right\}\end{aligned}$$

??同算法步骤中的前提条件一样,假设训练集T={X_i,y_i},i=1,...,N,y_i可取-1,+1,h(x)为估计器,估计器的数量为K。

??AdaBoost算法的一种解释是加法模型,通过多个估计器h(x)加权以后得到最后的强估计器H(x),如下所示:(1)第k-1轮的强估计器表达式(2)第k轮的强估计器表达式(3)第k轮的强估计器可以由第k-1轮的强估计器和第k轮的加权估计器来表示

$$\begin{aligned}H_{k-1}(x)&=\sum_{i=1}^{k-1}\alpha_ih_i(x)&(1)\\H_k(x)&=\sum_{i=1}^{k}\alpha_ih_i(x)&(2)\\H_k(x)&=H_{k-1}(x)+\alpha_kh_k(x)&(3)\\\end{aligned}$$

式4-1

??接下来我们来定义最后强估计器的代价函数,AdaBoost算法选用的是指数函数,相比于0/1函数具有更好的数学性质。(1)指数代价函数(2)带入式4-1中的(3)式(3)我们的目标就是找到最优的估计器权重α和估计器h(x)(4)定义一个新的变量ω,包含前一轮的强估计器等与α、h(x)无关的值(5)替换ω

$$\begin{aligned}Cost(H(x))&=\sum_{i=1}^{N}e^{-y_iH(X_i)}&(1)\\Cost(\alpha,h(x))&=\sum_{i=1}^{N}e^{-y_i(H_{k-1}(X_i)+\alphah(X_i))}&(2)\\\alpha_k,h_k(x)&=\underset{\alpha,h(x)}{\operatorname{argmin}}\sum_{i=1}^{N}e^{-y_i(H_{k-1}(X_i)+\alphah(X_i))}&(3)\\\bar{\omega_{k,i}}&=e^{-y_iH_{k-1}(X_i)}&(4)\\\alpha_k,h_k(x)&=\underset{\alpha,h(x)}{\operatorname{argmin}}\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-y_i\alphah(X_i)}&(5)\\\end{aligned}$$

式4-2

??我们先来看下估计器h(x),在每次训练估计器后,估计器已经确定下来了,所以我们现在只需要关心每个估计器的权重α即可。(1)找到最优的估计器权重α使得代价函数的取值最小(2)代价函数Cost(α)(3)由于标签值可取正负1,根据预测值与标签值是否相同拆为两项(4)增加第二、三两项,不影响最后的结果(5)将(4)式中前两项和后两项分别合并得到

$$\begin{aligned}\alpha_k&=\underset{\alpha}{\operatorname{argmin}}\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-y_i\alphah_k(X_i)}&(1)\\Cost(\alpha)&=\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-y_i\alphah_k(X_i)}&(2)\\&=\sum_{y_i=h_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\alpha}+\sum_{y_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{\alpha}&(3)\\&=\sum_{y_i=h_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\alpha}+\sum_{y_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\alpha}-\sum_{y_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\alpha}+\sum_{y_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{\alpha}&(4)\\&=e^{-\alpha}\sum_{i=1}^{N}\bar{\omega_{k,i}}+(e^{\alpha}-e^{-\alpha})\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))&(5)\\\end{aligned}$$

式4-3

(1)对代价函数求导数并令其为零(2)定义错误率e_k的表达式(3)将错误率e_k带入(2)式(4)两边同时乘以exp(α)(5)移项后整理得(6)求得最后的估计器权重α的表达式

$$\begin{aligned}\frac{\partialCost(\alpha)}{\partial\alpha}&=-e^{-\alpha}\sum_{i=1}^{N}\bar{\omega_{k,i}}+(e^{\alpha}+e^{-\alpha})\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))=0&(1)\\e_k&=\frac{\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))}{\sum_{i=1}^{N}\bar{\omega_{k,i}}}&(2)\\0&=-e^{-\alpha}+(e^\alpha+e^{-\alpha})e_k&(3)\\0&=-1+(e^{2\alpha}+1)e_k&(4)\\e^{2\alpha}&=\frac{1-e_k}{e_k}&(5)\\\alpha&=\frac{1}{2}\ln\frac{1-e_k}{e_k}&(6)\\\end{aligned}$$

式4-4

(1)错误率e_k的定义(2)定义ω_k(3)得到错误率e_k的表达式

$$\begin{aligned}e_k&=\frac{\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))}{\sum_{i=1}^{N}\bar{\omega_{k,i}}}&(1)\\\omega_{k,i}&=\frac{\bar{\omega_{k,i}}}{\sum_{i=1}^{N}\bar{\omega_{k,i}}}&(2)\\e_k&=\sum_{i=1}^{N}\omega_{k,i}I(y_i\neh_k(X_i))&(3)\\\end{aligned}$$

式4-5

??接下来是ω的更新方法:(1)ω_{k+1}的定义(2)带入式4-1中的(3)式(3)替换为ω_k

$$\begin{aligned}\bar{\omega_{k+1,i}}&=e^{-y_iH_{k}(X_i)}&(1)\\&=e^{-y_i(H_{k-1}(X_i)+\alpha_kh_k(X_i))}&(2)\\&=\bar{\omega_{k,i}}e^{-y_i\alpha_kh_k(X_i)}&(3)\end{aligned}$$

式4-6

(1)式4-6中的(3)(2)两边同时除以归一化参数(3)分子按照式4-5中(2)式的定义替换,分母用式4-7中(1)式替换(4)分母再按照式4-5中(2)式的定义替换(5)由于ω的和为一个常数C(6)分子分母的常数C可以消除,得到ω的更新方表达式

$$\begin{aligned}\bar{\omega_{k+1,i}}&=\bar{\omega_{k,i}}e^{-y_i\alpha_kh_k(X_i)}&(1)\\\omega_{k+1,i}&=\frac{\bar{\omega_{k,i}}e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\bar{\omega_{k+1,j}}}&(2)\\&=\frac{\omega_{k,i}\sum_{j=0}^N\left(\bar{\omega_{k,j}}\right)e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\bar{\omega_{k,j}}e^{-y_j\alpha_kh_k(X_j)}\right)}&(3)\\&=\frac{\omega_{k,i}\sum_{j=0}^N\left(\bar{\omega_{k,j}}\right)e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\omega_{k,j}\left(\sum_{l=0}^N\bar{\omega_{k,l}}\right)e^{-y_j\alpha_kh_k(X_j)}\right)}&(4)\\&=\frac{\omega_{k,i}Ce^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\omega_{k,j}Ce^{-y_j\alpha_kh_k(X_j)}\right)}&(5)\\&=\frac{\omega_{k,i}e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\omega_{k,j}e^{-y_j\alpha_kh_k(X_j)}\right)}&(6)\\\end{aligned}$$

式4-7

??综合式4-1~式4-7可以得到AdaBoost算法的表达式:

$$\begin{aligned}e_k&=\sum_{i=1}^{N}\omega_{k,i}I(y_i\neh_k(X_i))&(1)\\\alpha_k&=\frac{1}{2}\ln\frac{1-e_k}{e_k}&(2)\\\omega_{k+1,i}&=\frac{\omega_{k,i}e^{-y_i\alpha_kh_k(X_i)}}{\sum_{j=0}^N\left(\omega_{k,j}e^{-y_j\alpha_kh_k(X_j)}\right)}&(3)\\H(x)&=\operatorname{sign}\left(\sum_{i=1}^{K}\alpha_ih_i(x)\right)&(4)\\\end{aligned}$$

式4-8

??同算法步骤中的前提条件一样,假设训练集T={X_i,y_i},i=1,...,N,y的取值有M种可能,h(x)为估计器,估计器的数量为K。??为了适应多分类问题,AdaBoost-SAMME算法将原本为数值的标签y转化成一个向量的形式,如式4-9所示:

式4-9

??下面用一个例子来说明式4-9的含义,假设标签y可取1,2,3,标签集y={2,1,2,3},这时根据式4-9可以得到对应的转换后的标签集如式4-10所示:

$$\begin{array}{c}y\in\{1,2,3\}\\y=\{2,1,2,3\}\\\hat{y}_i=\left\{\begin{array}{c}1&y_i=m\\-\frac{1}{2}&y_i\nem\end{array}\right.\quadm=1,2,3\\\hat{y}=\begin{bmatrix}-\frac{1}{2}&1&-\frac{1}{2}\\1&-\frac{1}{2}&-\frac{1}{2}\\-\frac{1}{2}&1&-\frac{1}{2}\\-\frac{1}{2}&-\frac{1}{2}&1\end{bmatrix}\end{array}$$

式4-10

??同样将算法解释为加法模型,通过多个估计器h(x)加权以后得到最后的强估计器H(x),代价函数使用指数函数(1)代价函数,这里比原始算法多了一个1/M,是为了后面计算方便,同时H(X_i)也是一个向量(2)带入式4-1中的(3)式(3)同样定义一个ω,包含前一轮的强估计器等与α无关的值(4)带入ω得到代价函数的表达式(5)目标为找到最优的估计器权重α使得代价函数的取值最小

$$\begin{aligned}Cost(H(x))&=\sum_{i=1}^{N}e^{-\frac{1}{M}\hat{y}_iH(X_i)}&(1)\\Cost(\alpha)&=\sum_{i=1}^{N}e^{-\frac{1}{M}\hat{y}_i(H_{k-1}(X_i)+\alphah_k(X_i))}&(2)\\\bar{\omega_{k,i}}&=e^{-\frac{1}{M}\hat{y}_iH_{k-1}(X_i)}&(3)\\Cost(\alpha)&=\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-\frac{1}{M}\hat{y}_i\alphah_k(X_i)}&(4)\\\alpha_k&=\underset{\alpha}{\operatorname{argmin}}\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-\frac{1}{M}\hat{y}_i\alphah_k(X_i)}&(5)\\\end{aligned}$$

式4-11

??我们先来看下代价函数中指数的部分,即预测值与标签值的点积,下面分两种情况讨论:??当预测值与标签值相同的时候,向量中1的位置一致,-1/(M-1)一共有M-1个,得到如下的点积结果:

$$\begin{aligned}1+\left(M-1\right)\left(-\frac{1}{M-1}\right)\left(-\frac{1}{M-1}\right)=\frac{M}{M-1}\\\end{aligned}$$

式4-12

??当预测值与标签值不相同的时候,向量中1的位置不一致,-1/(M-1)一共有M-2个,得到如下的点积结果:

$$\begin{aligned}\left(-\frac{1}{M-1}\right)+\left(-\frac{1}{M-1}\right)+\left(M-2\right)\left(-\frac{1}{M-1}\right)\left(-\frac{1}{M-1}\right)=-\frac{M}{(M-1)^2}\end{aligned}$$

式4-13

??综合上面两种情况,得到如下的结果:

$$\hat{y}_ih_k(X_i)=\left\{\begin{aligned}&\frac{M}{M-1}&\hat{y}_i=h_k(X_i)\\&-\frac{M}{(M-1)^2}&\hat{y}_i\neh_k(X_i)\end{aligned}\right.$$

式4-14

(1)代价函数Cost(α)(2)分两种情况带入式4-14(3)增加第二、三两项,不影响最后的结果(4)将(3)式中前两项和后两项分别合并得到

$$\begin{aligned}Cost(\alpha)&=\sum_{i=1}^{N}\bar{\omega_{k,i}}e^{-\frac{1}{M}\hat{y}_i\alphah_k(X_i)}&(1)\\&=\sum_{\hat{y}_i=h_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\frac{\alpha}{M-1}}+\sum_{\hat{y}_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{\frac{\alpha}{(M-1)^2}}&(2)\\&=\sum_{\hat{y}_i=h_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\frac{\alpha}{M-1}}+\sum_{\hat{y}_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\frac{\alpha}{M-1}}-\sum_{\hat{y}_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{-\frac{\alpha}{M-1}}+\sum_{\hat{y}_i\neh_k(X_i)}^{N}\bar{\omega_{k,i}}e^{\frac{\alpha}{(M-1)^2}}&(3)\\&=e^{-\frac{\alpha}{M-1}}\sum_{i=1}^{N}\bar{\omega_{k,i}}+(e^{\frac{\alpha}{(M-1)^2}}-e^{-\frac{\alpha}{M-1}})\sum_{i=1}^{N}\bar{\omega_{k,i}}I(\hat{y}_i\neh_k(X_i))&(4)\\\end{aligned}$$

式4-15

(1)对代价函数求导数并令其为零(2)定义错误率e_k的表达式(3)将错误率e_k带入(2)式(4)两边同时乘以exp(α/(M-1))(5)移项后整理得(6)求得最后的估计器权重α的表达式

$$\begin{aligned}\frac{\partialCost(\alpha)}{\partial\alpha}&=\left(-\frac{1}{M-1}\right)e^{-\frac{\alpha}{M-1}}\sum_{i=1}^{N}\bar{\omega_{k,i}}+\left(\left(\frac{1}{(M-1)^2}\right)e^{\frac{\alpha}{(M-1)^2}}+\left(\frac{1}{(M-1)}\right)e^{-\frac{\alpha}{M-1}}\right)\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))=0&(1)\\e_k&=\frac{\sum_{i=1}^{N}\bar{\omega_{k,i}}I(y_i\neh_k(X_i))}{\sum_{i=1}^{N}\bar{\omega_{k,i}}}&(2)\\e^{-\frac{\alpha}{M-1}}&=\left(\left(\frac{1}{M-1}\right)e^{\frac{\alpha}{(M-1)^2}}+e^{-\frac{\alpha}{M-1}}\right)e_k&(3)\\1&=\left(\left(\frac{1}{M-1}\right)e^{\frac{\alpha}{(M-1)^2}+\frac{\alpha}{M-1}}+1\right)e_k&(4)\\\frac{1-e_k}{e_k}&=\left(\frac{1}{M-1}\right)e^{\frac{M\alpha}{(M-1)^2}}&(5)\\\alpha&=\frac{(M-1)^2}{M}\left(\ln\left(\frac{1-e_k}{e_k}\right)+\ln(M-1)\right)&(6)\end{aligned}$$

式4-16

??AdaBoost-SAMME.R算法是AdaBoost-SAMME算法的变体,该算法是使用加权概率估计来更新加法模型,如式4-17所示:

$$\begin{aligned}H_k(x)=H_{k-1}(x)+h_k(x)\end{aligned}$$

式4-17

??代价函数使用的依然是指数函数,不同的是已经没有了估计器权重或者说每一个估计器的权重都为1,且改成了期望的形式,其中h(x)返回的是M维的向量,同时为保证求出的h(x)唯一,加上了向量的各个元素之和为0的限制条件。

$$\begin{array}{c}h_k(x)=\underset{h(x)}{\operatorname{argmax}}E(e^{-\frac{1}{M}\hat{y}_i(H_{k-1}(x)+h(x))}\midx)\\s.t.\quadh_k^1(x)+h_k^2(x)+\cdots+h_k^M(x)=0\end{array}$$

式4-18

??代价函数可以拆分成对每一类分别求期望后再相加:

$$\begin{aligned}Cost(h(x))&=E(e^{-\frac{1}{M}\hat{y}_i(H_{k-1}(x)+h(x))}\midx)&(1)\\&=E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{1}{M}\hat{y}_ih(x)}\midx)&(2)\\&=E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{1}{M}\hat{y}_ih(x)}I(y=1)\midx)+\cdots+E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{1}{M}\hat{y}_ih(x)}I(y=M)\midx)&(3)\\\end{aligned}$$

式4-19

??先来看看当y=1时,y*h(x)的结果:(1)当y=1时,转换后y的向量形式(2)计算点积的结果(3)合并最后的项(4)根据限制条件替换(5)得到化简后的结果

$$\begin{aligned}\hat{y}&=[1,-\frac{1}{M-1},\cdots,-\frac{1}{M-1}]&(1)\\\hat{y}_ih(x)&=h^1(x)+(-\frac{1}{M-1})h^2(x)+\cdots+(-\frac{1}{M-1})h^M(x)&(2)\\&=h^1(x)-\frac{h^2(x)+\cdots+h^M(x)}{M-1}&(3)\\&=h^1(x)-\frac{-h^1(x)}{M-1}&(4)\\&=\frac{Mh^1(x)}{M-1}&(5)\\\end{aligned}$$

式4-20

(1)带入式4-20(2)提出与期望无关的项(3)另后面的期望为P(y=1|x)(4)同理可以得每一类的期望结果

$$\begin{aligned}E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{1}{M}\hat{y}_ih(x)}I(y=1)\midx)&=E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{h^1(x)}{M-1}}I(y=1)\midx)&(1)\\&=e^{-\frac{h^1(x)}{M-1}}E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}I(y=1)\midx)&(2)\\P(y=1|x)&=E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}I(y=1)\midx)&(3)\\E(e^{-\frac{1}{M}\hat{y}_iH_{k-1}(x)}e^{-\frac{1}{M}\hat{y}_ih(x)}I(y=m)\midx)&=e^{-\frac{h^m(x)}{M-1}}P(y=m|x)&(4)\\\end{aligned}$$

式4-21

??将上面的结果带入代价函数得:

$$\begin{aligned}Cost(h(x))&=e^{-\frac{h^1(x)}{M-1}}P(y=1|x)+\cdots+e^{-\frac{h^M(x)}{M-1}}P(y=M|x)&(1)\\&=\sum_{m=1}^{M}e^{-\frac{h^m(x)}{M-1}}P(y=m|x)&(2)\\\end{aligned}$$

式4-22

??这时可以使用拉格朗日乘数法来求解上述问题,其拉格朗日函数L如下:

$$\begin{aligned}L(h(x),\lambda)&=\sum_{m=1}^{M}e^{-\frac{h^m(x)}{M-1}}P(y=m|x)-\lambda\sum_{m=1}^{M}h^m(x)\\\end{aligned}$$

式4-23

??拉格朗日函数分别对h(x)的各个分量求导数:

$$\begin{aligned}\frac{\partialL(h(x),\lambda)}{\partialh^1(x)}&=-\frac{1}{M-1}e^{-\frac{h^1(x)}{M-1}}P(y=1|x)-\lambda=0\\\frac{\partialL(h(x),\lambda)}{\partialh^2(x)}&=-\frac{1}{M-1}e^{-\frac{h^2(x)}{M-1}}P(y=2|x)-\lambda=0\\&\cdots\\\frac{\partialL(h(x),\lambda)}{\partialh^M(x)}&=-\frac{1}{M-1}e^{-\frac{h^M(x)}{M-1}}P(y=M|x)-\lambda=0\\\end{aligned}$$

式4-24

??两两联立式4-24,分别求出各个分量的结果,下面以第一个为例:(1)联立导数中的第1,2式子(2)消掉相同的常数项再两边同时取对数(3)移项化简后得

$$\begin{aligned}-\frac{1}{M-1}e^{-\frac{h^1(x)}{M-1}}P(y=1|x)&=-\frac{1}{M-1}e^{-\frac{h^2(x)}{M-1}}P(y=2|x)&(1)\\-\frac{h^1(x)}{M-1}+\lnP(y=1|x)&=-\frac{h^2(x)}{M-1}+\lnP(y=2|x)&(2)\\h^1(x)-h^2(x)&=(M-1)(\lnP(y=1|x)-\lnP(y=2|x))&(3)\\\end{aligned}$$

式4-25

(1)~(3)同理可得(4)将(1)~(3)式累加起来根据限制条件化简(5)将最后一项补充完整(6)得到第一个分量的结果

$$\begin{aligned}h^1(x)-h^2(x)&=(M-1)(\lnP(y=1|x)-\lnP(y=2|x))&(1)\\h^1(x)-h^3(x)&=(M-1)(\lnP(y=1|x)-\lnP(y=3|x))&(2)\\&\cdots\\h^1(x)-h^M(x)&=(M-1)(\lnP(y=1|x)-\lnP(y=M|x))&(3)\\(M-1)h^1(x)-(-h^1(x))&=(M-1)((M-1)\lnP(y=1|x)-\sum_{m\ne1}\lnP(y=m|x)))&(4)\\Mh^1(x)&=(M-1)(M\lnP(y=1|x)-\sum_{m=1}^{M}\lnP(y=m|x))&(5)\\h^1(x)&=(M-1)(\lnP(y=1|x)-\frac{1}{M}\sum_{m=1}^{M}\lnP(y=m|x))&(6)\\\end{aligned}$$

式4-26

??同理可得h(x)各个分量的结果

$$\begin{aligned}h^m(x)&=(M-1)(\lnP(y=m|x)-\frac{1}{M}\sum_{m^{'}=1}^{M}\lnP(y=m^{'}|x))\\\end{aligned}$$

式4-27

??样本权重的更新如下,将h(x)带入更新方法中,可以看到更新方法只保留了前面一项,因为后面一项为每一类的p(x)求和,可以认为是一个常数,归一化以后不影响最后的结果。

$$\begin{aligned}\bar{\omega_{k,i}}&=e^{-\frac{1}{M}\hat{y}_iH_{k-1}(X_i)}&(1)\\\bar{\omega_{k+1,i}}&=\bar{\omega_{k,i}}e^{-\frac{1}{M}\hat{y}_ih_{k}(X_i)}&(2)\\&=\bar{\omega_{k,i}}e^{-\frac{M-1}{M}\hat{y}_i\lnp_k(X_i)}&(3)\\\end{aligned}$$

式4-28

使用Python实现AdaBoost算法

fromsklearn.ensembleimportAdaBoostRegressor#自适应增强回归器clf=AdaBoostRegressor(n_estimators=50,random_state=0)#拟合数据集clf=clf.fit(X,y)七、示例演示??图7-1展示了使用自适应增强算法进行二分类的结果,红色表示标签值为-1的样本点,蓝色代表标签值为1的样本点。浅红色的区域为预测值为-1的部分,浅蓝色的区域则为预测值为1的部分

图7-1

??图7-2、图7-3分别展示了使用SAMME和SAMME.R算法进行多分类的结果,红色表示标签值为0的样本点,蓝色代表标签值为1的样本点,绿色代表标签值为2的样本点。浅红色的区域为预测值为0的部分,浅蓝色的区域则为预测值为1的部分,浅绿色的区域则为预测值为1的部分

THE END
1.自适应学习率算法:智能调整学习步伐传统的梯度下降法通常采用固定的学习率,但这在实际应用中往往会遇到一些问题。例如,学习率过大可能导致模型震荡,无法收敛到最优解;而学习率过小则会导致收敛速度过慢,训练时间过长。为了解决这些问题,研究人员提出了自适应学习率算法,它能够根据训练过程中的信息动态调整学习率,从而提高模型的训练效率和性能。 https://download.csdn.net/blog/column/12592623/138250357
2.什么是自适应学习自适应学习简介自适应学习(adaptive learning)是一种基于学习者的个体差异和学习需求,为每个学习者提供定制化的学习内容和学习路径的学习方式。自适应学习通常使用人工智能、机器学习、数据挖掘等技术,通过对学习者的学习行为和反馈数据的分析,为学习者提供个性化的学习内容和学习路径,以提高学习效果和学习满意度。 https://cloud.tencent.com/developer/techpedia/1763
3.自适应学习率算法(六)自适应学习率算法51CTO博客Delta-bar-delta算法是一个早期的在训练时适应模型参数各自学习率的启发方式。该方法基于一个很简单的想法,如果损失对于某个给定模型参数的偏导数保持相同的符号,那么学习率应该增加。如果对于该参数的偏导变化了符号,那么学习率应该更小。最近,提出了一些增量(或者基于小批量)的算法来自适应模型参数的学习率。 https://blog.51cto.com/u_13977270/3398969
4.深度学习常用优化器——自适应学习率算法上一篇说了一下改进梯度的最优化算法,下面说一下自适应学习率算法,以及两者的结合。自适应学习率算法主要是相对不同参数和训练的不同阶段有不同的学习率。 1.自适应学习率算法 —— AdaGrad AdaGrad应该是Adaptive Gradient的缩写,是怎么个适应法呢,就是每个参数都有自己的学习率,这里的学习率是和每个参数的梯度相https://www.jianshu.com/p/dfeba2ac6559
5.自适应算法在网络学习系统的应用研究AET摘要: 随着现代信息技术与教育产业的深度融合,建设远程开放式的网络学习平台已成为构建智慧校园网的核心;同时也为构建学习型社会,实现终身教育提供了环境支撑和技术保障。主要着手于自适应算法研究,以网络学习者为对象,针对网络学习平台中存在的问题,设想将自适应算法引入到网络学习平台中,设计一个包含自适应网络学习模型http://www.chinaaet.com/article/3000015389
6.基于自适应LASSO先验的稀疏贝叶斯学习算法其中,∥·∥1表示?1范数.凸优化问题 (3)可以通过LASSO 算法进行求解,但是LASSO 算法不能一定保证收敛,为提高算法性能,Zou 在文献[20]中对LASSO 算法进行了改进,提出了自适应LASSO算法,并对该算法的Oracle 特性进行了证明1Oracle 特性具体包括模型选择相和性和参数估计渐进正态性.其含义为,在一些变量不是提前已https://www.fx361.com/page/2022/0618/14396851.shtml
7.工业过程故障检测自适应流形学习算法研究及应用针对这些问题,基于现有研究基础,本文提出一种自适应流形学习算法用于工业过程故障检测领域,并进行实例仿真来验证该方法的有效性和可行性。(1)介绍了本文研究背景和意义,对工业过程故障检测领域的主要研究内容和现状进行描述。根据实际工业过程中变量数据存在的特性,剖析了现有故障检测方法的局限性,阐述了流形学习方法在故障https://cdmd.cnki.com.cn/Article/CDMD-10673-1018250920.htm
8.[多智能体强化学习笔记]CM3:合作式多目标多阶段多智能体强化学习为了应对这两个挑战,我们将问题重组为一个新的两阶段问题,在学习多智能体合作之前先学习单智能体目标的实现,并推导出一个新的多目标多智能体策略梯度,该梯度具有局部信用分配的信用函数。 完整的体系结构称为CM3,在三个具有挑战性的多目标多智能体问题上,其学习速度明显快于现有算法的直接适应:困难编队中的合作导航https://zhuanlan.zhihu.com/p/451200587
9.检测区域自适应调整的TLD多目标跟踪算法1 DKF检测区域自适应调整检测算法 TLD算法的运行速度虽然优于一般在线学习方法, 但其检测器要对每一帧的整幅图像的所有子窗口进行检索, 由于子窗口过多, 而绝大部分子窗口并不包含真正的跟踪目标, 所以对这些子窗口内的图像块进行检测会浪费大量运算时间, 严重影响目标跟踪的实时性.因此, 提出一种检测区域可动态https://xuebao.neu.edu.cn/natural/article/html/2017-2-214.htm
10.自适应学习是「忽悠」还是「突破」?我们和专注其中的公司聊了聊极在国外,自适应学习并不是个新鲜概念,相反,其是在上世纪七十年代随着人工智能的概念逐渐为人熟知。难怪王枫说,自适应学习就是人工智能在教育里的深度应用。根据维基百科的解释,自适应学习,也称为自适应教育,是一种教育方法,它使用计算机算法来协调与学习者的交互,并提供定制的资源和学习活动,以满足每个学习者的个性化https://www.geekpark.net/news/232390
11.增强型DeepLab算法和自适应损失函数的高分辨率遥感影像分类注册 登录 English Version 论文 图片 资讯 高级检索 首页 关于本刊 期刊在线 特色资源 写作指南 投稿须知 下载中心 期刊征订 联系我们 遥感智能解译 | 浏览量 : 0 下载量: 737 CSCD: 4 更多指标 PDF 导出 分享 收藏 专辑 增强型DeepLab算法和自适应损失函数的高分辨率遥感影像分类 Classification of high-https://www.ygxb.ac.cn/zh/article/doi/10.11834/jrs.20209200/
12.学习报告:一种基于能量的领域适应的主动学习方法所有的方法都是基于 pytorch 实现的, 使用了 ResNet 模型在 ImageeNet 上进行训练。同时比较了主动学习算法、主动领域自适应算法和域自适应算法。 图2 1. 主要结果 VisDA-2017 在VisDA-2017上标注预算为5% 的不同方法的实验结果列于表1的第一栏,证明 EADA 优于所有的基线。随机选取样本的性能优于 ResNet,https://www.scholat.com/teamwork/teamwork/showPostMessage.html?id=10971
13.科学网—随机梯度下降算法研究进展图4学习率对优化过程的影响 本文对近年来随机梯度下降算法的研究进展及主要研究成果进行了综述.根据算法的更新策略,将几种具有代表性的随机梯度下降算法分为四类,包括基于动量的算法、基于方差缩减的算法、基于增量梯度的算法以及自适应学习率的算法.本文介绍了这些算法的原理、核心思想以及相互之间的区别与联系,并通过数https://blog.sciencenet.cn/blog-3291369-1348385.html