統計學習方法第一章:概述

1.監督學習基本概念

1.1輸入空間、特徵空間與輸出空間

在監督學習中,將輸入與輸出所有可能取值的集合分別稱爲輸入空間(input space)與輸出空間(output space)。輸入與輸出空間可以是有限元素的集合,也可以是整個歐式空間。輸入空間與輸出空間可以是同一個空間,也可以是不同的空間;但通常輸出空間遠遠小於輸入空間。
每個具體的輸入是一個實例(instance),通常由特徵向量(feature vector)表示,這時,所有特徵向量存在的空間稱爲特徵空間(feature space)。特徵空間的每一維對應於一個特徵。有時假設輸入空間與特徵空間爲相同的空間,對它們不予區分;有時假設輸入空間與特徵空間爲不同的空間,將實例從輸入空間映射到特徵空間。模型實際上都是定義在特徵空間上的。
在監督學習過程中,將輸入與輸出看作是定義在輸入(特徵)空間與輸出空間上的隨機變量的取值。輸入、輸出變量用大寫字母表示,習慣上輸入變量寫作X,輸出變量寫作Y。輸入、輸出變量所取的值用小寫字母表示,輸入變量的取值寫作x,輸出變量的取值寫作y,變量可以是標量或向量,都用相同類型字母表示。除特別聲明外,本書中向量均爲列向量,輸入實例x的特徵向量記作
x=(x(1),x(2),x(i),...x(n))Tx = (x^{(1)},x^{(2)},x^{(i)},...x^{(n)})^T
x(i)x^{(i)}表示x的第i個特徵,注意,x(i)x^{(i)}x(i)x_{(i)}不同,本書通常用x(i)x_{(i)}表示多個輸入變量中的第i個,即
xi=(xi(1),xi(2),xi(i),...xi(n))Tx_i = (x_i^{(1)},x_i^{(2)},x_i^{(i)},...x_i^{(n)})^T
監督學習從訓練數據(training data)集合中學習模型,對測試數據(test data)進行預測,訓練數據由輸入(或特徵向量)與輸出對組成,訓練集通常表示爲:
在這裏插入圖片描述
測試數據也由相應的輸入與輸出對組成,輸入與輸出對又稱爲樣本(sample)或樣本點。
輸入變量X和輸出變量Y有不同的類型,可以是連續的,也可以是離散的。人們根據輸入、輸出變量的不同類型,對預測任務給予不同的名稱:輸入變量與輸出變量均爲連續變量的預測問題稱爲迴歸問題;輸出變量爲有限個離散變量的預測問題稱爲分類問題;輸入變量與輸出變量均爲變量序列的預測問題稱爲標註問題。

1.2.聯合概率分佈

監督學習假設輸入與輸出的隨機變量X和Y遵循聯合概率分佈P(X,Y)。P(X,Y)表示分佈函數,或分佈密度函數。注意,在學習過程中,假定這一聯合概率分佈存在,但對學習系統來說,聯合概率分佈的具體定義是未知的,訓練數據與測試數據被看作是依聯合概率分佈P(X,Y)獨立同分布產生的。統計學習假設數據存在一定的統計規律,X和Y具有聯合概率分佈的假設就是監督學習關於數據的基本假設。

1.3.假設空間

監督學習的目的在於學習一個由輸入到輸出的映射,這一映射由模型來表示。模型屬於由輸入空間到輸出空間映射的集合,這個集合就是假設空間(hypothesis space),假設空間的確定意味着學習範圍的確定。

2.統計學習三要素

統計學習方法都是由模型、策略和算法構成的,即統計學習方法由三要素構成,可以簡單地表示爲:
方法 = 模型+策略+算法

2.1模型

模型是統計學習首要考慮的問題,在監督學習過程中,模型就是所要學習的條件概率分佈或決策函數。模型的假設空間(hypothesis space)包含所有可能的條件概率分佈或決策函數。例如,假設決策函數是輸入變量的線性函數,那麼模型的假設空間就是所有這些線性函數構成的函數集合。

2.2策略

首先引入損失函數和風險函數的概念,損失函數度量模型一次預測的好壞,風險函數度量平均意義下模型預測的好壞。

1.損失函數和風險函數

監督學習問題是假設空間F中選取模型f作爲決策函數,對於給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致,用一個損失函數(loss function)或代價函數(cost function)來度量預測錯誤的程度,損失函數是f(X)和Y的非負實值函數,記作L(Y,f(X)).
統計學習常用的損失函數有以下幾種:

