統計學習
統計學習:也稱統計機器學習,是計算機基於數據構建概率統計模型,並用模型進行預測與分析的一門學科。
數據是統計學習的對象。統計學習關於數據的基本假設是同類數據具有一定的統計規律性,這是統計學習的前提。這些數據具有某種共同的性質,並且由於具有統計規律性,因此可以用統計學習方法來加以處理。
預測與分析是統計學習的目的,特別是對於未知新數據進行預測與分析。
統計學習方法是基於數據構建統計模型從而對數據進行預測與分析。統計學習由監督學習、非監督學習、半監督學習和強化學習等組成。
統計學習方法概括如下:從給定的、有限的、用於學習的訓練數據集合出發,假設數據是獨立同分布產生的;並且假設要學習的模型屬於某個函數的集合,稱為假設空間;應用於某個評價准則,從假設空間中選取一個最優的模型,使它對已知訓練數據及未知測試數據在給定的評價准則中有最優的預測;最優模型的選取由算法實現。
實現統計學習方法的步驟如下:
1. 得到一個有限的訓練數據集合;
2. 確定包含所有可能的模型的假設空間,即學習模型的集合;
3. 確定模型選擇的准則,即學習的策略;
4. 實現求解最優模型的算法,即學習的算法;
5. 通過學習方法選擇最優模型;
6. 利用學習的最優模型對新數據進行預測或分析。
統計學習研究一般包括:統計學習方法、統計學習理論、統計學習應用。統計學習方法的研究旨在開發新的學習方法;統計學習理論的研究在於探求統計學習方法的有效性與效率,以及統計學習的基本理論問題;統計學習應用的研究主要考慮將統計學習方法應用到實際問題中去,解決實際問題。
監督學習
監督學習的任務是學習一個模型,使模型能夠對任意給定的輸入,對其相應的輸出做出一個好的預測。
在監督學習中,將輸入和輸出所有可能取值的集合分別稱為輸入空間與輸出空間。
每個具體的輸入是一個實例,通常由特征向量表示,所有特征向量存在的空間稱為特征空間。
在監督學習中,將輸入和輸出看作是定義在輸入空間和輸出空間上的隨機變量的取值。
回歸問題:輸入變量與輸出變量均為連續變量的預測問題。
分類問題:輸出變量為有限個離散變量的預測問題。
標注問題:輸入變量與輸出變量均為變量序列的預測問題。
監督學習假設輸入與輸出的隨機變量 X 和 Y 遵循聯合概率分布 P(X,Y)。訓練數據與測試數據被看作是依聯合概率分布 P(X,Y) 獨立同分布產生的。統計學習假設數據存在一定的統計規律,X 和 Y 具有聯合概率分布的假設就是監督學習關於數據的基本假設。
模型屬於輸入空間到輸出空間的映射的集合,這個集合就是假設空間。
監督學習的模型可以是概率模型或非概率模型,由條件概率分布 P(Y|X) 或決策函數 Y=f(X) 表示。
監督學習分為學習和預測兩個過程,由學習系統和預測系統完成。
統計學習三要素
方法=模型+策略+算法:統計學習方法都是由模型、策略和算法構成,這稱為統計學習三要素。
模型
統計學習首要考慮的問題是學習什么樣的模型。在監督學習過程中,模型就是所要學習的條件概率分布或決策函數。模型的假設空間包含所有可能的條件概率分布或決策函數。
我們稱由決策函數表示的模型為非概率模型,由條件概率表示的模型為概率模型。
策略
統計學習接着需要考慮按照什么樣的准則學習或選擇最優的模型。
損失函數:度量模型一次預測的好壞。
風險函數:度量平均意義下模型預測的好壞。
監督學習用損失函數(或稱代價函數)來度量預測錯誤的程度。
統計學習常用的損失函數有以下幾種:
(1)0-1 損失函數
(2)平方損失函數
$$L(Y,f(X))=(Y-f(X))^2$$
(3)絕對損失函數
$$L(Y,f(X))=\left | Y-f(X) \right |$$
(4)對數損失函數或對數似然損失函數
$$L(Y, P(Y|X))=-logP(Y|X)$$
損失函數值越小,模型就越好。損失函數的期望稱為風險函數或期望風險:
$$R_{exp}(f)=E_p[L(Y,f(X))]=\int _{X\times Y}L(y,f(x))P(x,y)dxdy$$
由於聯合分布 P(X,Y) 是未知的,因此風險函數(期望風險)不能直接計算。
風險函數雖然不能直接計算,卻可以盡可能去近似它。
經驗風險或經驗損失是模型 f(X) 關於訓練數據集的平均損失。
$$R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))$$
經驗風險是模型關於訓練樣本集的平均損失。根據大數定律,當樣本容量 N 趨於無窮時,經驗風險趨於風險函數。
監督學習的兩個基本策略:經驗風險最小化和結構風險最小化。
經驗風險最小化(Empirical Risk Minimization, ERM)的策略認為,經驗風險最小的模型是最優的模型。根據這一策略,求最優模型就是求解最優化問題:
$$\underset{f\in F}{min}R_{emp}(f)$$
當樣本容量足夠大,ERM 能保證有很好的學習效果,在現實中被廣泛采用。比如,極大似然估計就是 ERM 的一個例子。當模型是條件概率分布,損失函數是對數似然函數時,ERM 就等價於極大似然估計。
但是,當樣本容量很小時,ERM 的效果未必很好,容易產生過擬合現象。
結構風險最小化(Structural Risk Minimization, SRM)是為了防止過擬合而提出來的策略。SRM 等價於正則化,SRM 在 ERM 基礎上加上表示模型復雜度的正則化項。結構風險定義為:
$$R_{struc}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))+\lambda J(f)$$
其中 J(f) 表示模型的復雜度。
SRM 策略認為結構風險最小的模型是最優的模型,所以求最優模型就是求解最優化問題:
$$\underset{f\in F}{min}R_{struc}(f)$$
貝葉斯估計中的最大后驗概率估計就是 SRM 的一個例子。當模型是條件概率分布、損失函數是對數似然函數、模型復雜度由模型的先驗概率表示時,SRM 就等價於最大后驗概率估計。
算法
算法是指學習模型的具體計算算法。算法考慮的是用什么樣的計算方法求解最優模型。
前面由於統計學習問題歸結為了最優化問題,於是算法就是求解最優化問題的算法。
模型評估和模型選擇
不同的學習方法會給出不同的模型。當損失函數給定時,基於損失函數的模型的訓練誤差和模型的測試誤差自然稱為學習方法評估的標准。
注意,這里的評估不能跟前面的策略搞混。這里的損失函數也不能跟前面的損失函數搞混。統計學習方法具體采用的損失函數未必是評估時使用的損失函數。
上一節的過程是學習模型的過程,我們選用了不同的模型三要素,進行訓練學習,得到了不同模型。而本節的模型評估和模型選擇,是對於這些已經學得的模型,進行進一步的評估和處理。
訓練誤差是模型關於訓練數據集的平均損失
$$R_{emp}(\hat{f})=\frac{1}{N}\sum_{i=1}^{N}L(y_i,\hat{f}(x_i))$$
測試誤差是模型關於測試數據集的平均損失:
$$e_{test}=\frac{1}{{N}'}\sum_{i=1}^{{N}'}L(y_i,\hat{f}(x_i))$$
訓練誤差:對於判斷給定的問題是不是一個容易學習的問題是有意義的,但本質上並不重要。
測試誤差:反映了學習方法對未知的測試數據集的預測能力(泛化能力),是學習中的重要概念。
給定兩種學習方法,測試誤差小的方法具有更好的預測能力,是更有效的方法。
當我們的模型表現不佳時,通常是偏差或方差過高出現的問題。
偏差:描述模型輸出結果的期望與樣本真實結果的差距。
方差:描述模型對於給定值的輸出穩定性。
所選擇的模型應該逼近真模型。具體地,所選擇的模型要與真模型的參數個數相同,所選擇的模型的參數向量與真模型的參數向量相近。如果一味追求提高對訓練數據的預測能力,所選模型的復雜度則往往會比真模型更高,這種現象稱為過擬合。過擬合是指學習時選擇的模型所包含的參數過多,以致於出現這一模型對已知數據預測得很好,但對未知數據預測得很差的現象。模型選擇旨在避免過擬合並提高模型的預測能力。
在學習時要防止過擬合,進行最優的模型選擇,即選擇復雜度適當的模型,已達到使測試誤差最小的學習目的。常用的模型選擇方法:正則化與交叉驗證。
模型選擇的典型方法是正則化,正則化是結構風險最小化策略的實現。 正則化的作用是選擇經驗風險與模型復雜度同時較小的模型。
另一種常用的模型選擇方法是交叉驗證。
如果給定的樣本數據充足,進行模型選擇的簡單方法是隨機地將數據集分為三部分:訓練集、驗證集、測試集。
訓練集用於訓練模型;驗證集用於模型的選擇;測試集用於最終對學習方法的評估。
但是在許多實際應用中數據是不充足的,為了選擇好的模型,可以采用交叉驗證方法。
交叉驗證的基本思想是重復地使用數據。交叉驗證的種類:
1. 簡單交叉驗證:首先隨機地將數據分為訓練集和測試集兩部分;然后用訓練集在各種條件下(不同參數個數)訓練模型,得到不同的模型;在測試集上評價各個模型的測試誤差,選出測試誤差最小的模型。
2. S 折交叉驗證(應用最多):首先隨機地將已給數據切分為 S 個互不相交的大小相同的子集;然后利用 S-1 個子集的數據訓練模型,利用余下的子集測試模型;將這一過程對可能的 S 種選擇重復進行;最后選出 S 次評測中平均測試誤差最小的模型。
3. 留一交叉驗證:S 折交叉驗證的特殊情形(S=N),往往在數據缺乏的情況下使用。
泛化能力
學習方法的泛化能力:該方法學習到的模型對未知數據的預測能力,是學習方法本質上的重要的性質。現實中采用最多的辦法是通過測試誤差來評價學習方法的泛化能力。但這種評價是依賴於測試數據集的。因為測試數據集是有限的,很有可能由此得到的評價結果是不可靠的。
泛化誤差就是所學到的模型的期望風險。
生成模型與判別模型
監督學習方法又可以分為生成方法和判別方法。所學到的模型分別稱為生成模型和判別模型。
生成方法由數據學習聯合概率分布 P(X,Y),然后求出條件概率分布 P(Y|X) 作為預測的模型(即生成模型):
$$P(Y|X)=\frac{P(X,Y)}{P(X)}$$
之所以稱為生成方法,這是因為模型表示了給定輸入 X 產生輸出 Y 的生成關系。注意:生成方法可以還原出聯合概率分布 P(X,Y)。典型的生成模型有:朴素貝葉斯法、隱馬爾科夫模型。
判別方法由數據直接學習決策函數 f(X) 或者條件概率分布 P(Y|X) 作為預測的模型(即判別模型)。判別方法關心的是對給定的輸入 X,應該預測什么樣的輸出 Y。典型的判別模型包括:k 近鄰法、感知器、決策樹、邏輯回歸、最大熵模型、支持向量機、提升方法、條件隨機場等。
生成方法的特點:
1. 可以還原出聯合概率分布 P(X,Y),而判別方法不能;
2. 學習收斂速度更快
3. 存在隱變量,仍可以用生成方法學習,判別方法不能。
判別方法的特點:
1. 直接學習條件概率或決策函數;
2. 直接面對預測,往往學習的准確率更高;
3. 可以對數據進行各種程度的抽象、定義特征並使用特征,簡化學習問題。
分類問題
當輸出變量 Y 取有限個離散值時,預測問題便成為分類問題。
評價分類器性能的指標有很多,以下分別介紹。
准確率:對於給定的測試集,分類器正確分類的樣本數與總樣本數之比。
對於二分類問題,以關注的類為正類,其他類為父類,以下是二分類的混淆矩陣。
准確率:$A=\frac{TP+TN}{P+N}$
精確度:$P=\frac{TP}{TP+FP}$
召回率:$R=\frac{TP}{TP+FN}$
F1 值:精確度和召回率的調和均值,$\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}$
參考:《統計學習方法》李航
本文到此結束,如有建議或意見,請留言反饋。