寫在最前面
如今機(jī)器學(xué)習(xí)和深度學(xué)習(xí)如此火熱,相信很多像我一樣的普通程序猿或者還在大學(xué)校園中的同學(xué),一定也想?yún)⑴c其中。不管是出于好奇,還是自身充電,跟上潮流,我覺得都值得試一試。對(duì)于自己,經(jīng)歷了一段時(shí)間的系統(tǒng)學(xué)習(xí)(參考《機(jī)器學(xué)習(xí)/深度學(xué)習(xí)入門資料匯總》),現(xiàn)在計(jì)劃重新閱讀《機(jī)器學(xué)習(xí)》[周志華]和《深度學(xué)習(xí)》[Goodfellow et al]這兩本書,并在閱讀的過程中進(jìn)行記錄和總結(jié)。這兩本是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的入門經(jīng)典。筆記中除了會(huì)對(duì)書中核心及重點(diǎn)內(nèi)容進(jìn)行記錄,同時(shí),也會(huì)增加自己的理解,包括過程中的疑問,并盡量的和實(shí)際的工程應(yīng)用和現(xiàn)實(shí)場(chǎng)景進(jìn)行結(jié)合,使得知識(shí)不只是停留在理論層面,而是能夠更好的指導(dǎo)實(shí)踐。記錄筆記,一方面,是對(duì)自己先前學(xué)習(xí)過程的總結(jié)和補(bǔ)充。 另一方面,相信這個(gè)系列學(xué)習(xí)過程的記錄,也能為像我一樣入門機(jī)器學(xué)習(xí)和深度學(xué)習(xí)同學(xué)作為學(xué)習(xí)參考。
章節(jié)目錄
- 隱馬爾可夫模型
- 馬爾可夫隨機(jī)場(chǎng)
- 條件隨機(jī)場(chǎng)
- 學(xué)習(xí)與推斷
- 近似推斷
- 話題模型
(一)隱馬可科夫模型
機(jī)器學(xué)習(xí)最重要的任務(wù),是根據(jù)一些已觀察到的證據(jù)(例如訓(xùn)練樣本)來對(duì)感興趣的未知變量(例如類別標(biāo)記)進(jìn)行估計(jì)和推測(cè)。概率模型(probabilistic model)提供了一種描述框架,將學(xué)習(xí)任務(wù)歸結(jié)于計(jì)算變量的概率分布。在概率模型中,利用已知變量推測(cè)位置變量的分布稱為“推斷”(inference),其核心是如何基于可觀測(cè)變量推測(cè)出未知變量的條件分布。具體來說,假定所關(guān)心的變量集合為Y,可觀測(cè)變量集合為O,其他變量集合為R,
- “生成式”(generative)模型考慮聯(lián)合分布P(Y,R,O);
- “判別式”(discriminative)模型考慮條件分布P(Y,R|O);
給定一組觀測(cè)變量值,推斷就是由P(Y,R,O)或P(Y,R|O)得到條件分布P(Y|O)。
直接利用概率和規(guī)則消去變量R顯然不可行。為了便于研究高效的推斷和學(xué)習(xí)算法,需要有一套能簡(jiǎn)潔緊湊地表達(dá)變量間關(guān)系的工具。
概率圖模型(probabilistic graphical model)是一類用圖來表達(dá)變量相關(guān)關(guān)系的概率模型。它以圖為表示工具,最常見的是用一個(gè)結(jié)點(diǎn)表示一個(gè)或一組隨機(jī)變量,結(jié)點(diǎn)之間的邊表示變量間的概率相關(guān)關(guān)系,即“變量關(guān)系圖”。根據(jù)邊的性質(zhì)不同,概率圖模型可大致分為兩類:
- 第一類是使用有向無環(huán)圖表示變量間的依賴關(guān)系,稱為有向圖模型或貝葉斯網(wǎng)(Bayesian network);
- 第二類是使用無向圖表示變量間的相關(guān)關(guān)系,稱為無向圖模型或馬爾可夫網(wǎng)(Markov network);
隱馬爾可夫模型(Hidden Markov Model,簡(jiǎn)稱HMM)是結(jié)構(gòu)最簡(jiǎn)單的動(dòng)態(tài)貝葉斯網(wǎng)(dynamic Bayesian network),這是一種著名的有向圖模型,主要用于時(shí)序數(shù)據(jù)建模,在語音識(shí)別、自然語言處理等領(lǐng)域有廣泛應(yīng)用。
隱馬爾可夫模型中的變量可分為兩組。第一組是狀態(tài)變量{y1,y2,...,yn},其中,yi∈Y表示第i時(shí)刻的系統(tǒng)狀態(tài)。通常假定狀態(tài)變量是隱藏的、不可被觀測(cè)的,因此狀態(tài)變量亦稱隱變量(hidden variable)。第二組是觀測(cè)變量{x1,x2,...,xn},其中,xi∈X表示第i時(shí)刻的觀測(cè)值。在隱馬爾可夫模型中,系統(tǒng)通常在多個(gè)狀態(tài){s1,s2,...,sN}之間轉(zhuǎn)換。如下圖所示,

