[機(jī)器學(xué)習(xí)入門] 李宏毅機(jī)器學(xué)習(xí)筆記-35(Ensemble;集成方法)
| VIDEO |
|---|
Ensemble
俗稱打群架,想要得到很好的performance,基本都要用這一手。
You already developed some algorithms and codes.Lazy to modify them.Ensemble: improving your machine with little modification.
Feamework of Ensemble
揪出一堆classifiers,最好是不同的,互補(bǔ)的,妥當(dāng)?shù)匕阉麄兗掀饋?,每一個classifier都扮演著不同的角色。
Ensemble 有很多不同的方法,是為了對待不同的狀況。
Ensemble: Bagging
先回顧一下Bias和Variance
A complex model will have large variance.
We can average complex models to reduce variance.
If we average all the f*,is it close to f^.
所以,如果想讓一個variance很大的model的error變小,可以訓(xùn)練好多個variance很大的model,然后把它們平均起來,這個方法就叫做Bagging。
Sampling N’ examples with replacement,then……
This approach would be helpful when your model is complex, easy to overfit. e.g. decision tree.
Decision Tree
決策樹很容易過擬合,模型很easy。
決策樹不僅僅能判斷上圖的簡單問題,還能解決很多復(fù)雜問題。
比如……下圖這個美少女,把初音的身體代表類別1,其他叫類別0,在這個二維平面上的值,就是input,來output判斷是否在初音的身體上。
不同樹深的實(shí)驗(yàn)表現(xiàn)
到這里很容易理解,決策樹繼續(xù)深下去完全可以做到training data上的完美,因?yàn)榇蟛涣怂梢越o每一個data分一個類,顯而易見,這樣很容易過擬合。
Decision Tree做 bagging 就是 Random Forest。
Random Forest
增加一些隨機(jī)的特性,使樹與樹之間更不像。
每一次分出節(jié)點(diǎn)時,都要決定一下哪些feature 是可以用的,哪些是不可以用的,避免每一個樹都長的很像。
有個bagging方法叫做Out-of-bag。
Out-of-bag(OOB)
bagging的目標(biāo)不是在 training data 上的到更好的表現(xiàn),而是讓bias減小,得到的function更加平滑(初音的肌膚更加細(xì)膩)。
Ensemble: Boosting
Boosting 的目標(biāo)和 Bagging 是相反的,Bagging是把減弱過擬合,而 Boosting 是即使不能 fit training data 的 model,也要想辦法使 performance 更好,Boosting 通過把很多弱的 Classifiers結(jié)合起來,幫助得到強(qiáng)的 Classifiers。
就好比說,只要一個算法能比瞎猜好一點(diǎn)點(diǎn),就能通過boosting變成一個超強(qiáng)的算法。
需要注意的是:The classifiers are learned sequentially.
How to obtain different classifiers?
不同的classifier通過在不同的 training data上做訓(xùn)練,不同的 training data 怎么得到呢?
Re-weighting 能使sample的次數(shù)不是整數(shù)而是小數(shù)。
Adaboost
The performance of f1 for new weights would be random.
舉個栗子
Re-weighting Training Data
就比如,錯的題分值變大,對的題分值變小,75分硬生生整成不及格。
How to find a new training set that fails f1 x ?
What is the value of d1?
答對的weight是Z1(1-ε1),答錯的weight是Z1ε1,所有答錯的weight都會被乘上d1,所有答對的weight都會被除上d1,對錯相等列不等式。
Algorithm for AdaBoost
下接 part 2