(1) 0-1損失函數(0-1 loss function)

L(Y,f(X))={1,Yf(x)0,Y=f(X)L(Y,f(X)) = \begin{cases} 1, Y \neq f(x) \\ 0, Y = f(X) \end{cases}

(2)平方損失函數(quadratic loss function)

L(Y,f(X))=(Yf(X))2L(Y,f(X)) = (Y-f(X))^2

(3)絕對損失函數(absolute loss function)

L(Y,f(X))=Yf(X)L(Y,f(X)) = |Y-f(X)|

(4)對數損失函數(logarithmic loss function)或對數似然損失函數(log likelihood loss function)

L(Y,P(YX))=logP(YX)L(Y,P(Y|X)) = -logP(Y|X)
損失函數值越小,模型就越好,由於模型的輸入、輸出(X,Y)是隨機變量,遵循聯合分佈P(X,Y),所以損失函數的期望是:
在這裏插入圖片描述
這是理論上模型f(X)關於聯合分佈P(X,Y)的平均意義下的損失,稱爲風險函數(risk function)或期望損失(expected loss)
學習的目標就是選擇期望風險最小的模型,由於聯合分佈P(X,Y)是未知的,Rexp(F)R_{exp}(F)不能直接計算。實際上,如果知道聯合分佈P(X,Y),可以從聯合分佈直接求出條件概率分佈P(Y|X),也就不需要學習了。正因爲不知道聯合概率分佈,所以才需要進行學習,這樣一來,一方面根據期望風險最小學習模型要用到聯合分佈,另一方面聯合分佈又是未知的,所以監督學習就稱爲一個病態問題。
給定一個訓練數據集
T=(x1,y1),(x2,y2),...(xn,yn)T = {(x_1,y_1),(x_2,y_2),...(x_n,y_n)}
模型f(X)關於訓練數據集的平均損失稱爲

經驗風險(empirical risk)或經驗損失(empirical loss),記作:

Rexp(f)=1Ni=1nL(yi,f(xi))R_{exp}(f) = \frac{1}{N}\sum^n_{i=1}L(y_i,f(x_i))

期望風險Rexp(f)R_{exp}(f)是模型關於聯合分佈的期望損失,經驗風險Remp(f)R_{emp}(f)是模型關於訓練樣本集的平均損失。根據大數定律,當樣本容量N趨於無窮時,經驗風險Remp(f)R_{emp}(f)趨於期望風險Rexp(f)R_{exp}(f),所以一個很自然的想法是用經驗風險估計期望風險。但是,由於現實中訓練樣本數目有限,甚至很小,所以用經驗風險估計期望風險常常並不理想,要對經驗風險進行一定的矯正,這就關係到監督學習的兩個基本策略:經驗風險最小化和結構風險最小化。

2.經驗風險最小化與結構風險最小化

在假設空間、損失函數以及訓練數據確定的情況下,經驗風險函數式(1.10)就可以確定,經驗風險最小化(empirical risk minimization,ERM)的策略認爲,經驗風險最小的模型是最優的模型,根據這一策略,按照經驗風險最小化求最優模型就是求解最優化問題:
在這裏插入圖片描述
其中F是假設空間,
當樣本容量足夠大時,經驗風險最小化能保證有很好的學習效果,在現實中被廣泛採用。比如,極大似然(maximum likelihood estimation)就是經驗風險最小化的一個例子。當模型是條件概率分佈,損失函數是對數損失函數時,經驗風險最小化就等價於極大似然估計。
但是,當樣本容量很小時,經驗風險最小化學習的效果就未必很好,會產生後面將要敘述的“過擬合”現象。
結構風險最小化(structural risk minimization,SRM)是爲了防止過擬合而提出來的策略,結構風險最小化等價於正則化(regularization)。結構風險在經驗風險上加上表示模型複雜度的正則化項(regularization)或罰項(penalty term)。在假設空間、損失函數以及訓練數據集確定的情況下,

結構風險的定義是:

Rsrm(f)=1Ni=1NL(yi,f(xi))+λJ(f)R_{srm}(f) = \frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i)) + \lambda J(f)

