通常來講,聚合的種類有四種:
1. 多個(gè)g供璧,選取其中Eval最小的那個(gè);G(x)=gt???(x)?with?t??=argmint∈1,2,?,T??Eval?(gt??)
2. 多個(gè)g,每個(gè)g的權(quán)重一樣 , 為1桑寨;G(x)=sign(∑?1?gt?(x))
3. 多個(gè)g,每個(gè)g的權(quán)重不一樣 ,但是為常數(shù)猜憎,?;G(x)=sign(∑?αt??gt?(x))?with?αt?≥0
4.?多個(gè)g搔课,每個(gè)g的權(quán)重不一樣 拉宗,但是不為常數(shù),隨著條件的變化而變化辣辫,?旦事;G(x)=sign(∑?qt?(x)?gt?(x))?with?qt?(x)≥0
為什么聚合(aggregation) 要比單個(gè)g要做的好呢?
1. 將多條不同的g聚合在一起急灭,得到一個(gè)G姐浮。增強(qiáng)了power,降低Ein葬馋,因此起到了 feature transform的作用卖鲤;
2. 多條不同的g,對(duì)相同的樣本點(diǎn)畴嘶,有的判斷為+1蛋逾,有的判斷為-1;有的離分界線近窗悯,有的離分界線遠(yuǎn)区匣。但是如果將這些g進(jìn)行聚合,那么如果服從“少數(shù)服從多數(shù)”原則蒋院,那么判斷錯(cuò)誤的點(diǎn)有可能會(huì)被修正亏钩,離邊界線近的有可能遠(yuǎn)離margin。這樣就起到了“中庸”的作用欺旧。換句話說姑丑,就是正則化 regulation。
基于以上的兩個(gè)例子辞友,我們得到了aggregation的兩個(gè)優(yōu)勢(shì):feature transform和regularization栅哀。我們之前在機(jī)器學(xué)習(xí)基石課程中就介紹過,feature transform和regularization是對(duì)立的称龙,還把它們分別比作踩油門和踩剎車留拾。如果進(jìn)行feature transform,那么regularization的效果通常很差茵瀑,反之亦然间驮。也就是說,單一模型通常只能傾向于feature transform和regularization之一马昨,在兩者之間做個(gè)權(quán)衡竞帽。但是aggregation卻能將feature transform和regularization各自的優(yōu)勢(shì)結(jié)合起來扛施,好比把油門和剎車都控制得很好,從而得到不錯(cuò)的預(yù)測(cè)模型屹篓。
Uniform Blending for Regression
每個(gè)g的權(quán)重相同疙渣。
推導(dǎo)過程中注意G(t)=avg(gt?)。經(jīng)過推導(dǎo)堆巧,我們發(fā)現(xiàn)等式后面的第一項(xiàng)是大于0的妄荔,因此聚合后G的Eout要比每一個(gè)g與目標(biāo)函數(shù)的Eout還要來的優(yōu)秀。
上述等式中左邊表示演算法誤差的期望值谍肤;右邊第二項(xiàng)表示不同gt?的平均誤差共識(shí)啦租,用偏差bias表示;右邊第一項(xiàng)表示不同gt?與共識(shí)的差距是多少荒揣,反映gt之間的偏差篷角,用方差variance表示。也就是說系任,一個(gè)演算法的平均表現(xiàn)可以被拆成兩項(xiàng)恳蹲,一個(gè)是所有g(shù)t的共識(shí),一個(gè)是不同gt之間的差距是多少俩滥,即bias和variance嘉蕾。而uniform blending的操作時(shí)求平均的過程,這樣就削減弱化了上式第一項(xiàng)variance的值霜旧,從而演算法的表現(xiàn)就更好了错忱,能得到更加穩(wěn)定的表現(xiàn)。
Linear and Any Blending
Linear Blending中使用的gt?是通過模型選擇而得到的颁糟,利用validation航背,從 Dtrain?中得到g1??,g2??,?,gT??。然后將 Dtrain?中每個(gè)數(shù)據(jù)點(diǎn)經(jīng)過各個(gè)矩的計(jì)算得到的值棱貌,代入到相應(yīng)的linear blending計(jì)算公式中,迭代優(yōu)化得到對(duì)應(yīng)α值箕肃。最終婚脱,再利用所有樣本數(shù)據(jù),得到新的gt?代替gt??勺像,則G(t)就是gt?的線性組合而不是gt??障贸,系數(shù)是αt?。
除了linear blending之外吟宦,還可以使用任意形式的blending篮洁。linear blending中,G(t)是g(t)的線性組合殃姓;any blending中袁波,G(t)可以是g(t)的任何函數(shù)形式(非線性)瓦阐。這種形式的blending也叫做Stacking。any blending的優(yōu)點(diǎn)是模型復(fù)雜度提高篷牌,更容易獲得更好的預(yù)測(cè)模型睡蟋;缺點(diǎn)是復(fù)雜模型也容易帶來過擬合的危險(xiǎn)。所以枷颊,在使用any blending的過程中要時(shí)刻注意避免過擬合發(fā)生戳杀,通過采用regularization的方法,讓模型具有更好的泛化能力夭苗。
Bagging
由于資料是有限的信卡,那么要構(gòu)造出Dt,并且要iid题造。這叫bootstrapping傍菇。bootstrapping的做法是,假設(shè)有N筆資料晌梨,先從中選出一個(gè)樣本桥嗤,再放回去,再選擇一個(gè)樣本仔蝌,再放回去泛领,共重復(fù)N次。這樣我們就得到了一個(gè)新的N筆資料敛惊,這個(gè)新的Dt???中可能包含原D里的重復(fù)樣本點(diǎn)渊鞋,也可能沒有原D里的某些樣本,Dt???與D類似但又不完全相同瞧挤。值得一提的是锡宋,抽取-放回的操作不一定非要是N,次數(shù)可以任意設(shè)定特恬。例如原始樣本有10000個(gè)执俩,我們可以抽取-放回3000次,得到包含3000個(gè)樣本的Dt???也是完全可以的癌刽。利用bootstrap進(jìn)行aggregation的操作就被稱為bagging役首。