[強(qiáng)基計(jì)劃] 統(tǒng)計(jì)學(xué)習(xí)方法以及監(jiān)督學(xué)習(xí)方法的討論

統(tǒng)計(jì)學(xué)習(xí)以及監(jiān)督學(xué)習(xí)的討論

1.1 統(tǒng)計(jì)學(xué)習(xí)


? 學(xué)習(xí)的定義是什么呢?Herbert A Simon認(rèn)為,如果一個(gè)系統(tǒng)能夠通過執(zhí)行某個(gè)過程改善它的性能,那么這就是學(xué)習(xí)。統(tǒng)計(jì)學(xué)習(xí),就是利用數(shù)據(jù)統(tǒng)計(jì)來提升系統(tǒng)表現(xiàn)性能的一種方法。

? 統(tǒng)計(jì)學(xué)習(xí)利用數(shù)據(jù),提取它的特征,抽象出數(shù)據(jù)的模型,并用于預(yù)測未來的數(shù)據(jù)。通常,統(tǒng)計(jì)學(xué)習(xí)可以分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、自監(jiān)督學(xué)習(xí)(一種無監(jiān)督學(xué)習(xí))。實(shí)現(xiàn)統(tǒng)計(jì)學(xué)習(xí)的步驟如下所示:

? (1)準(zhǔn)備訓(xùn)練數(shù)據(jù)集合

? (2)確定學(xué)習(xí)模型的集合,建立假設(shè)空間。

? (3)確定模型選擇的準(zhǔn)則,也就是說學(xué)習(xí)的策略

? (4)確定求解最優(yōu)模型的算法,也就是學(xué)習(xí)算法

? (5)通過學(xué)習(xí)方法選擇最優(yōu)模型

? (6)利用學(xué)習(xí)的最優(yōu)模型對(duì)新數(shù)據(jù)進(jìn)行預(yù)測或者分析

1.2.1 學(xué)習(xí)方法分類


? 監(jiān)督學(xué)習(xí)利用標(biāo)注的數(shù)據(jù),學(xué)習(xí)出一組模型。它最終會(huì)學(xué)出條件概率分布P(Y|X) (X為輸入,Y為輸出),或者決策函數(shù)Y=\hat f(X)。 本質(zhì)是學(xué)習(xí)輸入-》輸出的映射規(guī)律。

? 無監(jiān)督學(xué)習(xí)使用大量的無標(biāo)注數(shù)據(jù)來進(jìn)行學(xué)習(xí),并預(yù)測出適合的模型。與監(jiān)督學(xué)習(xí)的關(guān)鍵不同,是無監(jiān)督學(xué)習(xí)的輸出屬于隱式結(jié)構(gòu)空間。也就是說,輸入x\in X ,輸出z \in Z隱式結(jié)構(gòu)空間(潛在的結(jié)構(gòu))。無監(jiān)督學(xué)習(xí)的本質(zhì)是通過學(xué)習(xí)來推斷數(shù)據(jù)中的重要統(tǒng)計(jì)規(guī)律和潛在結(jié)構(gòu)。

? 半監(jiān)督學(xué)習(xí):利用未標(biāo)注的數(shù)據(jù)輔助標(biāo)注的數(shù)據(jù)。

? 主動(dòng)學(xué)習(xí):不停產(chǎn)生實(shí)例,讓外界互動(dòng)者進(jìn)行標(biāo)注。

1.2.2 模型分類


? 概率模型(probabilistic model):使用條件概率分布形式P(y|x)來作為模型,代表的模型有決策樹、樸素貝葉斯模型、隱馬爾可夫模型、條件隨機(jī)場、概率潛在語義分析、潛在第利克雷分配、高斯混合模型等為概率模型。

? 非概率模型(non-probabilistic model):感知機(jī)、支持向量機(jī)、k近鄰、adaboost、k均值、潛在語義分析、以及神經(jīng)網(wǎng)絡(luò)都是非概率模型,他們實(shí)際就是算一個(gè)函數(shù)分布y=f(x)。

? 另外,統(tǒng)計(jì)學(xué)習(xí)模型還可以分為線性模型非線性模型,我們熟知的感知機(jī)、線性支持向量機(jī)、k近鄰、k均值、潛在語義分析都屬于線性模型。核函數(shù)支持向量機(jī)、Adaboost、以及神經(jīng)網(wǎng)絡(luò)都屬于非線性模型。

? 參數(shù)化模型的參數(shù)固定維度,反之則為非參數(shù)化模型。