其中j(f)j(f)爲模型的複雜度,是定義在假設空間F上的泛函,模型f越複雜,複雜度J(f)就越大;反之,模型f越簡單,複雜度J(f)就越小。也就是說,複雜度表示了對複雜模型的懲罰。λ0\lambda \geq 0是係數,用以權衡經驗風險和模型複雜度。結構風險小需要經驗風險與模型複雜度同時小。結構風險小的模型往往對訓練數據以及未知的測試數據都有較好的預測。
比如,貝葉斯估計中的最大後驗概率估計(MAP)就是結構風險最小化的一個例子,當模型是條件概率分佈、損失函數是對數損失函數、模型複雜度由模型的先驗概率表示時,結構風險最小化就等價於最大後驗概率估計。
結構風險最小化的策略認爲結構風險最小的模型是最優的模型,所以求最優模型,就是求解最優化問題:
minfF1Ni=1NL(Yi,f(xi))+λJ(f)min_{f\in F} \frac{1}{N}\sum^N_{i=1}L(Y_i,f(x_i))+ \lambda J(f)
這樣,監督學習問題就變成了經驗風險或結構風險函數的最優化問題,這時經驗或結構風險函數是最優化的目標函數。

2.3.算法

算法是指學習模型的具體計算方法。統計學習基於訓練數據集,根據學習策略,從假設空間中選擇最優模型,最後需要考慮用什麼樣的計算方法求解最優模型。
這時,統計學習問題歸結爲最優化問題,統計學習的算法成爲求解最優化問題的算法,如果最優化問題有明顯的解析解,這個最優化問題就比較簡單,但通常解析解不存在,這就需要用數值計算的方法求解,如何保證找到全局最優解,並使求解過程非常搞笑,就稱爲一個重要問題,統計學可以利用已有的最優化算法,有時也需要開發獨自的最優化算法。
統計學習方法之間的不同,主要來自其模型、策略、算法的不同。確定了模型、策略、算法,統計學習的方法也就確定了,這也就是將其稱爲統計學習三要素的原因。

3.模型評估與模型選擇

3.1訓練誤差與測試誤差

假設學習到的模型是Y=f^(X)Y=\hat f(X),訓練誤差是模型Y=f^(X)Y=\hat f(X)關於訓練數據集的平均損失:

Remp(f^)=1Ni=1NL(yi,f^(xi))R_{emp}(\hat f) = \frac{1}{N}\sum^N_{i=1}L(y_i,\hat f(x_i))

其中N是訓練樣本容量。
測試誤差是模型Y=f^(X)Y=\hat f(X)關於測試數據集的平均損失:

etest=1Ni=1NL(yi,f^(xi))e_{test} = \frac{1}{N'}\sum^{N'}_{i=1}L(y_i,\hat f(x_i))

其中N’是測試樣本容量。
例如,當損失函數是0-1損失時,測試誤差就變成了常見的測試數據集上的誤差率(error rate)

etest=1Ni=1NI(yi̸=f^(xi))e_{test} = \frac{1}{N'}\sum^{N'}_{i=1}I(y_i \not=\hat f(x_i))

這裏I是指示函數(indicator function),即y̸=f^(xi)y \not= \hat f(x_i)時爲1,否則爲0.相應地,常見的測試數據集上的準確率(accuracy)爲

rtest=1Ni=1NI(yi=f^(xi))r_{test} = \frac{1}{N'}\sum^{N'}_{i=1}I(y_i =\hat f(x_i))

顯然,rtest+etest=1r_{test} + e_{test} = 1
訓練誤差的大小,對判斷給定的問題是不是一個容易學習的問題是有意義的,但本質上不重要,測試誤差反映了學習方法對未知的測試數據集的預測能力,是學習中的重要概念。顯然,給定兩種學習方法,測試誤差小的方法具有更好的預測能力,是更有效的方法。通常將學習方法對未知數據的預測能力稱爲泛化能力(generalization ability)。

3.2過擬合與模型選擇

下面,以多項式函數擬合問題爲例,說明過擬合與模型選擇:
這是一個迴歸問題,假設給定一個訓練數據集:
T=(x1,y1),(x2,y2),...(xn,yn)T = {(x_1,y_1),(x_2,y_2),...(x_n,y_n)}
其中,xiRx_i \in R是輸入x的觀測值,yiRy_i \in R是相應的輸出y的觀測值,i=1,2,。。。N。多項式函數擬合的任務時假設給定數據由M次多項式函數生成,選擇最有可能產生這些數據的M次多項式函數,即在M次多項式函數中選擇一個對已知數據以及未知數據都有很好預測能力的函數。
假設給定如下圖所示的10個數據點,用0~9次多項式函數對數據進行擬合,圖中畫出了需要使用多項式函數曲線擬合的數據:
M次多項式函數擬合問題的例子
設M次多項式爲:
在這裏插入圖片描述
式中x是單變量輸入,w0,w1,。。wm是M+1個參數
解決這一問題的方法可以是這樣的,首先確定模型複雜度,即確定多項式的次數;然後在給定的模型複雜度下,按照經驗風險最小化的策略,求解參數,即多項式的係數,具體地,求以下經驗風險最小化:

L(w)=12i=1N(f(xi,w)yi)2L(w) = \frac{1}{2} \sum{^N_{i=1}}(f(x_i,w)-y_i)^2 (1.18)

這時,損失函數爲平方損失,係數二分之一是爲了計算方便,這是一個簡單的最優化問題,將模型與訓練數據代入式(1.18)中,有
L(w)=12i=1N(j=0Mwjxijyi)2L(w) = \frac{1}{2}\sum{^N_{i=1}}(\sum{^M_{j=0}w_jx_i^j -y_i})^2
wjw_j求偏導數並令其爲0,可得:

wj=i=1Nxiyii=1Nxi(j+1),j=0,1,2,...,Mw_j = \frac{\sum{^N_{i=1}x_iy_i}}{\sum{^N_{i=1}x_i^{(j+1)}}},j=0,1,2,...,M

於是求得擬合多項式係數w0,w1...wMw_0^*,w_1^*,...w_M^*
上圖中給出了M=0,M=1,M=3及M=9時多項式函數擬合的情況,如果M=0,多項式曲線是一個常數,數據擬合效果很差。如果M=1,多項式曲線是一條直線,數據擬合效果也很差,相反,如果M=9,多項式曲線通過沒個數據點,訓練誤差爲0.從對給定訓練數據擬合的角度來說,效果是最好的。但是,因爲訓練數據本身存在噪音,在實際學習中並不可取,這時過擬合現象就會發生,這就是說,模型選擇時,不僅要考慮對已知數據的預測能力,而且還要考慮對未知數據的預測能力,當M=3時,多項式曲線對訓練數據擬合效果足夠好,模型也比較簡單,是一個較好的選擇。
在多項式函數擬閤中可以看到,隨着多項式次數(模型複雜度)的增加,訓練誤差會減小,直至趨向於0,但是測試誤差卻不如此,它會隨着多項式次數(模型複雜度)的增加先減小而後增大,而最終的目的是使測試誤差達到最小,這樣,在多項式函數擬閤中,就要選擇合適的多項式次數,以達到這一目的。這一結論對一般的模型選擇也是成立的。
下圖描述了訓練誤差和測試誤差與模型的複雜度之間的關係:
在這裏插入圖片描述
如上圖,當模型的複雜度增大時,訓練誤差會逐漸減小並趨向於0;而測試誤差會先減小,達到最小值後又增大。當選擇的模型複雜度過大時,過擬合現象就會發生,這樣,在學習時就要防止過擬合,進行最優的模型選擇,即選擇複雜度適當的模型,以達到使測試誤差最小的學習目的。下面介紹兩種常用的模型選擇方法:正則化與交叉驗證。

4.正則化與交叉驗證

4.1正則化

模型選擇的典型方法是正則化(regularization)。正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或罰項(penalty term)正則化項一般是模型複雜度的單調遞增函數,模型越複雜,正則化值越大,比如,正則化可以使模型參數向量的範數。
正則化一般具有如下形式:
在這裏插入圖片描述
其中,第一項是經驗風險,第二項是正則化項,λ0\lambda \ge 0爲調整兩者之間關係的係數。
正則化項可以取不同的形式,例如,迴歸問題中,損失函數是平方損失,正則化項可以是參數向量的L2L_2範數:
L(w)=1Ni=1N(f(xi;w)yi)2+λ2w2L(w) = \frac{1}{N}\sum{^N_{i=1}}(f(x_i;w)-y_i)^2 + \frac{\lambda}{2} ||w||^2
這裏,||w||表示參數向量w的L2範數。
正則化項也可以是參數向量的L1範數:
L(w)=1Ni=1N(f(xi;w)yi)2+λ2w1L(w) = \frac{1}{N}\sum{^N_{i=1}}(f(x_i;w)-y_i)^2 + \frac{\lambda}{2} ||w||_1
這裏,||w||1表示參數向量w的L1範數。

4.2交叉驗證

另一種常用的模型選擇方法是交叉驗證法(cross validation)

交叉驗證的基本思想:

交叉驗證的基本思想是重複地使用數據,把給定的數據進行切分,將切分的數據集組合爲訓練集與測試集,在此基礎上反覆地進行訓練、測試以及模型選擇。
1.簡單交叉驗證:
簡單交叉驗證的方法是:首先隨機地將已給數據分爲兩部分,一部分作爲訓練集,另一部分作爲測試集(例如,70%的數據爲訓練集,30%的數據爲測試集),然後用訓練集在各種條件下(例如,不同的參數個數)訓練模型,從而得到不同的模型;在測試集上評價各個模型的測試誤差,選出測試誤差最小的模型。
2.S折交叉驗證
瑩瑩最多的S着交叉驗證(S-fold cross validation),方法如下:
首先隨機地將已給數據切分爲S個互不相交的大小相同的子集;然後利用S-1個子集的數據訓練模型,利用餘下的子集測試模型;將這一過程對可能的S種選擇重複進行;最後選出S次評測中平均測試誤差最小的模型。
3.留一交叉驗證
S折交叉驗證的特殊情形是S=N,稱爲留一交叉驗證(leave-one-out cross validation),往往在數據缺乏的情況下使用。這裏N,是給定數據集的容量。

5.泛化能力

5.1泛化誤差

學習方法的泛化能力(generalization ability)是指由該方法學習到的模型對未知數據的預測能力,是學習方法本質上重要的性質。現實中採用最多的辦法是通過測試誤差來評價學習方法的泛化能力。但這種評價是依賴於測試數據集的,因爲測試數據集是有限的,很有可能由此得到的評價結果是不可靠的。統計學習理論試圖從理論上對學習方法的泛化能力進行分析。
首先給出泛化誤差的定義,如果學到的模型是f^\hat f,那麼用這個模型對未知數據預測的誤差即爲泛化誤差(generalization error)

Rexp(f^)=Ep[L(Y,f^(X))]=xyL(y,f^(x))P(x,y)dxdyR_{exp}(\hat f) = E_p[L(Y,\hat f(X))] = \int _{x*y}L(y,\hat f(x))P(x,y)dxdy (1.20)

泛化誤差反映了學習方法的泛化能力,如果一種方法學習的模型比另一種方法學習的模型具有更小的泛化誤差,那麼這種方法就更有效。事實上,泛化誤差就是所學習到的模型的期望風險。

5.2 泛化誤差上界

學習方法的泛化能力分析往往是通過研究泛化誤差的概率上界進行的,簡稱泛化誤差上界(generalization error bound),具體來說,就是通過比較兩種學習方法的泛化誤差上界的大小來比較它們的優劣,泛化誤差上界通常具有以下性質:它是樣本容量的函數,當樣本容量增加時,泛化上界趨於0;它是假設空間容量(capacity)的函數,假設空間容量越大,模型就越難學,泛化誤差上界就越大。
下面給出一個簡單的泛化誤差上界的例子:二分類問題的泛化誤差上界。
考慮二分類問題,已知訓練數據集T=(x1,y1),(x2,y2),...,(xN,yN)T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}
,它是從聯合概率分佈P(X,Y)獨立同分布產生的,XRnY1,+1X \in R^n,Y \in {-1,+1}.假設空間是函數的有限集合F={f1,f2,…,fd},d是函數個數,設f是從F中選取的函數,損失函數是0-1損失。關於f的期望風險和經驗風險分別是:

R(f)=E[L(Y,f(X))]R(f) = E[L(Y,f(X))] (1.21)
R^(f)=1Ni=1NL(yi,f(xi))]\hat R(f) = \frac{1}{N} \sum{^N_{i=1}}L(y_i,f(x_i))] (1.22)

經驗風險最小化函數是

fn=argminfFR^(f)f_n=\mathop{argmin}\limits_{f\in F} \hat R(f)

人們更關心的是fNf_N的泛化能力
R(fN)=E[L(Y,fn(X))]R(f_N) = E[L(Y,f_n(X))]
下面討論從有限集合
F=f1,f2,...,fdF = {f_1,f_2,...,f_d}中任意選出的函數f的泛化誤差上界。

定理1.1(泛化誤差上界):

對二分類問題,當假設空間是有限個函數的集合F=f1,f2,...,fdF = {f_1,f_2,...,f_d}時,對任意一個函數fFf \in F,至少以概率1δ1-\delta,以下不等式成立:

R(f)R^(f)+ε(d,N,δ)R(f) \le \hat R(f)+ \varepsilon(d,N,\delta) (1.25)

其中,

ε(d,N,δ)=12N(logd+log1δ)\varepsilon(d,N,\delta) = \sqrt{\frac{1}{2N}(log d+log\frac{1}{\delta})} (1.26)

不等式(1.25)左端R(f)R(f)是泛化誤差,右端即爲泛化誤差上界,在泛化誤差上界中,第1項是訓練誤差,訓練誤差越小,泛化誤差也越小。第二項ε(d,N,δ)\varepsilon(d,N,\delta)是N的單調遞減函數,當N趨近於無窮大時趨於0;同時它也是logd\sqrt{logd}階的函數,假設空間F包含的函數越多,其值越大。

證明

在證明中要用到Hoeffding不等式,先敘述如下:
Sn=i=1nXiS_n=\sum{^n_{i=1}}X_i是獨立隨機變量X1,X2,...XnX_1,X_2,...X_n之和,Xi[ai,bi]X_i \in[a_i,b_i],則對任意t>0,以下不等式成立:
(描述)
對任意函數fF,R^(f)f \in F,\hat R(f)是N個獨立的隨機變量L(Y,f(X))的樣本均值,R(f)R(f)是隨機變量L(Y,f(X))的期望值,如果損失函數取值於區間[0,1],即對所有i,[ai,bi]=[0,1],i,[a_i,b_i]=[0,1],那麼由Hoeffding不等式(1.28)不難得知,對ε>0,\varepsilon>0,以下不等式成立:
在這裏插入圖片描述
其中,ε(d,N,δ)\varepsilon(d,N,\delta)由式(1.26)定義,fNf_N由式(1.23)定義,這就是說,訓練誤差小的模型,其泛化誤差也會小。
以上討論的只是假設空間包含有限個函數情況下的泛化誤差上界,對一般的假設空間要找到泛化誤差就沒有這麼簡單。

6.生成模型與判別模型

監督學習的任務就是學習一個模型,應用這一模型,對給定的輸入預測相應的輸出。這個模型的一般形式爲決策函數:

Y=f(X)Y=f(X)

或者條件概率分佈:

P(Y|X)

監督學習方法又可以分爲生成方法(generative approach)和判別方法(discriminative approach)所學到的模型分別稱爲生成模型(generative model)和判別模型(discriminative model)
生成方法由數據學習聯合概率分佈P(X,Y),然後求出條件概率分佈P(Y|x)作爲預測的模型,即生成模型:
P(yX)=P(X,Y)P(X)P(y|X) = \frac{P(X,Y)}{P(X)}
這樣的方法之所有稱爲生成方法,是因爲模型表示了給定輸入X產生輸出Y的生成關係。

典型的生成模型有:

樸素貝葉斯法和隱馬爾可夫模型,將在後面章節進行相關講述。
判別方法由數據直接學習決策函數發f(X)或者條件概率分佈P(Y|X)作爲預測的模型,即爲判別模型。判別方法關心的是對給定的輸入X,應該預測什麼樣的輸出Y。

典型的判別模型包括:

k近鄰法、感知機、決策樹、邏輯斯諦迴歸模型、最大熵模型、支持向量機、提升方法和條件隨機場等。

生成方法的特點:

生成方法可以還原出聯合概率分佈P(X,Y),而判別方法則不能;生成方法的學習收斂速度更快,即當樣本容量增加的時候,學到的模型可以更快地收斂於真實模型;當存在隱變量時,仍可以用生成方法學習,此時判別方法就不能用。

判別方法的特點:

判別方法直接學習的是條件概率P(Y|X)或決策函數f(X),直接面對預測,往往學習的準確率更高;由於直接學習P(Y|X)或f(X),可以對數據進行各種程度上的抽象、定義特徵並使用特徵,因此可以簡化學習問題。

7.分類問題

