統計學習
統計學習是關於計算機 基於數據構建概率統計模型並運用模型對數據進行預測與分析的一門學科。總的來說,統計學習也稱爲統計機器學習。
統計學習的特點
統計學習的對象
統計學習的對象是數據(Data).從數據出發,提取數據特徵,抽象出數學模型,發現數學中的知識,又回到對數據分析和預測中去。數據是多樣的,包括存在計算機上的一些數字、圖片、音頻等。
統計學習的方法
方法
統計學習三要素
-
模型——Model
-
策略——Strategy
-
算法——Algorithm
模型
統計學習首要考慮的問題就是學習什麼樣的模型。在監督學習過程中,模型就是所要學習的條件概率分佈或者決策函數。模型的假設空間包含所有可能條件概率分佈或者決策函數。
策略
1.損失函數和風險函數
監督學習問題實在假設空間中選取模型作爲決策函數,對於給定的輸入X,由函數給出相應的輸出Y,這個輸出的值可能和預測值不一樣。用一個損失函數或者代價函數來度量預測的錯誤的程度。統計學習常用的損失函數有如下幾種:
-
0-1損失函數
L(Y,f(X))={10,,Y=f(X)Y=f(X)
-
平方損失函數
L(Y,f(X))=(Y−f(X))2
-
絕對損失函數
L(Y,f(X))=∣Y−f(X)∣
-
對數損失函數或者對數似然損失函數
L(Y,f(X))=−lgP(Y∣X)
損失函數值越小,說明模型越好。由於模型的輸入、輸出(X,Y)是隨機變量,遵循聯合分佈P(X,Y),所以損失函數的期望是:
Rexp(f)=Ep[L(Y,f(X))]=∫x×yL(y,f(x))P(x,y)dxdy
這稱爲風險函數或者期望損失(Expected Loss)。但是在實際情況下,由於聯合分佈P(X,Y)是未知的,期望損失還是難以計算的。此時需要計算經驗風險,也即是模型關於選練級的平均損失,當樣本容量趨於無窮大時,經驗風險時趨近於期望風險。實際上,這也是統計學習方法中的兩種策略:經驗風險最小化和結構風險最小化。
經驗風險最小化和結構最小化
經驗風險最小化(empirical risk minimization,ERM)策略表示經驗風險最小的模型是最優的模型。即:
fϵFminN1i=1∑NL(yi,f(xi))
當樣本容量較大時,經驗風險最小化能提供一個很好的效果,但是當樣本容量過小時,模型容易出現“過擬合”的現象。此時需要考慮結構風險最小化(structural risk minimization,SRM),它是爲了防止過擬合而提出來的策略。結構風險最小化等於正則化。結構風險需要在經驗風險上再加上正則化項或者懲罰項,可定義如下:
經驗風險:Remp(f)=N1i=1∑NL(yi,f(xi))結構風險:Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中J(f)表示模型的複雜度。複雜度表示了對複雜模型的懲罰。如貝葉斯估計就是最好的結構最小化策略的例子。
最終的問題編程求解最優解問題:
fϵFminN1i=1∑NL(yi,f(xi))+λJ(f)
算法
算法是指學習模型的具體計算的方法。
模型的評估和選擇
訓練誤差和測試誤差
訓練誤差的大小反應的是判斷給定的問題是不是一個容易學習的問題是有意義的,測試誤差反映了學習方法對未知的測試數據集的預測能力。測試誤差小的方法具有更好的預測的能力,通常將學習方法對未知數據的預測能力稱爲泛化能力。
過擬合
當所選的模型的複雜度比真模型更高,這種現象稱爲過擬合。過擬合表示學習時選擇的模型包含的參數過多,以至於出現這一模型對已知數據預測得更好,但對未知測試數據得預測能力差。此時採取的策略可以是使用正則化等。
模型選擇的方法:正則化與交叉驗證
泛化能力
如果學到的模型是f,那麼這個模型對未知數據預測的誤差是:
Rexp(f)=Ep[L(Y,f(X))]=∫x×yL(y,f(x))P(x,y)dxdy
泛化誤差反映了學習方法的泛化能力。實際上,泛化誤差也是期望誤差。
泛化誤差上界
學習方法的泛化能力往往是通過分析研究泛化誤差的概率上界進行的,簡稱爲泛化誤差上界。
定理:對於而分類問題,當假設空間是有限個函數的集合F={f1,f2,…fd}時,對任意一個函數f屬於F,至少滿足以下不等式:
R(f)≤R(f)+ε(d,N,δ)其中,ε(d,N,δ)=2N1(lgd+lgδ1)
右邊式子中第一項是訓練誤差,訓練誤差越小,泛化誤差也就越小。第2項是單調遞減函數,當N趨於無窮時趨於0.
證明過程如下:
提示:在證明過程中需要用到Hoeffding不等式。Hoeffding不等式描述如下:設Sn=i=1∑Xi是隨機變量X1、X2、...Xn之和,Xiϵ[ai,bi],則對任意t>0,以下不等式成立:P(Sn−ESn≥t)≤exp(∑i=1(bi−ai)−2t2)P(ESn−Sn≥t)≤exp(∑i=1(bi−ai)−2t2)對於任意函數fϵF,R(f)是N個獨立隨機變量L(Y,f(X))的樣本均值,R(f)是隨機變量值的期望值。對於樣本空間中的所有隨機變量,∵Sn=X1+X2+...Xn,X=N1Sn,ESn=E(i=1∑Xi)∴E(X)=N1ESn∴P(Xn−E(Xn)≥t)=P(Sn−ESn≥nt)≤exp(∑i=1(bi−ai)−2t2)即:P(Xn−E(Xn)≥t)=P(Sn−ESn≥nt)≤exp(∑i=1(bi−ai)−2n2t2)對於二分類任務,在樣本空間中:R(f)=E[L(Y,f(X))]代表着期望風險,表示備選模型在測試集上的表現R(f)=N1i=1∑nL(yi,f(xi)),代表經驗風險,表示着備選模型在訓練集上的表現∵損失函數取值於[0,1],即對所有i,[ai,bi]=[0,1]。∴P(Xn−E(Xn)≥t)=P(Sn−ESn≥nt)≤exp(∑i=1(bi−ai)−2n2t2)=exp(n−2n2t2)=exp(−2nt2)∴對於∀ε>0,以下滿足:P(R(f)−R(f)≥ε)≤exp(−2nε2)∵命題是對任意一個函數f屬於F,至少都有概率1−δ滿足不等式成立∴對於d個備選模型,有P(∃f∈F,P(R(f)−R(f)≥ε)=P(R(f1)−R(f1)≥ε⋃R(f2)−R(f2)≥ε...⋃R(fn)−R(fn)≥ε)≤i=1∑dP(R(fi)−R(fi)≥ε)≤dexp(−2nε2)∴原命題滿足:P(∀f∈F,P(R(f)−R(f)≤ε)≥1−dexp(−2nε2)令1−dexp(−2nε2)=δ,則ε=ε(d,n,δ)=2n1(lgd+lgδ1),其中ε是一個三元組,d是備選模型個數,n是樣本數即:上述不等式P(∀f∈F,P(R(f)−R(f)≤ε)≥1−δ成立
生成模型和判別模型的區別
監督學習包括生成模型和判別模型。
區別
生成模型:由數據學習聯合概率分佈P(X,Y),然後求出條件概率分佈P(Y|X)作爲預測的模型。由給定輸入的X產生輸出Y。常見模型:樸素貝葉斯法、隱馬爾科夫模型。
P(Y∣X)=P(X)P(X,Y)
判別模型:由數據直接學習方法決策函數F(X)或者條件概率分佈P(Y|X)作爲預測模型。判別方法關心給定的輸入X,應該如何預測如何的模型。常見的判別模型:K近鄰方法、感知機、決策樹、邏輯迴歸、最大熵模型、支持向量機、條件隨機場等。
比較
-
生成方法:
- 生成方法可以還原出聯合概率分佈,而判別方法不能。
- 學習收斂方法更快。
- 當隱變量存在時,仍可以用生成方法學習,但判別方法不能。
-
判別方法:
-
- 直接學習得是體條件概率分佈或者決策函數,直接預測,準確率高;
- 由於直接學習P(Y|X)或者f(X),可以對數據進行各種程度上的抽象、定義特徵並使用特徵,可以簡化學習問題。
思維導圖