前言
由于要準(zhǔn)備學(xué)習(xí)GATK中的一些算法,所以要學(xué)習(xí)HMM(Hidden Markov models),于是就掉進(jìn)了更大的一個坑里,也就是PGM(Probailistic Graphical Models)。
之前只是知道有HMM,但是還不知道PGM,據(jù)說HMM是PGM的一種,所以還是先把PGM學(xué)下來比較好。
由于網(wǎng)上的內(nèi)容十分的多,我這里主要寫下我的學(xué)習(xí)心得以及筆記,還有一些提供的學(xué)習(xí)網(wǎng)站。許多的基礎(chǔ)知識,例如,圖、聯(lián)合概率、貝葉斯公式之類的我這里不加贅述。主要是一些坑,一些不會在別人技術(shù)博客里出現(xiàn)的內(nèi)容,可能比較適合和我一樣剛?cè)腴T的人吧。
相關(guān)內(nèi)容
http://blog.163.com/bioinfor_cnu/blog/static/19446223720136694453439/
http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html
圖的構(gòu)建
主要說的是這幅圖。
由于我需要進(jìn)行python代碼的構(gòu)建,構(gòu)建一個適合的類去初始化一個PGM。但是這個概率表在我看來就是一個十分困擾的內(nèi)容?
- 如何得出的這個表?
在一次實(shí)際的構(gòu)建中,我們是不一定可以直接獲取這個表的。而很可能需要對訓(xùn)練集進(jìn)行一次訓(xùn)練,而這個訓(xùn)練的過程,除了將連續(xù)型的特征轉(zhuǎn)化為離散型的特征外,同時也要統(tǒng)計各種排列組合下的各個狀態(tài)的頻率。如在該圖中,共有3個特征i,d,g,各特征各有2,2, 3個狀態(tài)數(shù)。所以對應(yīng)的有223=12中排列組合。此處可以用python中的
itertools.product
進(jìn)行笛卡爾乘積。
邊緣化(Marginalisation) or 和出(Summing Out)
在求這個概率表的過程中。如圖。顧名思義,先要把所有Cavity=0的prob進(jìn)行加和,也就是"和出"
圖的分類
- 若為有向圖,則可以說是貝葉斯網(wǎng)絡(luò)的一種,可以使用貝葉斯公式進(jìn)行展開,闡明了因果關(guān)系。
由方向和 Local conditional distributions(CPD) 決定聯(lián)合概率
- 若為無向圖,則為Markov 隨機(jī)場,只能給出變量間的關(guān)系。給定了變量間的相關(guān)性,但無前后因果。
由關(guān)聯(lián)和Local contingency functions(potentials) 決定聯(lián)合概率
圖的小定義
- I-map(independency map)
在卡內(nèi)基的cs課程的ppt中講到了這一個定義,但是一開始是比較難懂的,但感謝谷歌的搜索。這里闡釋一下。I-map是為了描述一個圖和一個概率分布的關(guān)系的。圖本身有一系列的條件獨(dú)立關(guān)系,概率分布也有,如果圖的條件獨(dú)立關(guān)系都在這個概率分布的條件獨(dú)立關(guān)系中的,即圖的...為概率分布的....的子集,那么該圖叫該概率分布的I-map