在任一時(shí)刻,觀測(cè)變量的取值僅依賴于狀態(tài)變量,即xt由yt確定,與其他狀態(tài)變量及觀測(cè)變量的取值無關(guān)。同時(shí),t時(shí)刻的狀態(tài)yt僅依賴于
t-1時(shí)刻的狀態(tài)yt-1,與其余n-2個(gè)狀態(tài)無關(guān)。這就是所謂的“馬爾可夫鏈”(Markov chain),即:系統(tǒng)下一時(shí)刻的狀態(tài)僅由當(dāng)前狀態(tài)決定,不依賴于以往的任何狀態(tài)。
在實(shí)際應(yīng)用中,人們常常關(guān)注隱馬爾可夫模型的三個(gè)基本問題:
- 如何評(píng)價(jià)模型與觀察序列之間的匹配程度
例如許多任務(wù)需根據(jù)以往的觀察序列{x1,x2,...,xn-1}來推測(cè)當(dāng)前時(shí)刻最可能的觀測(cè)值xn; - 如何根據(jù)觀測(cè)序列推斷出隱藏的模型狀態(tài)
例如在語音識(shí)別等任務(wù)中,觀測(cè)值為語音信號(hào),隱藏狀態(tài)為文字,目標(biāo)就是根據(jù)觀測(cè)信號(hào)來推斷最有可能的狀態(tài)序列(即對(duì)應(yīng)的文字); - 如何訓(xùn)練模型使其能最好的描述觀測(cè)數(shù)據(jù)
例如在大多數(shù)現(xiàn)實(shí)應(yīng)用中,人工指定模型參數(shù)已變得越來越不可行,如何根據(jù)訓(xùn)練樣本學(xué)得最優(yōu)的模型參數(shù);
(二)馬爾可夫隨機(jī)場(chǎng)
馬爾可夫隨機(jī)場(chǎng)(markov Random Field,簡(jiǎn)稱MRF)是典型的馬爾可夫網(wǎng),這是一種著名的無向圖模型。圖中每個(gè)結(jié)點(diǎn)表示一個(gè)或一組變量,結(jié)點(diǎn)之間的邊表示兩個(gè)變量之間的依賴關(guān)系。馬爾可夫隨機(jī)場(chǎng)有一組勢(shì)函數(shù)(potential function),亦稱“因子”(factor),這是定義在變量子集上的非負(fù)函數(shù),主要用于定義概率分布模型。
(三)條件隨機(jī)場(chǎng)
條件隨機(jī)場(chǎng)(Conditional Random Field,簡(jiǎn)稱CRF)是一種判別式無向圖模型。生成式模型是直接對(duì)聯(lián)合分布進(jìn)行建模,而判別式模型則是對(duì)條件分布進(jìn)行建模。前面介紹的隱馬爾可夫模型和馬爾可夫隨機(jī)場(chǎng)都是生成式模型,而條件隨機(jī)場(chǎng)是判別式模型。
(四)學(xué)習(xí)與推斷
基于概率圖模型定義的聯(lián)合概率分布,我們能對(duì)目標(biāo)變量的邊際分布(marginal distribution)或以某些可觀測(cè)變量為條件的條件分布進(jìn)行推斷。
對(duì)概率圖模型,還需確定具體分布的參數(shù),這稱為參數(shù)估計(jì)或參數(shù)學(xué)習(xí)問題。
概率圖模型的推斷方法大致可分為兩類:
- 第一類是精確推斷方法
希望能計(jì)算出目標(biāo)變量的邊際分布或條件分布的精確值。遺憾的是,一般情形下,此類算法的計(jì)算復(fù)雜度隨著極大團(tuán)規(guī)模的增長呈指數(shù)增長,適用范圍有限。 - 第二類是近似推斷方法
希望在較低時(shí)間復(fù)雜度下獲得原問題的近似解。此類方法在現(xiàn)實(shí)任務(wù)中更常用。
精確推斷具有代表性的方法有,
1.變量消去
精確推斷的實(shí)質(zhì)是一類動(dòng)態(tài)規(guī)劃算法,它利用圖模型所描述的條件獨(dú)立性來消減計(jì)算目標(biāo)概率值所需的計(jì)算量。變量消去是最直觀的精確推斷算法,也是構(gòu)建其他精確推斷算法的基礎(chǔ)。
變量消去法有一個(gè)明顯的缺陷:若需計(jì)算多個(gè)邊際分布,重復(fù)使用變量消去法將對(duì)造成大量的冗余計(jì)算。
2. 信念傳播
信念傳播(Belief Propagation)算法將變量消去法中的求和操作看作一個(gè)消息傳遞過程,較好的解決了求解多個(gè)邊際分布時(shí)重復(fù)計(jì)算問題。
(五)近似推斷
精確推斷方法通常需要很大的計(jì)算開銷,因此在現(xiàn)實(shí)應(yīng)用中近似推斷方法更為常用。近似推斷方法大致可分為兩大類:
- 第一類是采樣(sampling)
通過使用隨機(jī)化方法完成近似; - 第二類是使用確定性近似完成近似推斷
典型代表為變分推斷(variational inference);
1. MCMC采樣
概率圖模型中最常用的采用技術(shù)是馬爾可夫鏈蒙特卡羅(Markov Chain Monte Carlo,簡(jiǎn)稱MCMC)方法。
2. 變分推斷
變分推斷通過使用已知簡(jiǎn)單分布來逼近所需推斷的復(fù)雜分布,并通過限制近似分布的類型,從而得到一種局部最優(yōu)、但具有確定解的近似后驗(yàn)分布。
(六)話題模型
話題模型(topic model)是一族生成式有向圖模型,主要用于處理離散型的數(shù)據(jù)(如文本集合),在信息檢索、自然語言處理等領(lǐng)域有廣泛應(yīng)用。隱狄利克雷分配模型(Latent Dirichlet Allocation,簡(jiǎn)稱LDA)是話題模型的典型代表。
話題模型中有幾個(gè)重要概念:詞(word)、文檔(document)和話題(topic)。
- 詞
“詞”是待處理數(shù)據(jù)的基本離散單元,例如在文本處理任務(wù)中,一個(gè)詞就是一個(gè)英文單詞或有獨(dú)立意義的中文詞。 - 文檔
“文檔”是待處理的數(shù)據(jù)對(duì)象,它由一組詞組成,這次詞在文檔中是不計(jì)順序的,例如一篇論文、一個(gè)網(wǎng)頁都可看做一個(gè)文檔;這種表示方式稱為“詞袋”(bag-of-words)。數(shù)據(jù)對(duì)象只要能用詞袋描述,就可使用話題模型。 - 話題
“話題”表示一個(gè)概念,具體表示為一系列相關(guān)的詞,以及它們?cè)谠摳拍钕鲁霈F(xiàn)的概率。