李航-统计学习方法-笔记-1:概论
寫在前面
本系列筆記主要記錄《統(tǒng)計學(xué)習(xí)方法》中7種常用的機器學(xué)習(xí)分類算法,包括感知機,KNN,樸素貝葉斯,決策樹,邏輯斯諦回歸與最大熵模型,SVM,boosting。
課本還涉及到3種算法是關(guān)于概率模型估計和標(biāo)注問題的,暫未列入學(xué)習(xí)計劃,所以筆記中沒有涉及,包括EM算法,隱馬爾可夫模型,條件隨機場(CRF)。
所以本系列筆記總共包括9篇筆記:
1篇概論(對應(yīng)書本第1章)
7篇算法(對應(yīng)書本第2-8章)
1篇總結(jié)(對應(yīng)書本第12章)
統(tǒng)計學(xué)習(xí)
學(xué)習(xí):Herber A. Simon曾對“學(xué)習(xí)”給出以下定義:“如果一個系統(tǒng)能夠通過執(zhí)行某個過程改進它的性能,這就是學(xué)習(xí)”。
統(tǒng)計學(xué)習(xí):統(tǒng)計學(xué)習(xí)就是計算機系統(tǒng)通過運用數(shù)據(jù)及統(tǒng)計方法提高系統(tǒng)性能的機器學(xué)習(xí)。現(xiàn)在人們提及的機器學(xué)習(xí),往往就是指統(tǒng)計機器學(xué)習(xí)。
統(tǒng)計學(xué)習(xí)的前提:統(tǒng)計學(xué)習(xí)關(guān)于數(shù)據(jù)的基本假設(shè)是同類數(shù)據(jù)具有一定的統(tǒng)計規(guī)律性。由于它們具有統(tǒng)計規(guī)律性,所以可以用概率統(tǒng)計方法來加以處理。比如,可用隨機變量描述數(shù)據(jù)中的特征,用概率分布描述數(shù)據(jù)的統(tǒng)計規(guī)律。
統(tǒng)計學(xué)習(xí)包括:監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí),半監(jiān)督學(xué)習(xí),強化學(xué)習(xí),本書主要討論監(jiān)督學(xué)習(xí)。
監(jiān)督學(xué)習(xí)
三種任務(wù):輸入輸出均為連續(xù)變量的預(yù)測問題稱為回歸問題,輸出變量為有限個離散變量的預(yù)測問題稱為分類問題,輸入輸出均為變量序列的預(yù)測問題稱為標(biāo)注問題。
監(jiān)督學(xué)習(xí)的假設(shè):假設(shè)輸入與輸出的隨機變量\(X\)和\(Y\)遵循聯(lián)合概率分布\(P(X, Y)\)。在學(xué)習(xí)的過程中,假定這一聯(lián)合概率分布存在,訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)被看作是依聯(lián)合概率分布\(P(X, Y)\)獨立同分布產(chǎn)生的。
獨立同分布:隨機過程中任何時刻的取值都為隨機變量,如果這些隨機變量服從同一分布,并且相互獨立(X1的取值不影響X2的取值,X2的取值不影響X1的取值),那么這些隨機變量是獨立同分布的。
統(tǒng)計學(xué)習(xí)三要素之一:模型
模型和假設(shè)空間:統(tǒng)計學(xué)習(xí)首要考慮的問題是學(xué)習(xí)什么樣的模型。監(jiān)督學(xué)習(xí)中,模型就是所要學(xué)習(xí)的條件概率分布或決策函數(shù),模型的假設(shè)空間包含所有可能的條件概率分布或決策函數(shù)。
決策函數(shù)族:假設(shè)空間可以定義為決策函數(shù)的集合,\(\mathcal{F} = \{f \ | \ Y = f_\theta(X), \theta \in R^n\}\)。
條件概率分布族:假設(shè)空間也可以定義為條件概率的集合,\(\mathcal{F} = \{P \ | \ P_\theta(Y \ | \ X), \theta \in R^n\}\)。
概率模型和非概率模型:用決策函數(shù)表示的模型為非概率模型,用條件概率表示的模型為概率模型。有時模型兼有兩種解釋,既可以看作概率模型,也可以看作非概率模型。為了簡便起見,當(dāng)論及模型時,有時只用其中一種模型。
統(tǒng)計學(xué)習(xí)三要素之二:策略(損失函數(shù))
常用損失函數(shù):
(1)0-1損失:\[L(Y,f(X)) = \left\{\begin{matrix} 1, & Y \neq f(X)\\ 0, & Y = f(X) \end{matrix}\right. \]
(2)平方損失:\(L(Y,f(X)) = (Y-f(X))^2\)
(3)絕對損失:\(L(Y,f(X)) = |Y-f(X)|\)
(4)對數(shù)損失:\(L(Y, P(Y|X)) = - \log P(Y|X)\)
期望風(fēng)險:公式如下,這是理論上模型\(f(X)\)關(guān)于聯(lián)合分布\(P(X,Y)\)的平均意義下的損失,稱為期望風(fēng)險(expected risk)。學(xué)習(xí)的目標(biāo)是選擇期望風(fēng)險最小的模型,但是實際上聯(lián)合分布\(P(X,Y)\)是未知的。如果知道聯(lián)合分布\(P(X,Y)\),可以從聯(lián)合分布直接求出條件概率分布\(P(Y|X)\),也就不需要學(xué)習(xí)了。
\[R_{exp}(f)=E_p[L(Y,f(X))] = \int_{\mathcal{X}\times \mathcal{Y}}L(Y,f(X))P(X,Y)dxdy\]
經(jīng)驗風(fēng)險最小化:公式如下,這是模型關(guān)于訓(xùn)練數(shù)據(jù)的平均損失,稱為經(jīng)驗風(fēng)險(empirical risk)。根據(jù)大數(shù)定律,樣本\(N\)趨于無窮時,\(R_{emp}(f)\)趨近于\(R_{exp}(f)\),所以通常用經(jīng)驗風(fēng)險來估計期望風(fēng)險,經(jīng)驗風(fēng)險最小化認為經(jīng)驗風(fēng)險最小的模型是最優(yōu)的模型。
\[R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i, f(x_i)), \\ f^* = \min_{f \in \mathcal{F}} R_{emp}(f)\]
結(jié)構(gòu)風(fēng)險最小化:,但是現(xiàn)實中訓(xùn)練樣本有限,甚至很小,需要對\(R_{emp}\)進行矯正。結(jié)構(gòu)風(fēng)險最小化(structure risk minimization)是為了防止過擬合提出來的策略,在經(jīng)驗風(fēng)險的基礎(chǔ)上加上表示模型復(fù)雜度的正則化項或者懲罰項,如下式所示,\(J(f)\)為模型的復(fù)雜度,復(fù)雜度表示了對復(fù)雜模型的懲罰,\(\lambda \geqslant 0\)是系數(shù),用來權(quán)衡經(jīng)驗風(fēng)險和模型復(fù)雜度。
\[R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i, f(x_i))+ \lambda J(f)\]
結(jié)構(gòu)風(fēng)險最小化需要經(jīng)驗風(fēng)險與模型復(fù)雜度同時小。結(jié)構(gòu)風(fēng)險小的模型往往對訓(xùn)練數(shù)據(jù)以及未知的測試數(shù)據(jù)都有較好的預(yù)測。
統(tǒng)計學(xué)習(xí)三要素之三:算法(最優(yōu)化算法)
算法到最優(yōu)化:統(tǒng)計學(xué)習(xí)基于訓(xùn)練集(data),根據(jù)學(xué)習(xí)策略(loss),從假設(shè)空間(model)中選擇最優(yōu)模型,最后需要考慮用什么算法(algorithm)求解最優(yōu)模型。這時,統(tǒng)計學(xué)習(xí)問題歸結(jié)為最優(yōu)化問題,統(tǒng)計學(xué)習(xí)的算法稱為最優(yōu)化問題的算法。
最優(yōu)化:如果最優(yōu)化問題有顯式的解析解就比較簡單,但通常解析解不存在,這就需要用數(shù)值計算的方法來求解。如何保證找到全局最優(yōu)解,并使求解的過程高效,就成為一個重要問題。統(tǒng)計學(xué)習(xí)可以用已有的最優(yōu)化算法(常用的有梯度下降法,牛頓法和擬牛頓法),有時也需要開發(fā)獨自的優(yōu)化算法。
模型評估與模型選擇
評估標(biāo)準:當(dāng)損失函數(shù)給定時,基于損失函數(shù)的模型的訓(xùn)練誤差和測試誤差就自然稱為學(xué)習(xí)方法的評估標(biāo)準。注意,統(tǒng)計學(xué)習(xí)方法具體采用的損失函數(shù)未必是評估時使用的損失函數(shù),當(dāng)然,讓二者一致是比較理想的(現(xiàn)實中由于0-1損失不是連續(xù)可導(dǎo)的,評估時用0-1損失,訓(xùn)練時使用另外的損失,比如分類任務(wù)中大多用對數(shù)損失)。
訓(xùn)練誤差:模型關(guān)于訓(xùn)練集的平均損失(經(jīng)驗損失)。訓(xùn)練誤差的大小,對判斷給定問題是不是一個容易學(xué)習(xí)的問題是有意義的,但本質(zhì)上不重要。
測試誤差:模型關(guān)于測試集的平均損失(當(dāng)損失函數(shù)是0-1損失時,測試誤差就變成了測試集上的誤差率error rate,誤差率加準確率為1)。測試誤差反映了學(xué)習(xí)方法對未知的測試數(shù)據(jù)集的預(yù)測能力,通常將學(xué)習(xí)方法對未知數(shù)據(jù)的預(yù)測能力稱為泛化能力。
模型選擇:當(dāng)假設(shè)空間含有不同復(fù)雜度(例如,不同的參數(shù)個數(shù))的模型時,就要面臨模型選擇的問題,我們希望學(xué)習(xí)一個合適的模型。如果假設(shè)空間中存在“真”模型,那么所選擇的模型應(yīng)該逼近“真”模型。
過擬合:如果一味追求提高對訓(xùn)練數(shù)據(jù)的預(yù)測能力,所選模型的復(fù)雜度往往會比“真”模型更高,這種現(xiàn)象稱為過擬合。過擬合是指學(xué)習(xí)時選擇的模型所包含的參數(shù)過多,以至于出現(xiàn)這一模型對已知數(shù)據(jù)預(yù)測得很好,但對未知數(shù)據(jù)預(yù)測很差的現(xiàn)象。
模型選擇和過擬合:可以說模型選擇旨在避免過擬合并提高模型的預(yù)測能力,常用的模型選擇方法有正則化和交叉驗證。
正則化:
正則化是結(jié)構(gòu)風(fēng)險最小化策略的實現(xiàn),是在經(jīng)驗風(fēng)險上加上一個正則化項或懲罰項。正則化項一般是模型復(fù)雜度的單調(diào)遞增函數(shù),模型越復(fù)雜,正則化值越大。正則化項可以是模型參數(shù)向量的范數(shù),比如L1范數(shù)或L2范數(shù)。如下式子回歸問題中的平方損失加L2范數(shù)。
\[L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w))^2+ \frac {\lambda}{2}\left \| w \right \|_2^2\]
第1項的經(jīng)驗風(fēng)險較小的模型可能比較復(fù)雜(多個非零參數(shù)),這時第2項的模型復(fù)雜度會比較大。正則化的作用是選擇經(jīng)驗風(fēng)險與模型復(fù)雜度同時比較小的模型。
正則化符合奧卡姆剃刀原理:在所有可能選擇的模型中,能夠很好地解釋已知數(shù)據(jù)并且十分簡單才是最好的模型,也就是應(yīng)該選擇的模型。
訓(xùn)練/驗證/測試:如果樣本充足,模型選擇的一個簡單方法是把數(shù)據(jù)隨機劃分為訓(xùn)練集,驗證集,測試集。訓(xùn)練集用來訓(xùn)練模型,驗證集用于模型的模型,測試集用于最終對學(xué)習(xí)方法的評估。在學(xué)習(xí)到的不同復(fù)雜度的模型中,選擇對驗證集有最小預(yù)測誤差的模型,由于驗證集有足夠多的數(shù)據(jù),這樣進行模型選擇是有效的。
但是實際應(yīng)用中數(shù)據(jù)是不充足的,為了選擇好的模型,可以采用交叉驗證的方法。其基本思想是重復(fù)使用數(shù)據(jù),劃分為訓(xùn)練集和測試集,在此基礎(chǔ)上反復(fù)訓(xùn)練,測試以及模型選擇。
簡單交叉驗證:隨機劃分兩部分數(shù)據(jù),一部分作為訓(xùn)練集,一部分作為測試集(比如三七分)。然后用訓(xùn)練集在各種條件下(比如不同的參數(shù)個數(shù))訓(xùn)練模型,在測試集上評價各個模型,選擇測試誤差最小的模型。
S折交叉驗證(應(yīng)用最多):隨機切分成S個互不相交,大小相同的子集;用S-1個子集的數(shù)據(jù)訓(xùn)練模型,余下的子集做測試;將可能的S種選擇重復(fù)進行,會得到一個平均誤差;選擇平均測試誤差最小的模型作為最優(yōu)模型。
留一交叉驗證:S折交叉驗證的特殊情形是\(S=N\)(樣本容量),稱為留一驗證,往往在數(shù)據(jù)缺乏的情況下使用。
泛化能力
泛化能力:學(xué)習(xí)方法的泛化能力指由該方法學(xué)習(xí)到的模型對未知數(shù)據(jù)的預(yù)測能力。
測試誤差:現(xiàn)實中采用最多的辦法是通過測試誤差來評價學(xué)習(xí)方法的泛化能力,但這種評價是依賴于測試數(shù)據(jù)集的,因為測試數(shù)據(jù)集是有限的,很有可能由此得到的評價結(jié)果是不可靠的。
泛化誤差:泛化誤差就是學(xué)習(xí)到的模型的期望風(fēng)險。
泛化誤差上界:統(tǒng)計學(xué)習(xí)理論試圖從理論上對學(xué)習(xí)方法的泛化能力進行分析。學(xué)習(xí)方法的泛化能力分析往往是通過研究泛化誤差的概率上界進行的,簡稱泛化誤差上界。具體來說,就是比較兩種學(xué)習(xí)方法的泛化誤差上界的大小來比較它們的優(yōu)劣。
泛化誤差上界的性質(zhì):隨著樣本容量的增加,泛化上界趨于0。假設(shè)空間越大,模型越難學(xué),泛化上界越大。
二分類的泛化誤差上界:對二分類問題,當(dāng)假設(shè)空間是有限個函數(shù)的集合\(\mathcal{F}=\{f_1,f_2,...,f_d\}\)時,對任意一個函數(shù)\(f\in\mathcal{F}\),至少以概率\(1-\delta\),以下不等式成立(以下只是假設(shè)空間包含有限個函數(shù)情況下的泛化誤差上界,對一般的假設(shè)空間要找到泛化誤差界沒有這么簡單)。
\[R(f) \leqslant \hat{R}(f)+\varepsilon(d,N,\delta) \\ \varepsilon(d,N,\delta)= \sqrt{\frac{1}{2N}(\log d + log \frac{1}{\delta})}\]
不等式左端\(R(f)\)是泛化誤差。右端為泛化誤差上界。其中右端第1項為訓(xùn)練誤差,訓(xùn)練誤差越小,泛化誤差上界也越小。右端第2項是N的單調(diào)遞減函數(shù),當(dāng)N趨于無窮時趨于0;同時它也是\(\sqrt{\log d}\)階的函數(shù),假設(shè)空間\(\mathcal{F}\)包含的函數(shù)越多,其值越大。
生成模型和判別模型
生成方法和判別方法:監(jiān)督學(xué)習(xí)方法又可分成生成方法和判別方法,所學(xué)到的模型分別為生成模型和判別模型。
生成模型:生成方法由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率分布\(P(X, Y)\),然后求出條件概率分布\(P(Y|X)\)作為預(yù)測的模型,即生成模型。
\[P(Y|X)=\frac{P(X, Y)}{P(X)}\]
之所以稱為生成方法, 是因為模型表示了給定輸入X產(chǎn)生輸出Y的生成關(guān)系。典型的生成模型有:樸素貝葉斯法和隱馬爾可夫模型。
判別模型:判別方法由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)\(f(X)\)或條件概率分布\(P(Y|X)\)作為預(yù)測的模型,即判別模型。判別方法關(guān)心的是對給定的輸入X,應(yīng)該預(yù)測什么樣的輸出Y。典型的判別模型包括:KNN,感知機,決策樹,邏輯回歸,最大熵模型,SVM,boosting方法和條件隨機場。
生成方法的優(yōu)點
(1)可以還原出聯(lián)合概率分布
(2)學(xué)習(xí)收斂更快,即隨著樣本容量N的增加,學(xué)到的模型可以更快地收斂于真實模型。
(3)當(dāng)存在隱變量時,仍可以用生成方法學(xué)習(xí),此時判別方法就不能用。
判別方法的優(yōu)點:
(1)直接學(xué)習(xí)條件概率\(P(Y|X)\)或決策函數(shù)\(f(X)\),直面預(yù)測,往往準確率更高。
(2)直接學(xué)習(xí)\(P(Y|X)\)或\(f(X)\),可以對數(shù)據(jù)進行各種程度上的抽象,定義特征并使用特征,因此可以簡化學(xué)習(xí)問題。
轉(zhuǎn)載于:https://www.cnblogs.com/liaohuiqiang/p/10979545.html
總結(jié)
以上是生活随笔為你收集整理的李航-统计学习方法-笔记-1:概论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图书-技术:目录
- 下一篇: 诺基亚塞班系列最强回顾(搬运整理)