统计学习方法(一)统计学习方法概论
文章目錄
- 第一章 統計學習方法概論
- 1.1 統計學習
- 1.2 監督學習
- 1.2.1 基本概念
- 1.3 統計學習三要素
- 1.3.1 模型
- 1.3.2 策略
- 1.4 模型評估與模型選擇
- 1.4.1 訓練誤差和預測誤差
- 1.4.2 過擬合與模型選擇
- 1.5 正則化與交叉驗證
- 1.5.1 正則化
- 1.5.2 交叉驗證
- 1.6 泛化能力
- 1.6.1 泛化誤差
- 1.6.2 泛化誤差上界
- 1.7 生成模型與判別模型
- 1.8 分類問題
- 1.9 標注問題(tagging)
- 1.10 回歸問題
第一章 統計學習方法概論
1.1 統計學習
一、統計學習的特點
(1)平臺:計算機及網絡,是建立在計算機及網絡之上的;
(2)研究對象:數據,是數據驅動的學科;
(3)目的:對數據進行預測與分析;
(4)中心:方法,統計學習方法構建模型并應用模型進行測試與分析;
(5)交叉學科:概率論、統計學、信息論、計算理論、最優化理論以及計算機科學等多個領域的交叉學科。
二、統計學習的對象
統計學習的對象是數據,包括數字、文字、圖像、視頻等以及他們的組合。
數據 →\to→提取數據特征→\to→抽象數據模型→\to→發現數據中的知識→\to→回到對數據的分析和預測中
關于數據的基本假設:
同類數據具有一定的統計規律性,也是前提。
數據分為連續型和離散型,本書主要討論離散型
三、統計學習目的
統計學習用于對數據進行預測和分析,特別是對未知新數據進行預測和分析。對數據進行預測和分析是通過構建概率統計模型實現的。
總目標: 學習怎樣的模型、如何學習模型,以使模型能夠對數據進行準確的預測和分析,同時也要提高學習效率。
四、統計學習的方法
方法: 基于數據構建統計模型從而對數據進行預測和分析
方法分類:
監督學習(supervised leaning)
無監督學習(unsupervised leaning)
半監督學習(semi-supervised leaning)
強化學習(reinfoucement leaning)
主要討論監督學習:
1)從給定的、有限的、用于學習的訓練數據(training data)集合出發,假設數據是獨立同分布產生的;
2)假設要學習的模型屬于某個函數的集合,稱為假設空間(hypothesis space);
3)應用某個評價準則(evaluation criterion),從假設空間中選取一個最優的模型,使它對已知訓練數據及未知測試數據(test data)在給定的評價準則下有最優的預測;
4)最優模型的選取由算法實現;
統計學習三要素:
模型的假設空間、模型選擇的準則、模型學習的算法
統計學習方法=模型(model)+策略(strategy)+算法(algorithm)
模型: 找到一個能夠解決問題的條件概率或者決策函數。
策略: 找到一個能夠可以優化模型(或者衡量模型的)損失函數(比如0-1損失)。
算法: 找到一種可以優化損失函數的方法(比如:梯度下降法)。
統計學習的步驟:
五、統計學習的研究
包括統計學習方法、理論、應用
- 統計學習方法的研究——發現新的學習方法
- 統計學習理論的研究——提高統計學習方法的有效性和效率
- 統計學習應用的研究——-將統計學習方法應用到實際問題中去,解決實際問題。
1.2 監督學習
監督學習的任務是學習一個模型,使得模型能夠對任意給定的輸入,對其相應的輸出做一個好的預測(此處的輸入、輸出是指某個系統的輸入、輸出,而非學習的輸入與輸出)
1.2.1 基本概念
一、輸入空間、特征空間、輸出空間
輸入空間:輸入的所有可能取值
輸出空間:輸出的所有可能取值
兩個空間可以是有限的元素集合,也可以是整個歐式空間,可以使不同空間或同一空間,但是輸出空間通常遠遠小于輸入空間。
輸入實例xxx的特征向量:
x=(x(1),x(2),...,x(i),...,x(n))Tx=(x^{(1)},x^{(2)},...,x^{(i)},...,x^{(n)})^Tx=(x(1),x(2),...,x(i),...,x(n))T
x(i)x^{(i)}x(i)表示xxx的第iii個特征,xix_ixi?通常表示多個輸入變量中的第iii個。
監督學習從訓練數據集合中學習模型,對測試數據進行預測,訓練數據由輸入與輸出對組成,訓練集通常表示為:
T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}T={(x1?,y1?),(x2?,y2?),...,(xN?,yN?)}
輸入輸出對又稱為樣本或樣本點
預測任務:
回歸:輸入與輸出變量均為連續變量的預測問題
分類:輸出變量為有限個離散變量的預測問題
標注:輸入變量與輸出變量均為變量序列的預測問題
二、聯合概率分布
監督學習假設輸入與輸出的隨機變量X和Y遵循聯合概率分布P(X,Y)P(X,Y)P(X,Y),P(X,Y)P(X,Y)P(X,Y)表示分布函數或分布密度函數。
統計學習假設數據存在一定的統計規律,X和Y具有聯合概率分布的假設就是監督學習關于數據的基本假設。
三、假設空間
監督學習的目標:學習一個由輸入到輸出的映射,這一映射由模型來表示。
模型可以是概率模型或非概率模型,由條件概率分布P(Y∣X)P(Y|X)P(Y∣X)或決策函數Y=f(X)Y=f(X)Y=f(X)表示。
監督學習分為學習和預測兩個過程,由學習系統與預測系統組成,如下圖:
1)給定訓練數據集
T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}T={(x1?,y1?),(x2?,y2?),...,(xN?,yN?)}
其中,(xi,yi)(x_i,y_i)(xi?,yi?)稱為樣本或樣本點,xi∈Xx_i\in Xxi?∈X是輸入的觀測值,也叫輸入或實例,yi∈Yy_i\in Yyi?∈Y是輸出的觀測值,也稱為輸出。
2)學習過程:
假設訓練數據和測試數據是依照聯合概率分布P(X,Y)P(X,Y)P(X,Y)獨立同分布產生的。
學習過程中,學習系統利用給定訓練數據集,通過學習(或訓練)得到一個模型,表示為概率分布P^(X,Y)\hat{P}(X,Y)P^(X,Y)或決策函數Y=f^(X)Y=\hat f(X)Y=f^?(X),兩者描述輸入與輸出隨機變量間的映射關系。
3)預測過程:
預測系統對于給定的測試樣本集中的輸入xN+1x_{N+1}xN+1?,由模型yN+1=argmaxyN+1P^(yN+1)y_{N+1}=argmax_{y_N+1}\hat P(y_{N+1})yN+1?=argmaxyN?+1?P^(yN+1?)或yN+1=f^(xN+1)y_{N+1}=\hat f(x_{N+1})yN+1?=f^?(xN+1?)給出相應的輸出yn+1y_{n+1}yn+1?。
如果模型有很好的預測能力,訓練樣本輸出yiy_iyi?和模型輸出f(xi)f(x_i)f(xi?)之間的差就應該足夠小。
1.3 統計學習三要素
統計學習=模型+策略+算法
1.3.1 模型
模型就是所要學習的條件概率分布或決策函數,模型的假設空間包含所有可能的條件概率分布或決策函數。
(1)非概率模型:
(2)概率模型:
1.3.2 策略
策略是學習或選擇最優模型的準則,統計學習的目標在于從假設空間中選取最優模型。
損失函數:度量模型一次預測的好壞
風險函數:度量平均意義下模型預測的好壞
一、損失函數和風險函數
監督學習的問題是在假設空間F中選取模型fff作為決策函數,對于給定的輸入X,由f(X)f(X)f(X)給出相應的輸出Y,這個輸出的預測值f(X)f(X)f(X)與真實值Y可能一致也可能不一致,用損失函數或代價函數來度量預測錯誤的程度。
損失函數是f(X)f(X)f(X)和YYY的非負實值函數,記作L(Y,f(X))L(Y,f(X))L(Y,f(X))。
統計學ex的常用損失函數:
損失函數越小,模型就越好,由于模型的輸入、輸出是隨機變量,遵循聯合概率分布P(X,Y)P(X,Y)P(X,Y),所以損失函數的期望值是:
這是理論模型f(X)f(X)f(X)關于聯合分布P(X,Y)P(X,Y)P(X,Y)的平均意義下的損失,稱為風險函數(risk function)或期望損失(expected loss)。
學習的目標:選擇期望風險最小的模型
由于聯合分布P(X,Y)P(X,Y)P(X,Y)是未知的,Rexp(f)R_{exp}(f)Rexp?(f)不能直接計算,事實上如果知道了P(X,Y)P(X,Y)P(X,Y),可以從聯合分布直接求P(X∣Y)P(X|Y)P(X∣Y),也就不需要學習了,正是因為不知道P(X,Y)P(X,Y)P(X,Y),所以才要學習。
過程:一方面根據期望風險最小學習模型要用到聯合分布,另一方面聯合分布又是未知的,所以監督學習就是一個病態問題。
經驗風險(empirical risk) / 經驗損失 Remp(f)R_{emp}(f)Remp?(f): 模型f(X)f(X)f(X)關于訓練數據集的平均損失
$R_{emp}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))$期望風險 Rexp(f)R_{exp}(f)Rexp?(f): 模型關于聯合分布的期望損失
兩者近似的條件: 根據大數定律,當樣本容量NNN趨于無窮時,經驗風險趨于期望風險。
難點: 現實中訓練樣本數目有限,所以用經驗風險估計期望風險并不理想,要對經驗風險進行一定的矯正。
監督學習的兩個基本策略: 經驗風險最小化、結構風險最小化
二、經驗風險最小化與結構風險最小化
(1)經驗風險最小化(empirical risk minimization,ERM)
在假設空間、損失函數及訓練數據集確定的情況下,經驗風險函數Remp(f)=1N∑i=1NL(yi,f(xi))R_{emp}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))Remp?(f)=N1?∑i=1N?L(yi?,f(xi?))就可以確定,ERM的策略認為,經驗風險最小的模型就是最優模型,按照經驗風險最小化求最優模型就是求解最優化問題:
min1N∑i=1NL(yi,f(xi))min \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))minN1?i=1∑N?L(yi?,f(xi?))
應用效果:
- 當樣本容量足夠大時,ERM能保證有很好的學習效果,如極大似然估計就是其例子,當模型是條件概率分布,且損失函數是對數損失函數時,就ERM就等價于極大似然估計。
- 當樣本容量很小時,ERM學習效果就未必很好,會產生“過擬合”現象。
(2)結構風險最小化(structural risk minimization,SRM)
是為了防止過擬合提出的策略,等價于正則化(regularization)。
結構: 在經驗風險上附加表示模型復雜度的正則化項或罰項
定義:
Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f)R_{srm}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f)Rsrm?(f)=N1?i=1∑N?L(yi?,f(xi?))+λJ(f)
J(f)J(f)J(f):模型復雜度,模型越復雜,復雜度J(f)J(f)J(f)就越大,反之,模型越簡單,復雜度J(f)J(f)J(f)就越小,復雜度表示了對復雜模型的懲罰
λ\lambdaλ:λ>=0\lambda>=0λ>=0是系數,用于權衡經驗風險和模型復雜度,結構風險最小,需要經驗風險和模型復雜度同時小。
意義:結構風險小的模型往往對訓練數據和測試數據都有較好的預測
舉例:貝葉斯估計中的最大后驗概率估計(maximum posterior probability estimation,MAP)
求解:
min1N∑i=1NL(yi,f(xi))+λJ(f)min \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f) minN1?i=1∑N?L(yi?,f(xi?))+λJ(f)
總結:監督問題就變為經驗風險最優化或結構風險最優化的問題,該兩個函數相當于最優化的目標函數。
三、算法
統計學習問題歸結為以上的最優化問題,這樣,統計學習的算法就是求解最優化問題的算法。如果最優化問題有顯示的解析解,這個最優化問題就比較簡單,但通常這個解析解不存在,所以就需要利用數值計算的方法來求解。統計學習可以利用已有的最優化算法,也可以開發獨自的最優化算法。
1.4 模型評估與模型選擇
1.4.1 訓練誤差和預測誤差
損失函數給定時,基于損失函數的模型的訓練誤差和模型的測試誤差就自然成為學習方法評估的標準。
學習到的模型: Y=f^(X)Y=\hat{f}(X)Y=f^?(X)
訓練誤差: 模型Y=f^(X)Y=\hat{f}(X)Y=f^?(X)關于訓練數據集的平均損失(NNN為訓練樣本容量):
$R_{emp}(\hat f)=\frac{1}{N}\sum_{i=1}^N L(y_i,\hat f(x_i))$測試誤差: 模型Y=f^(X)Y=\hat{f}(X)Y=f^?(X)關于測試數據集的平均損失(N′N'N′為測試樣本容量):
$e_{test}=\frac{1}{N'}\sum_{i=1}^N' L(y_i,\hat f(x_i))$訓練誤差的意義:
訓練誤差的大小對判斷給定問題是不是一個容易學習的問題具有重要的意義,但本質上不重要。
測試誤差的意義:
測試誤差反映了學習方法對未知測試數據集的預測能力,是很重要的,顯然測試誤差小的方法具有更好的預測能力,是更有效的方法。
泛化能力(generalization ability): 學習方法對未知數據的預測能力
1.4.2 過擬合與模型選擇
當假設空間含有不同復雜度的模型時,就要面臨模型選擇的問題,如果假設空間有“真”模型,則我們選擇的模型應該盡可能逼近真模型,比如參數個數相同,或慘向量相近。
過擬合:學習時選擇的模型所包含的參數過多,以至于對已知數據的預測很好,但是對未知數據預測很差。
過擬合的原因:一味追求提高對訓練數據的預測能力,所選模型的復雜度往往比真實模型高很多。
訓練數據本身存在噪聲,過擬合會精確的擬合每個樣本點,造成對測試數據擬合很差。
下面介紹兩種常用的模型選擇方法:正則化與交叉驗證
1.5 正則化與交叉驗證
1.5.1 正則化
模型選擇的典型方法是正則化,正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或罰項(penalty term)。
正則化項一般是模型復雜度的單調遞增函數,模型越復雜,正則化的值就越大,比如正則化可以是模型參數向量的范數。
正則化一般形式:
min1N∑i=1NL(yi,f(xi))+λJ(f)min \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f)minN1?i=1∑N?L(yi?,f(xi?))+λJ(f)
其中,第一項是經驗風險,第二項是正則化項,λ>=0\lambda >=0λ>=0為調整兩者之間關系的系數。
舉例1: 當損失函數去平方損失時,可以用參數向量的L2L_2L2?范數作為正則化項:
L(w)=1N∑i=1N(f(xi;w)?yi)2+λ2∣∣w∣∣2L(w)=\frac{1}{N}\sum_{i=1}^N (f(x_i;w)-y_i)^2+\frac{\lambda}{2} ||w||^2L(w)=N1?i=1∑N?(f(xi?;w)?yi?)2+2λ?∣∣w∣∣2
其中,∣∣w∣∣||w||∣∣w∣∣表示參數向量www的L2L_2L2?范數
舉例2: 正則項也可以是參數向量的L1L_1L1?范數
L(w)=1N∑i=1N(f(xi;w)?yi)2+λ∣∣w∣∣1L(w)=\frac{1}{N}\sum_{i=1}^N (f(x_i;w)-y_i)^2+\lambda ||w||_1L(w)=N1?i=1∑N?(f(xi?;w)?yi?)2+λ∣∣w∣∣1?
其中,∣∣w1∣∣||w_1||∣∣w1?∣∣表示參數向量www的L1L_1L1?范數
其中,∣∣w∣∣||w||∣∣w∣∣表示參數向量www的L2L_2L2?范數
作用: 選擇經驗風險和模型復雜度同時較小的模型
1.5.2 交叉驗證
如果給定的樣本數據充足,進行模型選擇的方法是隨機將數據集切分為訓練集、驗證集(validation)、測試集。
訓練集:訓練模型
驗證集:模型的選擇
測試集:最終對學習方法的評估
但是許多實際數據是不充足的,可以采用交叉驗證的方法。
基本思想:重復使用數據
把給定的數據集進行切分,將切分的數據集組合為訓練集和測試集,在此基礎上反復訓練、、測試以及模型的選擇。
一、簡單交叉驗證
二、S折交叉驗證
三、留一交叉驗證
1.6 泛化能力
1.6.1 泛化誤差
泛化能力(generalization ability)是指該方法學習到的模型對未知數據的預測能力,是學習方法本質上重要的性質。
一般測試泛化能力的方法: 通過測試誤差來評價
該評價方式的缺點: 依賴于測試數據集,因為測試數據集有限,很可能得到的評價結果是不可靠的。
統計學習如何分析泛化能力: 從理論上分析
泛化誤差的定義: 如果學到的模型是f^\hat ff^?,那么用這個模型對未知數據預測的誤差即為泛化誤差:
Rexp(f^)=Ep[L(Y,f^(X))]=∫x×yL(y,f^(x))P(x,y)dxdyR_{exp}(\hat f)=E_p[L(Y,\hat f(X))]=\int _{x\times y }L(y,\hat f(x))P(x,y) dxdyRexp?(f^?)=Ep?[L(Y,f^?(X))]=∫x×y?L(y,f^?(x))P(x,y)dxdy
泛化誤差越小,說明學習方法的模型具有更小的泛化能力,也更有效,實際上泛化誤差就是所學習到的模型的期望風險。
1.6.2 泛化誤差上界
學習方法的泛化能力分析: 一般是通過研究泛化誤差的概率上界進行的。
具體方法: 通過比較兩種學習方法的泛化誤差上界來比較其優劣
泛化誤差上界的性質:
1.7 生成模型與判別模型
監督學習的任務就是學習一個模型,應用該模型對給定的輸入預測相應的輸出,這個模型的一般形式為決策函數:f(X)f(X)f(X)或者條件概率分布:P(X∣Y)P(X|Y)P(X∣Y)
監督學習方法又可以分為生成方法(generative approach)和判別方法(discriminative approach),所生成的模型分別為生成模型和判別模型。
一、生成方法
由數據學習聯合概率分布P(X,Y)P(X,Y)P(X,Y),然后求出條件概率分布P(X∣Y)P(X|Y)P(X∣Y)作為預測的模型,即為生成模型:
P(X∣Y)=P(X,Y)P(X)P(X|Y)=\frac {P(X,Y)}{P(X)}P(X∣Y)=P(X)P(X,Y)?
之所以稱為生成方法,是因為模型表示了給定輸入XXX產生輸出YYY的生成關系。
舉例:樸素貝葉斯法、隱馬爾科夫模型
二、判別模型
由數據直接學習決策函數f(X)f(X)f(X)或者條件概率分布P(X∣Y)P(X|Y)P(X∣Y)作為預測的模型,即判別模型。
判別方法關心的是:給定的輸入XXX,應該預測什么樣的輸出YYY。
舉例:k近鄰、感知機、決策樹、Logistic回歸、最大熵模型、SVM、提升方法、條件隨機場等
兩者主要的不同:
(1)生成方法優點:
- 生成方法可以還原出聯合概率分布P(X,Y)P(X,Y)P(X,Y),判別方法不能。
- 生成方法學習收斂速度更快,即當樣本容量增加時,學到的模型可以更快的收斂于真實模型。
- 當存在隱變量時,仍可以用生成方法,但判別方法不能用。
(2)判別方法特點:
- 直接學習條件概率P(X∣Y)P(X|Y)P(X∣Y)或決策函數f(X)f(X)f(X),直接預測,往往學習準確率更高
- 由于直接學習條件概率P(X∣Y)P(X|Y)P(X∣Y)或決策函數f(X)f(X)f(X),可以對數據進行各種程度上的抽象、定義特征并使用特征,因此可以簡化學習問題。
1.8 分類問題
監督學習從數據中學習一個分類模型或分類決策函數,稱為分類器,分類器對新的輸入進行輸出的預測,稱為分類。
分類問題 = 學習 + 分類
學習: 根據已知的訓練數據集利用有效的學習方法學習一個分類器;
分類: 利用學習的分列前對新的輸入實例進行分類。
分類問題:
其中,T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}T={(x1?,y1?),(x2?,y2?),...,(xN?,yN?)}是訓練數據集,學習系統由訓練數據學習一個分類器P(X∣Y)P(X|Y)P(X∣Y)或f(X)f(X)f(X),分類系統通過學到的分類器P(X∣Y)P(X|Y)P(X∣Y)或f(X)f(X)f(X),對新的輸入實例xN+1x_{N+1}xN+1?進行分類,即預測其輸出的類標記yN+1y_{N+1}yN+1?。
評價方式:
評價分類器性能的指標一般為分類準確率(accuracy):對于給定測試數據集,分類器正確分類的樣本數與總樣本數之比。
對于二分類問題,常用的評價指標是精確率和召回率。通常以關注的類為正類,其他類為負類,分類器在測試數據集上的預測或正確或不正確,4種情況出現的總數分別記為:
-
TP——將正類預測為正類數;
-
FN——將正類預測為負類數;
-
FP——將負類預測為正類數;
-
TN——將負類預測為負類數。
精確率(precision):P=TPTP+FPP=\frac {TP}{TP+FP}P=TP+FPTP?
召回率(recall):R=TPTP+FNR=\frac{TP}{TP+FN}R=TP+FNTP?
F1F_1F1?值:精確率和召回率的條和均值,即:
2F1=1P+1R\frac {2}{F_1}=\frac {1}{P}+\frac {1}{R}F1?2?=P1?+R1?
F1=2TP2TP+FP+FNF_1=\frac {2TP}{2TP+FP+FN}F1?=2TP+FP+FN2TP?
精確率和召回率都高時,其值也會高。
1.9 標注問題(tagging)
1.10 回歸問題
用于預測輸入變量和輸出變量之間的關系,特別是當輸入變量的值發生變化時,輸出變量的值隨之發生的變化。回歸模型正是表示從輸入變量到輸出變量之間映射的函數。
回歸問題的學習等價于函數擬合:選擇一條函數曲線使其能夠很好的擬合已知數據且很好地預測未知數據。
總結
以上是生活随笔為你收集整理的统计学习方法(一)统计学习方法概论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博主:华为鸿蒙OS 4.0设计变动很大
- 下一篇: 统计学习方法(九)EM算法及其推广