分類是監督學習的一個核心問題,在監督學習中,當輸出變量Y取有限個離散值時,預測問題便成爲分類問題。這時,輸入變量X可以是離散的,也可以是連續的。監督學習從數據中學習一個分類模型或分類決策函數,稱爲分類器(classifier)。分類器對新的輸入進行輸出的預測(prediction),稱爲分類(classification)。可能的輸出稱爲類(class)。分類的類別爲多個時,稱爲多分類問題。我們主要討論二分類問題。
分類問題包括學習和分類兩個過程,在學習過程中,根據已知的訓練數據集利用有效的學習方法學習一個分類器;在分類過程中,利用學習的分類器對新的輸入實例進行分類。分類問題可用下圖描述:
在這裏插入圖片描述
圖中學習系統由訓練數據學習一個分類器P(Y|X)或Y=f(X);分類系統通過學到的分類器P(Y|X)或Y=f(X)對新的輸入實例xN+1x_{N+1}進行分類,即預測其輸出的類標記yN+1y_{N+1}
評價分類器性能的指標一般是分類準確率(accuracy),其定義是:對於給定的測試數據集,分類器正確分類的樣本數與總體樣本數之比,也就是損失函數是0-1損失時測試數據集上的準確率
對於二類分類問題常用的評價指標是精確率(precision)與召回率(recall)通常以關注的類爲正類,其他類爲負類,分類器在測試數據集上的預測或正確或不正確,4種情況出現的總數分別記作:
TP——將正類預測爲正類數;
FN——將正類預測爲負類數;
FP——將負類預測爲正類數;
TN——將負類預測爲負類數。

精確率定義爲:P=TPTP+FPP = \frac{TP}{TP+FP}
召回率定義爲:R=TPTP+FNR = \frac{TP}{TP+FN}

此外,還有F1F_1值,是精確率和召回率的調和均值,即

2F1=1P+1R\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}
F1=2TP2TP+FP+FNF_1=\frac{2TP}{2TP+FP+FN}

精確率和召回率都高時,F1F_1值也會高。
許多統計學習方法可以用於分類,包括k近鄰法、感知機、樸素貝葉斯法、決策樹、決策列表、邏輯斯諦迴歸模型、支持向量機、提神方法、貝葉斯網絡、神經網絡、Winnow等。
分類在於根據其特性將數據“分門別類”,所以在許多領域都有廣泛的應用。例如,在銀行業務中,可以構建一個客戶分類模型,對客戶按照貸款風險的大小進行分類;在網絡安全領域,可以利用日誌數據的分類對非法入侵進行檢測;在圖像處理中,分類可以用來檢測圖像中是否有人臉出現;在手寫識別中,分類可以用於識別手寫的數字;在互聯網搜索中,網頁的分類可以幫助網頁的抓取、索引與排序。

8.標註問題

標註(tagging)也是一個監督學習問題,可以認爲標註問題是分類問題的一個推廣,標註問題又是更復雜的結構預測(structure prediction)問題的簡單形式。標註問題的輸入是一個觀測序列,輸出是一個標記序列或狀態序列。標註問題的目標在於學習一個模型,使它能夠對觀測序列給出標記序列作爲預測。注意,可能的標記個數是有限的,但其組合所成的標記序列的個數是依序列長度呈指數級增長的。
標註問題分爲學習和標註兩個過程,如下圖所示:
在這裏插入圖片描述
首先給定一個訓練數據集,這裏xi=(xi(1),xi(2),...,xi(n))T,i=1,2,...,N,x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^T,i=1,2,...,N,是輸入觀測序列,yi=(yi(1),yi(2),...,yi(n))Ty_i=(y_i^{(1)},y_i^{(2)},...,y_i^{(n)})^T是相應的輸出標記序列,n是序列的長度,對不同樣本可以有不同的值。學習系統基於訓練數據集構建一個模型,表示爲條件概率分佈:
P(Y(1),Y(2),Y(n)X(1)X(2),...,X(n))P(Y^{(1)},Y^{(2)},Y^{(n)}|X^{(1)}X^{(2)},...,X^{(n)})
這裏,每一個X(i)(i=1,2,...,n)X^{(i)} (i=1,2,...,n)取值爲所有可能的觀測,每一個Y(i)(i=1,2,...,n)Y^{(i)}(i=1,2,...,n)取值爲所有可能的標記,一般nNn \le N。標註系統按照學習得到的條件概率分佈模型,對新的輸入觀測序列找到相應的輸出標記序列。具體地,對一個觀測序列xN+1=(xN+1(1),xN+1(2),...,xN+1(n))Tx_{N+1}=(x^{(1)}_{N+1},x^{(2)}_{N+1},...,x^{(n)}_{N+1})^T找到條件概率P((yN+1(1),yN+1(2),...,yN+1(n))T(xN+1(1),xN+1(2),...,xN+1(n))T))P((y^{(1)}_{N+1},y^{(2)}_{N+1},...,y^{(n)}_{N+1})^T|(x^{(1)}_{N+1},x^{(2)}_{N+1},...,x^{(n)}_{N+1})^T))
的最大標記序列yN+1=(yN+1(1),yN+1(2),...,yN+1(n))Ty_{N+1}=(y^{(1)}_{N+1},y^{(2)}_{N+1},...,y^{(n)}_{N+1})^T
評價標註模型的指標與評價分類模型的指標一樣,常用的有標註準確率、精確率和召回率。其定義與分類模型相同。
標註常用的統計學習方法有:隱馬爾可夫模型、條件隨機場。
標註問題在信息抽取、自然語言處理等領域被廣泛應用,是這些領域的基本問題。例如,自然語言處理中的詞性標註(part of speech tagging)就是一個典型的標註問題:給定一個由單詞組成的句子,對這個句子中的每一個單詞進行詞性標註,即對一個單詞序列預測其對應的詞性標記序列。
舉一個信息抽取的例子,從英文文章中抽取基本名詞短語(base nounphrase)爲此,要對文章進行標註,英文單詞是一個觀測,英文句子是一個觀測序列,標記表示名詞短語的“開始”、“結束”或“其他”(分別以B,E,O表示),標記序列表示英文句子中基本名詞短語的所在位置。信息抽取時,將標記“開始”到標記“結束”的單詞作爲名詞短語。例如,給出以下的觀測序列,即英文句子,標註系統產生相應的標記序列,即給出句子中的基本名詞短語。
在這裏插入圖片描述

