什麼是集成學習?
集成學習:簡單概括就是通過某種合理的方式將多個簡單的基學習器結合起來,以期獲得更準確,更高效的模型。 對某些機器學習任務,有的時候我們使用單個模型已經調到最優,很難再有改進。這時候爲了提高性能,往往會用很少量的工作,組合多個基模型(基學習器),使得系統性能提高。 如果基學習器是從某⼀種學習 算法從訓練數據中產⽣,稱該集成學習是同質的(homogenerous)。如果基學習器是從⼏種不同學習算法從訓練數據中產⽣,則稱集成學習是異質的(heterogenous )。集成學習中, 通常基學習器之間的互補性越強,或者基學習器更多樣的話,集成效果更好。
爲了幫助大家更好的理解各種集成模型到底在作什麼,以及如何減少誤差提升性能的;我們先來看一下誤差的偏差-方差分解。
誤差的偏差-方差分解
點估計的偏差和方差
記訓練樣本數據集D上對參數θ的點估計爲:θ^=g(D),根據頻率學派的觀點,真實值θ是固定的,但是未知,而θ^是一個關於數據D的函數。由於數據是隨機採樣的,因此θ^是一個隨機變量。
於是,點估計的偏差定義爲:
bias(θ^)=E[θ^]−θ
這裏的期望作用在所有數據上。爲了理解這裏的期望,假設我們可以對整個流程重複多次,每次收集得到數據集D,利用訓練數據得到估計θ^, 如果將每次收集到的訓練樣本D看成是關於總體數據的獨立同分布的樣本,那麼每次收集到的D會有些不同,從而每次得到的參數估計θ^肯定也會不同,這多個不同的估計可以看成是期望E[θ^]的估計。
如果bias(θ^)=0,那麼我們就稱這個估計是無偏的。
順便提一嘴,統計上還有個概念叫Fisher一致性,它是從穩健性估計的角度來看
點估計的⽅差爲V(θ^) ,它刻畫的是從潛在的數據分佈中獨⽴地獲取樣本集時,點估計的變化程度。
例題:從均值爲μ的伯努利分佈中,得到獨立同分布樣本x1,x2,…,xN, E(xi)=μ,V(xi)=μ(1−μ)。
樣本均值可作爲參數μ的⼀個點估計,即: μ^=N1∑i=1Nxi
因爲
E(μ^)=E[N1i=1∑Nxi]=N1E[i=1∑Nxi]=μ
所以μ^爲μ的一個無偏估計。
估計的⽅差爲:
V(μ)=V[N1i=1∑Nxi]=N21V[i=1∑Nxi]=N1μ(1−μ)
這表明估計的方差隨樣本數量N增加而下降,估計的⽅差隨着樣本數量的增加⽽下降,這是所有估計的共性,這也是爲什麼說可能的情況下,我們希望訓練樣本數據越多越好。
預測誤差的偏差-方差分解
我們希望模型能夠儘可能準確的描述數據產生的真實規律,這裏的準確是指模型測試集上的預測誤差儘可能小。模型在未知數據上的誤差,稱爲泛化誤差。,它主要有三種來:隨機誤差,偏差和方差。
-
隨機誤差。
隨機誤差η是不可消除的,與我們數據的產生或收集機制密切相關,並且認爲其與真值y∗是獨立的,若y∗爲實值則一般認爲其隨機誤差服從η∼N(0,ση2)的正態分佈, 於是可以的真實值y∗與我們的觀測值y的關係如下:
y=y∗+η
也就是說觀測值y是服從y∼N(y∗,ση2)的正態分佈。
-
偏差。 偏差來源於模型中的錯誤假設。偏差過高就意味着模型所代表的特徵和標籤之間的關係是錯誤的,對應欠擬合現象。
給定數據D,在D上訓練得到我們的模型設爲fD。根據fD對訓練樣本進行測試,得到的預測結果記爲y^D=fD(x)。模型預測的偏差的平方度量模型預測y^D的期望與真實值y∗之間的差異:
bias2(y^D)=(E(y^D)−y∗)2
偏差表示學習算法的期望預測與真實值之間的偏離程度,即偏差刻畫了我們的模型本身對數據的擬合能力。
-
方差。方差來源於模型對訓練數據波動的過度敏感。方差過高意味着模型對
數據中的隨機噪聲也進行了建模,將本不屬於“特徵– 標籤”關係
中的隨機特性也納入到模型之中,對應着過擬合現象.
V[y^D]=E[(y^D−E[y^D])2]
方差表示由於訓練集的變動所導致的學習性能的變化(不穩定性),刻畫了數據擾動造成的影響。
偏差-方差分解推導
通常情況下,我們一般使用L2損失作爲我們的損失函數
L(y^D,y)=(y−y^D)2,
注意這裏的y爲上面提到的觀測值,y=y∗+η。
令y=E[y^D],泛化誤差定義爲損失函數的數學期望:
Err=E[(y−y^D)2]=E[(y^D−(y∗+η))2]=E[(y^D−y∗)2+η2−2η(y^D−y∗)]=E[(y^D−y∗)2]+E[η2]=E[(y^D−y∗)2]+var[η]=E[(y^D−y)+(y−y∗)2]+var[η]=E[(y^D−y)2]+E[(y−y∗)2]+2E[(y^D−y)(y−y∗)]+var[η]=var[y^D]+(y−y∗)2+2(y−y∗)2(E[y^D]−y)+var[η]=var[y^D]+bias2(y^D)+var[η]
即泛化誤差可以分解爲爲預測的偏差的平方、預測的⽅差以及數據的噪聲。我們稱之爲泛化誤差的偏差——方差分解。雖然其他損失函數不能解析證明泛化誤差可分解爲偏差的平方、方差和噪聲,但大致趨勢相同。
偏差-方差分解表明模型的性能是由模型的擬合能力,數據的充分性以及學習任務本身的難度共同決定的:
- 偏差:度量模型的期望預測與真實結果之間的偏離程度,刻畫了模型本身的擬合能力。
- 方差: 度量訓練集的變動所導致的模型性能的變化,刻畫了數據擾動造成的影響。
- 噪聲:度量在當前任務上任何模型所能達到的期望泛化誤差的下界,刻畫了學習問題本身的難度。
至此,看完了偏差——方差分解,我們已經清楚對於某個任務來說,模型的性能受哪幾方面的影響,由於噪聲的存在且我們很難去減少噪聲,所以主要是從減少模型的偏差(Bagging方法)和減少模型的方差(Boosting等)兩方面提高模型的性能,這也是主流集成學習所希望完成的事情。
結合策略
下面簡單介紹下集成學習對基學習器幾種簡單的結合策略,爲我們下一篇打下基礎。
Geometric Average Rule
Arithmetic Average Rule
Majority Voting Rule
參考文獻
- 卿來雲,中國科學院大學《模式識別與機器學習》第七章
- 周曉飛,中國科學院大學《機器學習》 第六章