1. 程式人生 > >監督學習的分類:判別/生成模型,概率/非概率模型、引數/非引數模型

監督學習的分類:判別/生成模型,概率/非概率模型、引數/非引數模型

轉自:https://blog.csdn.net/qq_39521554/article/details/79134274

機器學習是一個有著多分支的學科。其中,監督學習是其中發展最為成熟的分支。這不僅是由於在監督學習框架下面有各種各樣的學習模型,如邏輯斯特迴歸、樸素貝葉斯、支援向量機等,更是因為這個框架有著堅實的理論支撐,機器學習中的計算學習理論就是主要為監督學習服務的:這套理論以概率的方式回答了哪些問題是可學習的,學習成功的概率有多大等問題,其中比較常見的理論有VC理論、PAC理論、PAC-Bayes理論等。為了儘可能理清監督學習的框架,本文嘗試從幾個比較通用的視角來看待這些經典的監督學習模型,並對它們進行分類。其中,幾個通用的視角具體是指:判別模型 VS 生成模型、 非概率模型 VS 概率模型、引數模型 VS 非引數模型,而本文涉及到的經典的監督學習模型包括感知機、邏輯斯特迴歸、高斯判別分析、樸素貝葉斯、支援向量機、神經網路、k近鄰。

問題設定:

假設輸入空間(特徵空間)為歐幾里得空間X,維數是d,我們主要考慮二分類問題,所以輸出空間設定為Y(Y={-1,1})。x代表輸入空間中的一個隨機向量,y代表輸出空間中的一個隨機變數。P(x,y)是x與y的聯合分佈,我們並不知道這個聯合分佈的形式,但由這個分佈產生了m個樣例,構成我們的訓練集D,

1 判別模型 VS 生成模型

1.1 判別模型

按照文獻[1]與[2]給出的解釋,判別模型分為兩種:(1)直接對輸入空間到輸出空間的對映進行建模,也就是學習函式 h,

(2)對條件概率P(y|x)進行建模,然後根據貝葉斯風險最小化的準則進行分類:

感知機、邏輯斯特迴歸、支援向量機、神經網路、k近鄰都屬於判別學習模型。

1.2 生成模型

生成模型是間接地,先對P(x,y)進行建模,再根據貝葉斯公式

算出P(y|x),最後根據(I)來做分類 (由(I)可知,實際上不需要對P(x)進行建模)。<> 的作者Vapnik有句名言: “one should solve the [classification] problem directly and never solve a more general problem as an intermediate step[such as modeling P(x|y)].” 按照他這樣說,我們只需對P(y|x)直接進行建模就行了,沒必要間接地先對P(x,y)進行建模。但是對P(x,y)進行建模從而達到判別的目的也有它自身的一些優勢,這一點文獻[1]中給出瞭解釋。高斯判別分析、樸素貝葉斯屬於生成學習模型。

2 非概率模型 VS 概率模型

2.1 非概率模型

非概率模型指的是直接學習輸入空間到輸出空間的對映h,學習的過程中基本不涉及概率密度的估計,概率密度的積分等操作,問題的關鍵在於最優化問題的求解。通常,為了學習假設h(x),我們會先根據一些先驗知識(prior knowledge) 來選擇一個特定的假設空間H(函式空間),例如一個由所有線性函式構成的空間,然後在這個空間中找出泛化誤差最小的假設出來,

其中l(h(x),y)是我們選取的損失函式,選擇不同的損失函式,得到假設的泛化誤差就會不一樣。由於我們並不知道P(x,y),所以即使我們選好了損失函式,也無法計算出假設的泛化誤差,更別提找到那個給出最小泛化誤差的假設。於是,我們轉而去找那個使得經驗誤差最小的假設,

這種學習的策略叫經驗誤差最小化(ERM),理論依據是大數定律:當訓練樣例無窮多的時候,假設的經驗誤差會依概率收斂到假設的泛化誤差。要想成功地學習一個問題,必須在學習的過程中注入先驗知識[3]。前面,我們根據先驗知識來選擇假設空間,其實,在選定了假設空間後,先驗知識還可以繼續發揮作用,這一點體現在為我們的優化問題(IV)加上正則化項上,例如常用的L1正則化,L2正則化等。

