機器學習面試題001:生成模型與判別模型


目錄

  兩者所屬范疇

  生成模型定義

  為什么叫生成模型?

  判別模型定義

  一個例子通俗解釋兩者

  判別模型 VS 生成模型優缺點

  參考資料


 

兩者所屬范疇

 

 返回目錄

 

生成模型定義

生成方法由數據可以學習到一個聯合概率分布P(X,Y),然后通過一定方式,就可以轉為一個預測模型,即生成模型:

  

 典型的生成模型有:朴素貝葉斯模型(NB)和隱馬爾科夫模型(HMM)。

下面解釋為什么NB模型是生成模型:

■ 由朴素貝葉斯法的定義可知:朴素貝葉斯法是通過訓練數據集學習聯合概率分布P(X,Y)的。

■ 根據乘法公式可知,為了求P(X,Y)可以利用訓練數據學習P(X|Y)和P(Y)。

■ 得到聯合概率分布P(X,Y)后,利用貝葉斯定理,便可得到一個預測模型,即

 

那HMM模型呢?

HMM模型是關於時序的概率模型,描述由一個隱藏的馬爾科夫鏈隨機生成不可觀測的狀態序列X,再由各個狀態隨機生成一個可觀測的觀測序列Y的過程。X和Y就是由一個聯合概率分布P(X,Y)產生的(回憶HMM模型,,先由π產生X1,再根據X1由B產生Y1,然后根據X1由A產生X2,最后根據X2由B產生Y2,以此類推),該聯合概率分布就是HMM模型。

 返回目錄

 

為什么叫生成模型?

 從朴素貝葉斯模型和HMM模型可以看出,這兩種模型都含有一種本領:可以表示出數據和標簽共同出現的概率。因為他們中都有聯合概率分布P(X,Y),那就擁有了生成一組新的數據的能力,這個也就是名稱中的生成式模型的來源。

當然,生成模型也可以做判別(預測),上一節已經闡述。順便再說一句,判別模型只能做判別,不能生成數據。

 返回目錄

 

判別模型定義

判別模型比較簡單,就是由數據直接學習決策函數f(X)比如決策樹,KNN等,或者直接學習條件概率分布P(Y|X),比如邏輯回歸、感知機等。

典型的判別模型有:KNN、感知機、決策樹、邏輯回歸、最大熵模型、SVM、提升方法和CRF等。

 返回目錄

 

一個例子通俗解釋兩者

  

假設在一個大學里,有男有女,並且不同性別的人都有自己的穿衣打扮的風格。

 ■ 當有一個【長頭發,穿短裙】的人過來的時候,生成模型和判別模型都可以對這個人的性別進行預測,並且大概率這兩個模型都會將這個人預測為【女性】。這就說明了生成模型和判別模型都可以做判別(預測)。

 ■ 假設每一個人都是一個數據,如果想按照大學原本的分布增加一些學生的時候,生成模型可以做到,因為他深諳該大學里男女比例以及他們穿衣打扮的信息;而判別模型做不到。這就說明了生成模型掌握着整體數據的分布。  

 返回目錄

 

判別模型 VS 生成模型優缺點

■ 生成模型可以還原出聯合概率分布,而判別模型不能。

■ 生成模型收斂速度更快。

■ 當存在隱變量時,可以使用生成模型,不能使用判別模型。

■ 生成模型在做預測的時候准確率往往較低,李航老師給出的解釋是

 

這里從另一個角度定性來分析可以這樣解釋(以朴素貝葉斯為例):

$$\[\sqrt {{a^2} + {b^2}} \]$$

$$\[a + b = 3\]$$

可以看到,相對於條件概率,在計算聯合概率的時候引入了輸入數據的概率分布P(X),而這並不是我們關心的(我們只關心給定X的情況下Y的分布),於是這個就相對削弱了模型的預測能力。

返回目錄

 

參考資料

《統計學習方法》李航

《深入淺出PyTorch:從模型到源碼》張校捷

 返回目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM