機(jī)器學(xué)習(xí)面試之生成模型VS判別模型

生成模型和判別模型是機(jī)器學(xué)習(xí)中兩類基本的模型,在機(jī)器學(xué)習(xí)面試中,經(jīng)常會(huì)被問到。能否清晰簡明地說明二者的不同,直接影響到面試官對(duì)求職者基礎(chǔ)知識(shí)掌握程度的判斷。本文試圖給出一個(gè)回答,希望大家多多指正。

最近,milter在進(jìn)行算法工程師的面試,發(fā)現(xiàn)面試官特別鐘愛生成模型和判別模型相關(guān)的問題,為了能夠和面試官談笑風(fēng)生,milter精心整理了面試官可能問到的相關(guān)問題。

1、什么是生成模型和判別模型?

從本質(zhì)上講,生成模型和判別模型是解決分類問題的兩類基本思路。首先,您得先了解,分類問題,就是給定一個(gè)數(shù)據(jù)x,要判斷它對(duì)應(yīng)的標(biāo)簽y(這么naive的東西都要解釋下,求面試官此時(shí)內(nèi)心的陰影面積,嘎嘎)。生成模型就是要學(xué)習(xí)x和y的聯(lián)合概率分布P(x,y),然后根據(jù)貝葉斯公式來求得條件概率P(y|x),預(yù)測條件概率最大的y。貝葉斯公式這么簡單的知識(shí)相信您也了解,我就不啰嗦了。判別模型就是直接學(xué)習(xí)條件概率分布P(y|x)。

這樣政治正確的回答是必須要先說出來的,這都說不出來,面試肯定沒戲了。但面試官可不是吃素的,為了判斷你不是背的答案,他會(huì)繼續(xù)提出下面的問題。

2、帥哥,舉個(gè)栗子唄?

有一句名言說的好,沒有什么問題是一個(gè)妹子例子解決不了的,如果有,那就兩個(gè)!那我們就來舉兩個(gè)例子!

例子1

假設(shè)你從來沒有見過大象和貓,連聽都沒有聽過,這時(shí),給你看了一張大象的照片和一張貓的照片。如下所示:
image.png
image.png
image.png
image.png

然后牽來我家的大象(面試官:你家開動(dòng)物園的嗎?),讓你判斷這是大象還是貓。你咋辦?
你開始回想剛剛看過的照片,大概記起來,大象和貓比起來,有個(gè)長鼻子,而眼前這個(gè)家伙也有個(gè)長鼻子,所以,你興奮地說:“這是大象!”恭喜你答對(duì)了!
你也有可能這樣做,你努力回想剛才的兩張照片,然后用筆把它們畫在了紙上,拿著紙和我家的大象做比較,你發(fā)現(xiàn),眼前的動(dòng)物更像是大象。于是,你驚喜地宣布:“這玩意是大象!”恭喜你又答對(duì)了!

在這個(gè)問題中,第一個(gè)解決問題的思路就是判別模型,因?yàn)槟阒挥涀×舜笙蠛拓堉g的不同之處。第二個(gè)解決問題的思路就是生成模型,因?yàn)槟銓?shí)際上學(xué)習(xí)了什么是大象,什么是貓。

例子2

來來來,看一下這四個(gè)形式為(x,y)的樣本。(1,0), (1,0), (2,0), (2, 1)。假設(shè),我們想從這四個(gè)樣本中,學(xué)習(xí)到如何通過x判斷y的模型。用生成模型,我們要學(xué)習(xí)P(x,y)。如下所示:
image.png
image.png

我們學(xué)習(xí)到了四個(gè)概率值,它們的和是1,這就是P(x,y)。

我們也可以用判別模型,我們要學(xué)習(xí)P(y|x),如下所示:
image.png
image.png

我們同樣學(xué)習(xí)到了四個(gè)概率值,但是,這次,是每一行的兩個(gè)概率值的和為1了。讓我們具體來看一下,如何使用這兩個(gè)模型做判斷。
假設(shè) x=1。

  • 對(duì)于生成模型, 我們會(huì)比較:

P(x=1,y=0) = 1/2
P(x=1,y=1) = 0
我們發(fā)現(xiàn)P(x=1,y=0)的概率要比P(x=1,y=1)的概率大,所以,我們判斷:x=1時(shí),y=0。

  • 對(duì)于判別模型,我們會(huì)比較:

P(y=0|x=1) = 1
P(y=1|x=1) = 0
同樣,P(y=0|x=1)要比P(y=1|x=1)大,所以,我們判斷:x=1時(shí),y=0。
我們看到,雖然最后預(yù)測的結(jié)果一樣,但是得出結(jié)果的邏輯卻是完全不同的。

兩個(gè)栗子說完,你心里感到很痛快,面試官臉上也露出了贊賞的微笑,但是,他突然問了一個(gè)問題。

3、生成模型為啥叫生成模型?

這個(gè)問題著實(shí)讓你沒想到,不過,聰明的你略加思考,應(yīng)該就可以想到。生成模型之所以叫生成模型,是因?yàn)?,它背后的思想是,x是特征,y是標(biāo)簽,什么樣的標(biāo)簽就會(huì)生成什么樣的特征。好比說,標(biāo)簽是大象,那么可能生成的特征就有大耳朵,長鼻子等等。
當(dāng)我們來根據(jù)x來判斷y時(shí),我們實(shí)際上是在比較,什么樣的y標(biāo)簽更可能生成特征x,我們預(yù)測的結(jié)果就是更可能生成x特征的y標(biāo)簽。

面試官顯然已經(jīng)基本滿意了,這時(shí),只見他輕輕說了句:

4、常見的生成模型和判別模型有哪些呢?

這個(gè),自然是難不住你了。

生成模型

  • HMM
  • 樸素貝葉斯

判別模型

  • 邏輯回歸
  • SVM
  • CRF
  • 最近鄰
  • 一般的神經(jīng)網(wǎng)絡(luò)
    經(jīng)過這四個(gè)問題,應(yīng)該說,可以過關(guān)了(手動(dòng)笑臉)。

5、無總結(jié),不進(jìn)步

本文,我們簡單分析了生成模型和判別模型的區(qū)別和聯(lián)系,解釋過程中,盡量避免了各種數(shù)學(xué)公式。相信有了現(xiàn)在的知識(shí)基礎(chǔ),再去看那些數(shù)學(xué)公式,你不會(huì)再覺得頭大了。
下面,給大家留一道思考題:

數(shù)據(jù)量小時(shí),你會(huì)選擇哪類模型,為什么?

References:

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

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