正則化項一般是對模型的複雜度進行懲罰,例如我們的先驗知識告訴我們模型應當是稀疏的,這時我們會選擇L1範數。當然,加正則化項的另一種解釋是為了防止對有限樣例的過擬合,但這種解釋本質上還是根據先驗知識認為模型本身不會太複雜。在經驗誤差的基礎上加上正則化項,同時最小化這兩者,這種學習的策略叫做結構風險最小化(SRM)。最後,學習演算法A根據訓練資料集D,從假設空間中挑出一個假設g,作為我們將來做預測的時候可以用。具體來說,學習演算法A其實是一個對映,對於每一個給定的資料集D,對於選定的學習策略(ERM or SRM),都有確定的假設與D對應

感知機、支援向量機、神經網路、k近鄰都屬於非概率模型。線性支援向量機可以顯式地寫出損失函式——hinge損失。神經網路也可以顯式地寫出損失函式——平方損失。

時下流行的遷移學習,其中有一種遷移方式是基於樣本的遷移。這種方式最後要解決的問題就是求解一個加權的經驗誤差最小化問題,而權重就是目標域與源域的邊際密度之比。所以,線性支援向量機在遷移學習的環境下可以進行直接的推廣。

2.2 概率模型

概率模型指出了學習的目的是學出P(x,y)或P(y|x),但最後都是根據(I)來做判別歸類。對於P(x,y)的估計,一般是根據乘法公式P(x,y) = P(x|y)P(y)將其拆解成P(x|y),P(y)分別進行估計。無論是對P(x|y),P(y)還是P(y|x)的估計,都是會先假設分佈的形式,例如邏輯斯特迴歸就假設了Y|X服從伯努利分佈。分佈形式固定以後,剩下的就是分佈引數的估計問題。常用的估計有極大似然估計(MLE)和極大後驗概率估計(MAP)等。其中,極大後驗概率估計涉及到分佈引數的先驗概率,這為我們注入先驗知識提供了途徑。邏輯斯特迴歸、高斯判別分析、樸素貝葉斯都屬於概率模型。

在一定的條件下,非概率模型與概率模型有以下對應關係

3 引數模型 VS 非引數模型

3.1 引數模型

如果我們對所要學習的問題有足夠的認識,具備一定的先驗知識,此時我們一般會假定要學習的目標函式f(x)或分佈P(y|x)的具體形式。然後,通過訓練資料集,基於ERM、SRM、MLE、MAP等學習策略,可以估計出f(x)或P(y|x)中含有的未知引數。一旦未知引數估計完畢,訓練資料一般來說,就失去其作用了,因為這些估計出來的引數就是訓練資料的濃縮。通過這種方式建立起來的模型就是引數模型。引數模型的一個很重要的特點是,如果對於模型的假設正確,那麼只需要很少的訓練資料就可以從假設空間中學出一個很好的模型。但是,如果模型的假設錯誤,那麼無論訓練的資料量有多大,甚至趨於無窮大,學出的模型都會與實際模型出現不可磨滅的偏差。感知機、邏輯斯特迴歸、高斯判別分析、樸素貝葉斯、線性支援向量機都屬於引數模型。對於神經網路來說,當固定了隱層的數目以及每一層神經元的個數,它也屬於引數模型。但由於隱層數目與每一層神經元個數的不確定性,很多時候,神經網路都被歸類為半引數模型。

3.2 非引數模型

當我們對所要學習的問題知之甚少,此時我們一般不會對潛在的模型做過多的假設。在面對預測任務的時候,我們通常會用上所有的訓練資料。例如簡單的核密度估計(KDE)的表示式中,就帶有所有訓練資料的資訊。通過這種方式建立的模型就是非引數模型。非引數模型的一個很重要的特點就是:let the data speak for itself. 正因為如此,非引數模型的儲存開銷、計算開銷都會比引數模型大的多。但是,由於不存在模型的錯誤假定問題,可以證明,當訓練資料量趨於無窮大的時候,非引數模型可以逼近任意複雜的真實模型。這正是非引數模型誘人的一點。另外需要說明的一點是,非引數模型之所以叫做非引數,並不是因為模型中沒有引數。實際上,非引數模型中一般會含有一個或多個超引數,外加無窮多個普通的引數。k近鄰就是典型的非引數模型。

時下流行的深度學習,其本質是一個半引數模型的神經網路。通過加大網路的深度(加大隱層數目)以及寬度(增加每一層神經元的個數),使假設空間的複雜度得到極大的提高。複雜的假設空間有極強的表達能力,當訓練資料量很大的時候,不會陷入過擬合。所以,深度學習的成功,從理論上講,一方面來源於海量的訓練資料,另一方面來源於其複雜的網路結構。

參考文獻

[1] On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes. nips2002

[2] 《統計學習方法》 李航

[3] Label-Free Supervision of Neural Networks with Physics and Domain Knowledge. AAAI2016