? 最后,模型還可以根據(jù)學(xué)習(xí)的算法,分為online learning(在線學(xué)習(xí))與batch learning(批量學(xué)習(xí))

1.2.3 兩種重要的學(xué)習(xí)技巧


? 貝葉斯估計(jì)法:公式為
P(\theta|D)= \frac{P(\theta)P(D|\theta)}{P(D)} \tag{1-1}
? 其中,D為我們的數(shù)據(jù),\theta為我們的模型參數(shù),那么這就表示“在當(dāng)前給定數(shù)據(jù)下,參數(shù)為\theta的概率,等價(jià)于參數(shù)為θ的概率(先驗(yàn)概率)乘以P(D|\theta)(參數(shù)θ情況下取得當(dāng)前數(shù)據(jù)的概率,或者似然函數(shù))除以參數(shù)D本身所知的概率”。

? 我們在預(yù)測貝葉斯模型的概率參數(shù)時(shí),計(jì)算期望值:
P(x|D)=\int P(x|\theta, D)P(\theta|D)d\theta
? 這個(gè)公式的意思是,利用我們計(jì)算出來的P(\theta|D)后驗(yàn)概率,和P(x)來對(duì)期望值進(jìn)行計(jì)算。由于x與\theta D都有關(guān)系,所以形式如上式。

? 核函數(shù) kernel method:使用核函數(shù)進(jìn)行計(jì)算。核函數(shù)是什么呢?

? 核函數(shù):是映射關(guān)系\phi(x) 的內(nèi)積,映射函數(shù)本身僅僅是一種映射關(guān)系,并沒有增加維度的特性,不過可以利用核函數(shù)的特性,構(gòu)造可以增加維度的核函數(shù),這通常是我們希望的。

? 二維映射到三維,區(qū)分就更容易了,這是聚類、分類常用核函數(shù)的原因。為什么PCA這樣一個(gè)降維算法也用核函數(shù)呢?

PCA
核函數(shù)

? 如上圖所示。

1.3.1 統(tǒng)計(jì)學(xué)習(xí)方法三要素:模型


? 模型:統(tǒng)計(jì)學(xué)習(xí)方法需要學(xué)習(xí)出什么樣的模型呢?在監(jiān)督學(xué)習(xí)中,模型就是所要學(xué)習(xí)的條件概率分布或者決策函數(shù),其假設(shè)空間(hypothesis space)包含所有可能的條件概率分布或者決策函數(shù)。從這個(gè)角度,可以抽象出假設(shè)空間的定義:
F=\{f|Y=f(X)\}
? X,Y分別為定義在輸入空間和輸出空間上的變量。通常,F(xiàn)也可以表示為:
F = \{f|Y=f_\theta(X),\theta \in R^n\}
? R^n被稱為參數(shù)空間。

? 類似的,把上面的F替換為條件概率表示形式,也成立,如:
F=\{P|P_\theta(Y|X),\theta \in R^n\}

1.3.2 統(tǒng)計(jì)學(xué)習(xí)方法三要素:策略


? 策略:接下來要考慮要用什么樣的策略學(xué)習(xí)這個(gè)模型。通常我們引入損失函數(shù)和風(fēng)險(xiǎn)函數(shù),用來評(píng)估我們的估計(jì)值\hat y與實(shí)際值y之間的差距。下面是一些常用的損失估計(jì)函數(shù):

? 0-1損失函數(shù):
\begin{align*} \begin{split} L(Y,f(X)) = \left\{ \begin{array} x1, &Y\ne f(X)\\ 0, &Y = f(X) \end{array} \right. \end{split} \end{align*}
? 平方損失函數(shù):
L(Y,f(X))=(Y-f(X))^2
? 絕對(duì)損失函數(shù):
L(Y,f(X))=|Y-f(X)|
? 對(duì)數(shù)損失函數(shù):
L(Y,P(Y|X))=-log(P(Y|X))
? 假設(shè)我們的模型的輸入、輸出(X,Y)為隨機(jī)變量,它們有著聯(lián)合概率分布P(X,Y),那么損失函數(shù)的期望為:
R_{exp}(f)=E_P[L(Y,f(X))]=\int_{X\times Y}L(y,f(x))P(x,y)dxdy
? 這就是我們的模型在平均意義下的損失,我們稱其為風(fēng)險(xiǎn)函數(shù)或者期望損失。(expected loss or risk function)。但是,很可惜,R_{exp}(f)是無法直接計(jì)算的,因?yàn)槲覀儾恢繮(X,Y)的概率分布。模型根據(jù)期望風(fēng)險(xiǎn)最小的原則進(jìn)行學(xué)習(xí),想要知道期望又需要知道P(X,Y),而知道了它其實(shí)就已經(jīng)能夠求出來結(jié)果了,所以監(jiān)督學(xué)習(xí)是一種病態(tài)問題(ill-formed problem)。

? 假設(shè)我們有一個(gè)訓(xùn)練集:
T = \{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\}
? 我們可以根據(jù)y的標(biāo)簽和x輸入來計(jì)算經(jīng)驗(yàn)損失,公式為:
R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))
? 根據(jù)大數(shù)定律,當(dāng)基數(shù)C(T)趨近于∞時(shí),R_{emp}便會(huì)自然的趨近于R_{exp},但現(xiàn)實(shí)的有標(biāo)注數(shù)據(jù)不會(huì)有這么多,這就帶來了新的學(xué)習(xí)問題。

? 經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化結(jié)構(gòu)風(fēng)險(xiǎn)最小化

? Empirical risk minimization ERM believe the best model have minimum empirical risk. 我們有下式:
\min\limits_{f\in F} \frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i))
? 結(jié)構(gòu)風(fēng)險(xiǎn)最小化(structural risk minimization, SRM) 是為了防止過擬合而提出的一種策略,它最小等價(jià)于正則化(regularization),它在經(jīng)驗(yàn)風(fēng)險(xiǎn)之上加入了表示模型復(fù)雜度的正則化項(xiàng)和懲罰項(xiàng)目(regularizer and penalty term),
R_{srm} (f)=\frac{1}{N}\sum^N_{i=1}(y_i,f(x_i))+\lambda J(f)
? 這里,J(f)代表了模型的復(fù)雜度,它是定義在假設(shè)空間F上的泛函??(泛函是什么)泛函就是函數(shù)的函數(shù),可以把函數(shù)-》數(shù),更科學(xué)一點(diǎn),泛函就是定義域是一個(gè)函數(shù)集,而值域是實(shí)數(shù)集或者實(shí)數(shù)集的一個(gè)子集。一個(gè)例子是,最大后驗(yàn)概率估計(jì)(MAP, maximium posterior probability estimation)。 這樣,我們只需要對(duì)上式做最小化,也就是有
\min\limits_f\in F \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f)

1.3.3 統(tǒng)計(jì)學(xué)習(xí)方法三要素: 算法


? 算法是統(tǒng)計(jì)學(xué)習(xí)模型的具體計(jì)算方法,統(tǒng)計(jì)學(xué)習(xí)基于訓(xùn)練數(shù)據(jù)集,根據(jù)學(xué)習(xí)策略,從假設(shè)空間中選擇合適的模型,但計(jì)算方法也可能有差異。

**待補(bǔ)充。

1.4.1 模型評(píng)估:訓(xùn)練誤差與測試誤差


? 假設(shè)我們學(xué)習(xí)到的模型為Y=\hat f(X), 定義在經(jīng)驗(yàn)情況下的訓(xùn)練誤差為:
R_{emp}(\hat f)=\frac{1}{N}\sum^N_{i=1}L(y_i, \hat f(x_i))
? 其中,N為樣本的容量,類似的,測試樣本的誤差為:
e_{test}=\frac{1}{N^{'}}\sum^{N^{'}}_{i=1} L(y_i, \hat f(x_i))

1.4.2 模型選擇


? 假設(shè)一M次多項(xiàng)式:
f_M(x,w)=w_0+w_1x+w_2x^2+...+w_Mx^M=\sum^M_{j=0}w_jx^j
? 我們求解以下等式:
L(w)=\frac{1}{2}\sum^N_{i=1} (f(x_i,w)-y_i)^2
? 加\frac{1}{2}是因?yàn)榍髮?dǎo)更容易計(jì)算,然后我們把模型與訓(xùn)練數(shù)據(jù)帶入上式,有:
L(w)=\frac{1}{2}\sum^N_{i=1} \left( \sum^M_{j=0}w_jx^j_i-y_i \right)^2
? 解決這個(gè)方程可用最小二乘法,這在機(jī)器學(xué)習(xí)入門之道(中井悅司)的書中被提及。這樣我們就可以得到這個(gè)模型的參數(shù)解(傳統(tǒng)機(jī)器學(xué)習(xí))。

1.5 正則化與交叉驗(yàn)證


? 正則化(regularization)是結(jié)構(gòu)風(fēng)險(xiǎn)最小化的一種實(shí)現(xiàn),它給經(jīng)驗(yàn)風(fēng)險(xiǎn)加入一個(gè)懲罰(penalty term)或者正則項(xiàng)(regularizer)。根據(jù)Occam's razor理論,在所有的模型中,符合選擇且十分簡單的模型才是最好的模型??梢杂?img class="math-inline" src="https://math.jianshu.com/math?formula=%7C%7Cw%7C%7C%5E2" alt="||w||^2" mathimg="1">二范數(shù)或者一范數(shù)||w||來表示。

? 交叉驗(yàn)證(cross validation),包括簡單交叉驗(yàn)證,S折交叉驗(yàn)證,留一交叉驗(yàn)證。這些方法在傳統(tǒng)學(xué)習(xí)模型中非常常用。

1.6 泛化能力


? 所謂泛化能力,就是指訓(xùn)練出來的模型對(duì)未來的預(yù)測能力。泛化誤差(generalization error):
R_{exp}(f)=E_P[L(Y,\hat f(X))]=\int_{X\times Y}L(y,\hat f(x))P(x,y)dxdy \tag{1.6-1}
? generalization error bound 泛化誤差上界(概率)常用來比較不同學(xué)習(xí)方法的泛化能力,對(duì)于一個(gè)問題,數(shù)據(jù)集越大, 那么泛化上界就越小,模型的假設(shè)空間容量越大,那么泛化誤差上界就越大。為了研究泛化誤差上界的計(jì)算,設(shè)T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}為一從聯(lián)合概率分布P(X,Y)產(chǎn)生的數(shù)據(jù)集,其中,X\in R^n, Y\in \{-1,+1\},假設(shè)空間是一個(gè)函數(shù)的有限集合\{f_1,f_2,...,f_d\}(有限的假設(shè)空間),那么關(guān)于f的期望風(fēng)險(xiǎn)與經(jīng)驗(yàn)風(fēng)險(xiǎn)為:
R(f) = E[L(Y,f(X))] \tag {1.6-2}

R(f) = \frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i)) \tag {1.6-3}

? 經(jīng)驗(yàn)最小化函數(shù)為:
f_n = arg\min\limits_{f\in F} \hat R(f) \tag {1.6-4}
? 它的泛化能力根據(jù)定義可以推導(dǎo)為:
R(f_N)=E[L(Y,f_N(X))] \tag {1.6-5}
? 也就是說,loss的期望(expectation)。

? 我們從之前的假設(shè)空間\{f_1,f_2,...,f_d\}中任選一個(gè)函數(shù)f\in F,至少以概率1-\delta,0<\delta<1,以下的結(jié)論成立:
R(f)\le \hat R(f)+\epsilon(d,N,\delta) \tag {1.6-6}
? 其中:
\epsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(logd+log\frac{1}{\delta})} \tag {1.6-7}
? d:函數(shù)的個(gè)數(shù),或者假設(shè)空間的容量。\hat R(f) 泛化誤差上界。

? 證明:Hoeffding 不等式:設(shè)X_1,...,X_N為獨(dú)立隨機(jī)變量,且X_i\in [a_i,b_i],i=1,2,3,...,N\overline X為變量的經(jīng)驗(yàn)(比如根據(jù)數(shù)據(jù)推斷的)均值,\overline X相當(dāng)于\frac{1}{N}\sum^{N}_{i=1}X_i,則對(duì)任意的t>0,有:
P[\overline X-E(\overline X)\ge t] \le exp\left(-\frac{2N^2t^2}{\sum^N_{i=1}(b_i-a_i)^2}\right) \tag{1.6-8}
? 也就是說,均值減去均值的方差大于t的概率,將會(huì)小于右邊的等式。那么我們就可以由該不等式證明(1.6-6)式子的正確性。如果損失函數(shù)取值于[0,1]區(qū)間,那么由(1.6-8)可得出,對(duì)于任意的\epsilon>0,有:
P(R(f)-\hat R(f)\ge \epsilon)\le exp(-\frac{2N^2\epsilon^2}{N}) = exp(-2N\epsilon^2) \tag{1.6-9}
? 我們在(1.6-9)的基礎(chǔ)上考慮F=\{f_1,f_2,...,f_d\},對(duì)于每一個(gè)f\in F,我們可以推出以下的式子:
P(\exists f \in F:R(f)- \hat R(f) \ge \epsilon) = P(\bigcup_{f\in F} {R(f)-\hat R(f)\ge \epsilon\}) \le \sum_f \in F} P(R(f)- \hat R(f)) \le d exp (-2N \epsilon ^ 2) \tag {1.6-10}
特別的,d為上面的假設(shè)空間的容量,我們把上面的概率反選,也就是對(duì)任意f\in F有:
P(R(f)-\hat R(f)< \epsilon)\ge 1-dexp(-2N\epsilon^2) \tag {1.6-11}
? 令\delta= dexp(-2N\epsilon^2),則我們可以得到 P(R(f)<\hat R(f)+\epsilon)\ge 1-\delta,也就是至少有概率1-\delta,使得R(f)\le \hat R(f)+\epsilon。至于(1.6-7)則可以通過之前的代換得到,即
\ln\frac{\delta}u0z1t8os = -2N\epsilon^2
? 整理,得:

?
\epsilon^2 = \frac{1}{2N}(ln d- ln \delta)=\frac{1}{2N}(lnd+ln\frac{1}{\delta})
? 于是得證。

1.7 生成模型與判別模型


? 監(jiān)督學(xué)習(xí)分為生成方法(generative approach)和判別方法(discriminative approach), 所學(xué)到的模型為生成模型(generative model)與判別模型(discriminative model)。生成方法由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率分布P(X,Y),然后再求出條件概率分布P(Y|X)。生成方法的學(xué)習(xí)收斂速度快,且可以在存在隱型變量的時(shí)候正常運(yùn)行。

? 判別方法則是直接學(xué)習(xí)決策函數(shù)f(X)或者條件概率分布P(Y|X),它只關(guān)心對(duì)于輸入X,應(yīng)該輸出什么樣的Y。判別方法的學(xué)習(xí)準(zhǔn)確率一般更高,同時(shí)可以簡化問題(無需考慮廣泛的問題,可以進(jìn)行各種程度的抽象)。

1.8 監(jiān)督學(xué)習(xí)方法的應(yīng)用


? 分類問題:當(dāng)輸出的變量Y為離散取值的時(shí)候,這個(gè)預(yù)測問題便可以直接的認(rèn)為是分類問題。在這種任務(wù)中,我們需要學(xué)習(xí)出一個(gè)分類器(classifier),它所做的預(yù)測我們稱之為分類(classification)。分類問題包括學(xué)習(xí)與分類兩個(gè)過程,但我認(rèn)為這一節(jié)的重點(diǎn)是幾個(gè)指標(biāo),并將在下面介紹。

? 首先,對(duì)于二分類問題,我們作如下假設(shè),TP(True positive)真陽 把正類分類為正類, FN (False negative) 假陰 把正類分類為負(fù)類 FP (False positive) 假陽 把負(fù)類分類為正類 TN(True negative) 真陰 把負(fù)類分類為負(fù)類。為了體現(xiàn) TP、TN、FN、FP對(duì)正確性的影響,設(shè)計(jì)指標(biāo)如下:

? 精確率(precision) 就是真正為正類的數(shù)量除以判斷為正類的數(shù)量TP+FP,也就是真正為正類的數(shù)量:
P = \frac{TP}{TP+FP}
? 召回率(recall)就是正類樣本中假陰性的數(shù)量,顯然更多的正類分錯(cuò)到了負(fù)類會(huì)降低召回率。
R = \frac{TP}{TP+FN}
? 數(shù)學(xué)上來說,調(diào)和均值十分有用,F_1值就是準(zhǔn)確率和召回率的調(diào)和均值,它的表達(dá)式為:
\frac{2}{F_1} = \frac{1}{P}+\frac{1}{R}
? 代入之前的公式,我們有:
F_1 = \frac{2TP}{2TP+FP+FN}
? 當(dāng)精確率高,召回率也高的時(shí)候,F_1便會(huì)變高,這樣就可以一定程度衡量模型的質(zhì)量(更加均衡的估計(jì))。

? 標(biāo)注問題:標(biāo)注問題的輸入是一個(gè)觀測序列,輸出則應(yīng)當(dāng)是一個(gè)標(biāo)記序列,這個(gè)問題可以看作是分類問題的推廣。對(duì)于一個(gè)觀測序列X_{N+1}=(x^{(1)}_{N+1},x^{(2)}_{N+1},...,x^{(n)}_{N+1})^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)最大的標(biāo)記序列。

? 回歸問題:預(yù)測輸入變量與輸出變量之間的關(guān)系,它分為學(xué)習(xí)和預(yù)測兩個(gè)過程,首先給定一個(gè)訓(xùn)練數(shù)據(jù)集T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\},那么經(jīng)過訓(xùn)練以后對(duì)于輸入的x_{N+1}它都應(yīng)該能回歸出y_{N+1}。

? 作者:Alexander Zhang (zxy)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容