blend_and_bagging

  • blending 意思是混和我們的模型
    $$
    \begin{align}
    G(x)=&\frac{1}{T}\sum^{T}_{t=1}g_t(x)\avg((g_t(x)-f(x))^2)=&avg(g_t^2-2g_tf+f^2)\=&avg(g_t^2)-2Gf+f^2\=&avg(g_t^2)-2G^2+G^2+(G-f)^2\=&avg((g_t-G)^2)+(G-f)^2
    \avg(E_{out}(g_t)) =& avg(\epsilon(g_t-G)^2)+(G-f)^2
    \end{align}
    $$
    所以將模型平均後的 error 可能比隨意選取的模型error還要來得小
    $$
    avg(\epsilon(g_t-G)^2) 表示各個模型之間的差異
    $$
    我們也可以用很多不同的方式做blending ,不一定是線性。

  • bagging (boostrap aggregation)

    給定一個大小為n的訓練集D,bagging 算法從中任意選出m個大小為n’的子集合,作為新的訓練集,之後再將其平均或者投票,得到bagging的結果,這種抽樣的方式在統計上叫做boostrap。

  • adaptive boosting

    1. obtain $g_t by A(D,u^{(t)}) ,u^{(t)}一開始為\frac{1}{N}(uniform)$

    2. update $u^{(t)} to u^{(t+1)} by A_t = (\frac{1-E}{E})^{0.5}$

      E 為錯誤率,表示錯得越少我們給越大的權重

    3. compute $\alpha_t = ln(A_t)$

    4. return $G(x)=sign(\sum^{T}{t=1)\alpha_tg_t(x)$