9.迴歸問題

迴歸(regression)是監督學習的另一個重要問題,迴歸英語預測輸入變量(自變量)和輸出變量(因變量)之間的關係,特別是輸入變量的值發生變化時,輸出變量的值隨之發生的變化。迴歸模型正是表示從輸入變量到輸出變量之間映射的函數。迴歸問題的學習等價於函數擬合:
選擇一條函數曲線使其很好地擬合已知數據且很好地預測未知數據。
迴歸問題分爲學習和預測兩個過程,如下圖:
在這裏插入圖片描述
首先給定一個訓練數據集,學習系統基於訓練數據構建一個模型,即函數Y=f(X);對於新的輸入xN+1x_{N+1},預測系統根據學習的模型Y=f(X)確定相應的輸出yN+1y_{N+1}
迴歸問題按照輸入變量的個數,分爲一元迴歸和多元迴歸;按照輸入變量和輸出變量之間關係的類型即模型的類型,分爲線性迴歸和非線性迴歸。
迴歸學習最常用的損失函數是平方損失函數,在此情況下,迴歸問題可以由著名的最小二乘法(least squares)求解。
許多領域的任務都可以形式化爲迴歸問題,比如,迴歸可以用於商務領域,作爲市場趨勢預測、產品質量管理、客戶滿意度調查、投資風險分析的工具。作爲例子,簡單介紹股價預測問題。假設知道某一公司在過去不同時間點(比如,每天)的市場上的股票價格,可以將這個問題作爲迴歸問題解決,具體地,將影響股價的信息視爲自變量(輸入的特徵),而將股價視爲因變量(輸出的值)。將過去的數據作爲訓練數據,就可以學習一個迴歸模型,並對未來的股價進行預測,可以看出這是一個困難的預測問題,因爲影響股價的因素非常多,我們未必能判斷到哪些信息(輸入特徵)有用並能得到這些信息。

《統計學習方法》第1章 課後題
1.1 說明伯努利模型的極大似然估計以及貝葉斯估計中的統計學習方法三要素。伯努利模型是定義在取值爲0與1的隨機變量上的概率分佈。假設觀測到伯努利模型n次獨立的數據生成結果,其中k次的結果爲1,這時可以用極大似然估計或貝葉斯估計來估計結果爲1的概率。

解:
三要素分別是模型、策略、算法。
模型:伯努利模型,即定義在取值爲0與1的隨機變量上的概率分佈。
策略:極大似然估計和貝葉斯估計的策略都是對數損失函數,只不過貝葉斯估計使用的是結構風險最小化。
算法:極大似然估計所使用的算法是求取經驗風險函數的極小值,貝葉斯估計所使用的算法是求取參數的後驗分佈,然後計算其期望。

1.2 原題:通過經驗最小化推導極大似然估計,證明模型是條件概率分佈,當損失函數是對數損失函數時,經驗最小化等價於極大似然估計。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章