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
obtain $g_t by A(D,u^{(t)}) ,u^{(t)}一開始為\frac{1}{N}(uniform)$
update $u^{(t)} to u^{(t+1)} by A_t = (\frac{1-E}{E})^{0.5}$
E 為錯誤率,表示錯得越少我們給越大的權重
compute $\alpha_t = ln(A_t)$
return $G(x)=sign(\sum^{T}{t=1)\alpha_tg_t(x)$