統計學習方法概論
1.1 統計學習
1.1.1 統計學習的特點
是關於計算機基於數據構建概率統計模型並運用模型對數據進行預測與分析的一門學科
1.1.2. 統計學習的對象
對象是數據,基本假設是同類數據具有一定的統計規律性
1.1.3. 統計學習的目的
用於對數據進行預測和分析,總的目標是考慮學習什麼樣的模型和如何學習模型
1.1.4. 統計學習的方法
基於數據構建統計模型從而對數據進行預測和分析
由監督學習.非監督學習.半監督學習和強化學習組成
1.1.5. 統計學習的研究
一般包括統計學習方法,統計學習理論,及統計學習應用
1.2 監督學習
學習一個模型,使模型能夠對任意給定的輸入,對其相應的輸出做出好的預測
1.2.1 基本概念
- 輸入空間和輸出空間
- 每個具體的輸入是一個實例,通常由特徵向量表示
- 輸入和輸出看作是定義在輸入(特徵)空間和輸出空間上隨機變量的取值
- 輸入輸出用大寫字母表示,輸入輸出變量用小寫字母表示
eg:
x=(x(1),x(2),x(3),⋯,x(i),⋯,x(n))T
xi=(x(1)i,x(2)i,x(3)i,⋯,x(i)i,⋯,x(n)i)T
- 迴歸問題——輸入輸出均爲連續變量
- 分類問題——輸出爲離散變量
標註問題——輸入輸出均爲變量序列
聯合概率分佈
- 假設空間——輸入空間到輸出空間的映射的集合
1.2.2 問題的形式化
監督學習利用訓練數據集訓練一個模型,再用模型對測試樣本集進行預測
在學習過程中,學習系統利用給定的訓練數據集,通過學習(或訓練)得到一個模型,表示爲條件概率分佈P^(Y|X) 或決策函數Y=f^(X) .
在預測過程中,預測系統對於給定的測試樣本集中的輸入xN+1 ,由模型yN+1=argmaxP^(yN+1|xN+1) 或yN+1=f^(xN+1) 給出相應的輸出yN+1
1.3 統計學習三要素
1.3.1 模型
監督學習中,模型就是所要學習的條件概率分佈或決策函數
假設空間爲決策函數的集合:F={f|Y=fθ(x),θϵRn} ,非概率模型
假設空間爲條件概率的集合:F={P|Pθ(Y|X),θϵRn} ,概率模型
其中θ 稱之爲參數空間
1.3.2 策略
損失函數——度量模型一次預測的好壞
風險函數——度量平均意義下模型的好壞
eg:
- 0-1損失函數 L(Y,f(X))={1,0,Y≠f(X)Y=f(X)
- 平方損失函數 L(Y,f(X))=(Y−f(X))2
- 絕對損失函數 L(Y,f(X))=|Y−f(X)|
- 對數損失函數或對數似然函數 L(Y,P(Y|X))=−logP(Y|X)
風險函數或期望損失——Rexp(f)=Ep[L(Y,f(X))]=∫x∗yL(y,f(x))P(x,y)dxdy
經驗風險或經驗損失——Remp(f)=1n∑ni=1L(yi,f(xi))
根據大數定律,當樣本容量N趨於無窮時,經驗風險趨於期望風險
經驗風險最小化:minfϵF1n∑ni=1L(yi,f(xi))
當模型是條件概率分佈,損失函數是對數損失函數時,經驗風險最小化等價於極大似然估計,證明如下:
min1n∑ni=1−log(Pθ(yi|xi))↔max1n∑ni=1log(Pθ(yi|xi))↔max1n∏ni=1Pθ(yi|xi)
- 結構風險最小化:,minfϵF1n∑ni=1L(yi,f(xi))+λJ(f) ,其中J(f) 爲模型的複雜度
當模型是條件概率分佈,損失函數是對數損失函數時,模型複雜度由模型的先驗概率表示時,結構風險最小化等價於最大後驗概率估計,證明如下:
μ^MAP=argmaxμP(μ|X)=argmaxμP(X|μ)P(μ)P(X)=argmaxμP(X|μ)P(μ)
取log之後:
μ^MAP=argmaxμlogP(μ|X)=argmaxμ(log∏i=1nP(xi|μ)+logP(μ))=argmaxμ(log∑i=1nP(xi|μ)+logP(μ))=argminμ(−∑i=1nlogP(xi|μ)−logP(μ))
1.3.3 算法
最優化問題,找到全局最優解
1.4 模型評估與模型選擇
1.4.1 訓練誤差與測試誤差
- 訓練誤差:模型在訓練數據集上的平均損失 Remp(f^)=1N∑Ni=1L(yi,f^(xi))
- 測試誤差:模型在測試數據集上的平均損失 etest(f^)=1N′∑N′i=1L(yi,f^(xi))
1.4.2 過擬合與模型選擇
過擬合是指學習時選擇的模型所包含的參數過多,以至於這一模型對已知數據預測的很好,但對未知數據預測很差的現象
以M次多項式函數擬合舉例
L(w)=12∑Ni=1(∑Mj=1wjxji−yi)2
wj=∑Ni=1xjiyi∑Ni=1xj+1i
M=9時出現了過擬合,不是很好的預測
當模型的複雜度變大時,訓練誤差逐漸減小並趨向於0,而測試誤差會先減小,達到最小值後又增大
1.5 正則化與交叉驗證
1.5.1 正則化
正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或罰項,正則化項一般是模型複雜度的單調遞增函數。
min1N∑Ni=1L(yi,f(xi))+λJ(f)
- 迴歸問題中,損失函數是平方損失,正則化項可以是參數向量的L2 範數,L(w)=1N∑Ni=1(f(xi;w)−yi)2+λ2||w||2
- 也可以是參數向量的L1 範數,L(w)=1N∑Ni=1(f(xi;w)−yi)2+λ||w||
從貝葉斯估計的角度來看,正則化對應於模型的先驗概率,可以假設複雜的模型有較小的先驗概率,簡單的模型有較大的先驗概率。
1.5.2 交叉驗證
將數據集分爲三部分,訓練集,驗證集和測試集。
重複的使用數據,把給定的數據進行切分,在此基礎上進行反覆的訓練測試和模型選擇
1.6 泛化能力
1.6.1 泛化誤差
如果學到的模型是f^
Rexp(f^)=Ep[L(Y,f^(X))]=∫x∗yL(y,f^(x))P(x,y)dxdy
引理1 令A1,A2,⋯,Ak 爲k個不同的事件(不一定相互獨立),那麼有:P(A1∪A2∪⋯∪Ak)≤P(A1)+P(A2)+⋯+P(Ak)
引理2 Hoeffding 不等式,如果X1,X2,⋯,Xn 是一組獨立同分布的參數爲p的伯努利分佈隨機變量,定義這組隨機變量均值爲X¯¯¯¯=1n∑ni=1Xi ,對於任意的ϵ>0 ,P{|X¯¯¯¯−E(X¯¯¯¯)|>ϵ}≤2e−2ϵ2n
(1)有限假設空間情況(F={f1,f2,⋯,fM} )
對任意假設fk
樣本內誤差:Ein(fk)=1n∑ni=1I(fk(i)≠f(i))
樣本外誤差:Eout(fk)=P(fk(i)≠f(i))
由Hoeffding不等式得知,對於任意的ϵ>0 ,P(|Ein(fk)−Eout(fk)|>ϵ)≤2e−2ϵ2n
P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)=P(∪|Ein(f)−Eout(f)|>ϵ)≤∑Mi=1P(Ein(fi)−Eout(fi)|>ϵ)≤2Me−2ϵ2n
等價爲P(∀fϵF:|Ein(f)−Eout(f)|≤ϵ)>1−2Me−2ϵ2n
令2Me−2ϵ2n 爲σ ,則至少有1−σ 概率,|Ein(f)−Eout(f)|≤12nln2Mσ−−−−−−−√
(2)無限假設空間情況
當M無限大時,(1)中求得的界限便沒有了意義,如果可以將這無限大的假設空間分成有限的幾類,按照樣本數據劃分方式進行分類,便可以將無限的問題轉換成有限的問題。
以平面線性二分類舉例
當樣本數爲1時,我們可以把假設分成2類。
當樣本數爲2時,我們可以把假設分爲4類。
設F 爲假設集,我們用F(X1,X2,⋯,XN) 表示分成的類數,並且有F(X1,X2,⋯,XN)≤2N
可是隨着樣本的不同,即使樣本數一致,分成的類數會有所不同
如上圖樣本數爲3時,我們可以分爲8類和6類
因此我們引入成長函數mF(N)
mF(N)=maxx1,x2,⋯,xNϵXF(X1,X2,⋯,XN)
mF(N)≤2N
我們將成長函數替換到(1)中所求,P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)≤2mF(N)e−2ϵ2n≤22ne2ϵ2n
在樣本數爲4時,我們可以分爲14類,如下圖,出現了2種表示不出的情況,我們將4其稱之爲斷點
只要假設集存在斷點,成長函數滿足一個更小的上界,mF(N)≤∑k−1i=0CiN
VC Bound:
P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)≤2⋅2mF(2N)e2⋅116Nϵ2≤2⋅2⋅∑k−1i=0Ci2Ne2⋅116Nϵ2
1.7 生成模型和判別模型
監督學習方法可分爲生成方法和判別方法,所學到的模型分別稱爲生成模型和判別模型
- 生成方法由數據學習聯合概率分佈P(X,Y),然後求出條件概率分佈P(Y|X),P(Y|X)=P(X,Y)P(X) ,典型的生成模型有隱馬爾可夫模型和樸素貝葉斯法,其優點在於可以還原聯合概率分佈,學習收斂速度更快
- 判別方法由數據直接學習決策函數f(X)或者條件概率分佈P(Y|X),典型的判別模型有k近鄰法,感知機,決策樹,邏輯斯蒂迴歸,最大熵模型等,其優點在於直接學習模型,準確率更高,可以簡化學習問題。
1.8 分類問題
(x1,y1),(x2,y2),⋯,(xN,yN) 是訓練數據集,訓練系統由訓練數據訓練一個分類器Y=f(X) 或P(Y|X) ,將新的輸入實例xN+1 分類爲yN+1
TP——將正類預測爲正類數
FN——將正類預測爲負類數
FP——將負類預測爲正類數
FN——將負類預測爲負類數
- F1 值爲精確率和召回率的調和均值,2F1=1P+1R ,F1=2TP2TP+FP+FN
1.9 標註問題
輸入是一個觀測序列,輸出是一個標記序列或狀態序列,標註問題的目標在於學習一個模型,使它能夠對觀測序列給出標記序列作爲預測。
給定訓練數據集T={(x1,y1),(x2,y2),⋯,(xN,yN)}
xi=(x(1)i,x(2)i,⋯,x(n)i)T,i=1,2,⋯,N 是輸入觀測序列
yi=(y(1)i,y(2)i,⋯,y(n)i)T,i=1,2,⋯,N 是相應的輸出標記序列
學習系統基於訓練數據構建一個模型,P(Y(1),Y(2),⋯,Y(n)|X(1),X(2),⋯,X(n))
具體的,對一個觀測序列xN+1=(x(1)N+1,x(2)N+1,⋯,x(n)N+1)T
找到令條件概率P((y(1)N+1,Y(2)N+1,⋯,Y(n)N+1)|X(1)N+1,X(2)N+1,⋯,X(n)N+1) 最大的標記序列xN+1=(y(1)N+1,y(2)N+1,⋯,y(n)N+1)T
1.10 迴歸問題
預測輸入變量(自變量)與輸出變量(因變量)之間的關係,等價於函數擬合