BAT機器學習面試1000題系列(第11~20題)

11.談談判別式模型和生成式模型?
判別方法:由數(shù)據(jù)直接學習決策函數(shù) Y = f(X),或者由條件分布概率 P(Y|X)作為預測模型,即判別模型。
生成方法:由數(shù)據(jù)學習聯(lián)合概率密度分布函數(shù) P(X,Y),然后求出條件概率分布P(Y|X)作為預測的模型,即生成模型。
由生成模型可以得到判別模型,但由判別模型得不到生成模型。
常見的判別模型有:K近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、線性回歸、傳統(tǒng)的神經(jīng)網(wǎng)絡、邏輯斯蒂回歸、boosting、條件隨機場
常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文檔主題生成模型(LDA)、限制玻爾茲曼機

12.L1和L2的區(qū)別

L1范數(shù)(L1 norm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規(guī)則算子”(Lasso regularization)。
比如 向量A=[1,-1,3], 那么A的L1范數(shù)為 |1|+|-1|+|3|.

簡單總結(jié)一下就是:
L1范數(shù): 為x向量各個元素絕對值之和。
L2范數(shù): 為x向量各個元素平方和的1/2次方,L2范數(shù)又稱Euclidean范數(shù)或者Frobenius范數(shù)
Lp范數(shù): 為x向量各個元素絕對值p次方和的1/p次方.
在支持向量機學習過程中,L1范數(shù)實際是一種對于成本函數(shù)求解最優(yōu)的過程,因此,L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學習得到的結(jié)果滿足稀疏化,從而方便人類提取特征。
L1范數(shù)可以使權(quán)值稀疏,方便特征提取。
L2范數(shù)可以防止過擬合,提升模型的泛化能力。

13. CNN最成功的應用是在CV,那為什么NLP和Speech的很多問題也可以用CNN解出來?為什么AlphaGo里也用了CNN?這幾個不相關的問題的相似性在哪里?CNN通過什么手段抓住了這個共性?

@許韓:
來源:深度學習崗位面試問題整理筆記
Deep Learning -Yann LeCun, Yoshua Bengio & Geoffrey HintonLearn TensorFlow and deep learning, without a Ph.D.The Unreasonable Effectiveness of Deep Learning -LeCun 16 NIPS Keynote以上幾個不相關問題的相關性在于,都存在局部與整體的關系,由低層次的特征經(jīng)過組合,組成高層次的特征,并且得到不同特征之間的空間相關性。如下圖:低層次的直線/曲線等特征,組合成為不同的形狀,最后得到汽車的表示。

Paste_Image.png

CNN抓住此共性的手段主要有四個:局部連接/權(quán)值共享/池化操作/多層次結(jié)構(gòu)。局部連接使網(wǎng)絡可以提取數(shù)據(jù)的局部特征;權(quán)值共享大大降低了網(wǎng)絡的訓練難度,一個Filter只提取一個特征,在整個圖片(或者語音/文本) 中進行卷積;池化操作與多層次結(jié)構(gòu)一起,實現(xiàn)了數(shù)據(jù)的降維,將低層次的局部特征組合成為較高層次的特征,從而對整個圖片進行表示。如下圖:
Paste_Image.png
上圖中,如果每一個點的處理使用相同的Filter,則為全卷積,如果使用不同的Filter,則為Local-Conv。另,關于CNN,這里有篇文章《 CNN筆記:通俗理解卷積神經(jīng)網(wǎng)絡》。

14.簡單說說RNN的原理

我們升學到高三準備高考時,此時的知識是由高二及高二之前所學的知識加上高三所學的知識合成得來,即我們的知識是由前序鋪墊,是有記憶的,好比當電影字幕上出現(xiàn):“我是”時,你會很自然的聯(lián)想到:“我是中國人”。

關于RNN,這里有個課程會詳細講RNN,此外這里也有篇講解LSTM的文《理解 LSTM 網(wǎng)絡》。

15. 說一下Adaboost,權(quán)值更新公式。當弱分類器是Gm時,每個樣本的的權(quán)重是w1,w2...,請寫出最終的決策公式。


給定一個訓練數(shù)據(jù)集T={(x1,y1), (x2,y2)…(xN,yN)},其中實例,而實例空間,yi屬于標記集合{-1,+1},Adaboost的目的就是從訓練數(shù)據(jù)中學習一系列弱分類器或基本分類器,然后將這些弱分類器組合成一個強分類器。
Adaboost的算法流程如下:


a. 使用具有權(quán)值分布Dm的訓練數(shù)據(jù)集學習,得到基本分類器(選取讓誤差率最低的閾值來設計基本分類器):


b. 計算Gm(x)在訓練數(shù)據(jù)集上的分類誤差率



由上述式子可知,Gm(x)在訓練數(shù)據(jù)集上的誤差率em就是被Gm(x)誤分類樣本的權(quán)值之和。
c. 計算Gm(x)的系數(shù),am表示Gm(x)在最終分類器中的重要程度(目的:得到基本分類器在最終分類器中所占的權(quán)重):



由上述式子可知,em <= 1/2時,am >= 0,且am隨著em的減小而增大,意味著分類誤差率越小的基本分類器在最終分類器中的作用越大。
d. 更新訓練數(shù)據(jù)集的權(quán)值分布(目的:得到樣本的新的權(quán)值分布),用于下一輪迭代

使得被基本分類器Gm(x)誤分類樣本的權(quán)值增大,而被正確分類樣本的權(quán)值減小。就這樣,通過這樣的方式,AdaBoost方法能“重點關注”或“聚焦于”那些較難分的樣本上。
其中,Zm是規(guī)范化因子,使得Dm+1成為一個概率分布:

Paste_Image.png
Paste_Image.png

從而得到最終分類器,如下:

Paste_Image.png

更多請查看此文:《Adaboost 算法的原理與推導》。

步驟3. 組合各個弱分類器
步驟2. 進行多輪迭代,用m = 1,2, ..., M表示迭代的第多少輪
步驟1. 首先,初始化訓練數(shù)據(jù)的權(quán)值分布。每一個訓練樣本最開始時都被賦予相同的權(quán)值:1/N。


16.LSTM結(jié)構(gòu)推導,為什么比RNN好?
推導forget gate,input gate,cell state, hidden information等的變化;因為LSTM有進有出且當前的cell informaton是通過input gate控制之后疊加的,RNN是疊乘,因此LSTM可以防止梯度消失或者爆炸

17.****經(jīng)常在網(wǎng)上搜索東西的朋友知道,當你不小心輸入一個不存在的單詞時,搜索引擎會提示你是不是要輸入某一個正確的單詞,比如當你在Google中輸入“Julw”時,系統(tǒng)會猜測你的意圖:是不是要搜索“July”,如下圖所示:


這叫做拼寫檢查。根據(jù)谷歌一員工寫的文章顯示,Google的拼寫檢查基于貝葉斯方法。請說說的你的理解,具體Google是怎么利用貝葉斯方法,實現(xiàn)"拼寫檢查"的功能。

用戶輸入一個單詞時,可能拼寫正確,也可能拼寫錯誤。如果把拼寫正確的情況記做c(代表correct),拼寫錯誤的情況記做w(代表wrong),那么"拼寫檢查"要做的事情就是:在發(fā)生w的情況下,試圖推斷出c。換言之:已知w,然后在若干個備選方案中,找出可能性最大的那個c,也就是求
的最大值。 而根據(jù)貝葉斯定理,有:

  

由于對于所有備選的c來說,對應的都是同一個w,所以它們的P(w)是相同的,因此我們只要最大化

即可。其中:
所以,我們比較所有拼寫相近的詞在文本庫中的出現(xiàn)頻率,再從中挑出出現(xiàn)頻率最高的一個,即是用戶最想輸入的那個詞。具體的計算過程及此方法的缺陷請參見這里。

P(c)表示某個正確的詞的出現(xiàn)"概率",它可以用"頻率"代替。如果我們有一個足夠大的文本庫,那么這個文本庫中每個單詞的出現(xiàn)頻率,就相當于它的發(fā)生概率。某個詞的出現(xiàn)頻率越高,P(c)就越大。比如在你輸入一個錯誤的詞“Julw”時,系統(tǒng)更傾向于去猜測你可能想輸入的詞是“July”,而不是“Jult”,因為“July”更常見。
P(w|c)表示在試圖拼寫c的情況下,出現(xiàn)拼寫錯誤w的概率。為了簡化問題,假定兩個單詞在字形上越接近,就有越可能拼錯,P(w|c)就越大。舉例來說,相差一個字母的拼法,就比相差兩個字母的拼法,發(fā)生概率更高。你想拼寫單詞July,那么錯誤拼成Julw(相差一個字母)的可能性,就比拼成Jullw高(相差兩個字母)。值得一提的是,一般把這種問題稱為“編輯距離”,參見博客中的這篇文章。

18.為什么樸素貝葉斯如此“樸素”?
因為它假定所有的特征在數(shù)據(jù)集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現(xiàn)實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。

19.請大致對比下plsa和LDA的區(qū)別

換言之,LDA在pLSA的基礎上給這兩參數(shù)(

、
)加了兩個先驗分布的參數(shù)(貝葉斯化):一個主題分布的先驗分布Dirichlet分布
,和一個詞語分布的先驗分布Dirichlet分布

。
綜上,LDA真的只是pLSA的貝葉斯版本,文檔生成后,兩者都要根據(jù)文檔去推斷其主題分布和詞語分布,只是用的參數(shù)推斷方法不同,在pLSA中用極大似然估計的思想去推斷兩未知的固定參數(shù),而LDA則把這兩參數(shù)弄成隨機變量,且加入dirichlet先驗。
更多請參見:《通俗理解LDA主題模型》。

還是再次舉下文檔d具體產(chǎn)生主題z的例子。給定一篇文檔d,現(xiàn)在有多個主題z1、z2、z3,它們的主題分布{ P(zi|d), i = 1,2,3 }可能是{0.4,0.5,0.1},也可能是{0.2,0.2,0.6},即這些主題被d選中的概率都不再認為是確定的值,可能是P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,也有可能是P(z1|d) = 0.2、P(z2|d) = 0.2、P(z3|d) = 0.6等等,而主題分布到底是哪個取值集合我們不確定(為什么?這就是貝葉斯派的核心思想,把未知參數(shù)當作是隨機變量,不再認為是某一個確定的值),但其先驗分布是dirichlet 分布,所以可以從無窮多個主題分布中按照dirichlet 先驗隨機抽取出某個主題分布出來。如下圖所示(圖截取自沈博PPT上):

文檔d產(chǎn)生主題z(準確的說,其實是Dirichlet先驗為文檔d生成主題分布Θ,然后根據(jù)主題分布Θ產(chǎn)生主題z)的概率,主題z產(chǎn)生單詞w的概率都不再是某兩個確定的值,而是隨機變量。

但在貝葉斯框架下的LDA中,我們不再認為主題分布(各個主題在文檔中出現(xiàn)的概率分布)和詞分布(各個詞語在某個主題下出現(xiàn)的概率分布)是唯一確定的(而是隨機變量),而是有很多種可能。但一篇文檔總得對應一個主題分布和一個詞分布吧,怎么辦呢?LDA為它們弄了兩個Dirichlet先驗參數(shù),這個Dirichlet先驗為某篇文檔隨機抽取出某個主題分布和詞分布。

舉個文檔d產(chǎn)生主題z的例子。給定一篇文檔d,主題分布是一定的,比如{ P(zi|d), i = 1,2,3 }可能就是{0.4,0.5,0.1},表示z1、z2、z3,這3個主題被文檔d選中的概率都是個固定的值:P(z1|d) = 0.4、P(z2|d) = 0.5、P(z3|d) = 0.1,如下圖所示(圖截取自沈博PPT上):
文檔d產(chǎn)生主題z的概率,主題z產(chǎn)生單詞w的概率都是兩個固定的值。

pLSA中,主題分布和詞分布確定后,以一定的概率(
)分別選取具體的主題和詞項,生成好文檔。而后根據(jù)生成好的文檔反推其主題分布、詞分布時,最終用EM算法(極大似然估計思想)求解出了兩個未知但固定的參數(shù)的值:

(由
轉(zhuǎn)換而來)和
(由
轉(zhuǎn)換而來)。

20.請簡要說說EM算法
@tornadomeet來源:http://www.cnblogs.com/tornadomeet/p/3395593.html
有時候因為樣本的產(chǎn)生和隱含變量有關(隱含變量是不能觀察的),而求模型的參數(shù)時一般采用最大似然估計,由于含有了隱含變量,所以對似然函數(shù)參數(shù)求導是求不出來的,這時可以采用EM算法來求模型的參數(shù)的(對應模型參數(shù)個數(shù)可能有多個),EM算法一般分為2步:
  E步:選取一組參數(shù),求出在該參數(shù)下隱含變量的條件概率值;
  M步:結(jié)合E步求出的隱含變量條件概率,求出似然函數(shù)下界函數(shù)(本質(zhì)上是某個期望函數(shù))的最大值。
  重復上面2步直至收斂。
  公式如下所示:
  


  M步公式中下界函數(shù)的推導過程:
  
Paste_Image.png

  EM算法一個常見的例子就是GMM模型,每個樣本都有可能由k個高斯產(chǎn)生,只不過由每個高斯產(chǎn)生的概率不同而已,因此每個樣本都有對應的高斯分布(k個中的某一個),此時的隱含變量就是每個樣本對應的某個高斯分布。
  GMM的E步公式如下(計算每個樣本對應每個高斯的概率):
  

  更具體的計算公式為:
  

  M步公式如下(計算每個高斯的比重,均值,方差這3個參數(shù)):
  

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,278評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內(nèi)容