生物信息之ME, HMM, MEMM, CRF
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                生物信息之ME, HMM, MEMM, CRF
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                原文鏈接:http://bbs.sciencenet.cn/home.php?mod=space&uid=260809&do=blog&id=573755
注:有少量修改!如有疑問,請訪問原作者。
 
一:最大熵模型 Maximum Entropy
現從一個簡單例子看起(不要把雞蛋放在一個籃子里): 比如華盛頓和維吉利亞都可以作人名和地名,而從語料中只知道p(人名)=0.6,那么p(華盛頓=人名)的概率為多少比較好呢?一個直觀的想法就是p(華盛頓=人名)=0.3。為什么呢?這就是在滿足已有證據的情況下不做任何其他假設,也就是熵最大,這就是最大熵模型的原理。 現在來看模型的定義: 首先,明確模型的目標:給定一個上下文x,估計p(y|x) 接著,從訓練樣本中我們可以得到一串標注過的樣本(x_i, y_i),其中x_i為上下文,y_i \in Y為類別 然后構造特征函數 f(x,y) = 1 如果x,y滿足一些條件,比如x=記者*,y=人名 0 otherwise 注意x是一個上下文,是個向量,而不是單個詞 (最大熵模型里的特征概念不同于模式識別里的特征,這里的特征即特征函數,通常是二值函數,也有直接定義成實數的,比如 jeon-sigir06里直接把f定義為KDE距離,不是很明白那樣定義的好處。) 于是模型的約束就是對于所有的特征函數模型中的期望等于樣本的期望,即 E_p(f) = E_{\tilde p}(f) 其中 E_p(f) = \sum_{x, y}p(x, y)f(x, y) = \sum_{x, y}p(x)p(y|x)f(x,y) \approx \sum_{x, y} \tilde p(x)p(y|x)f(x,y) \tilde p(f) = \sum_{x, y} \tilde p(x, y)f(x, y), 并且對于任意的x:\sum_y p(y|x) = 1 而模型的熵為 H(p)=-\sum_{x,y} \tilde p(x) p(y|x) \log p(y|x) 在滿足約束的情況下,使熵最大,于是問題即求 p* =\argmax_{p \in P} -\sum{x, y} p(y|x)\tilde p(x) \log p(y|x) where P={p(y|x) | \all f_i : \sum_{x,y}p(y|x)\tilde p(x)f_i(x,y) = \sum_{x,y}\tilde p(x,y)f_i(x,y), \all x : \sum_y p(y|x) = 1} 可以證明,模型的最優解的形式為 p(y|x) = exp(\sum_i \lambda_i f_i(x,y)) / Zx where Zx = \sum_y exp(\sum_i \lambda_i f_i(x,y))
二:隱馬爾可夫模型 Hidden Markov Model:
馬爾可夫模型實際上是個有限狀態機,兩兩狀態間有轉移概率;
隱馬爾可夫模型中狀態不可見,我們只能看到輸出序列,也就是每次狀態轉移會拋出個觀測值;
當我們觀察到觀測序列后,要找到最佳的狀態序列。
設O為觀測值,x為隱變量,那么模型要找到讓P(O)最大的最佳隱藏狀態,而 P(O) = \sum_x P(O|X)P(X) 而其中 P(X)=p(x_1)p(x_{2..n}|x_1) =p(x_1)p(x_2|x_1)p(x_{3..n}|x_1,x_2) …… 根據x_i只與x_{i-1}相關的假設有 P(X)=p(x_1)p(x_2|x_1)p(x_3|x_2)…… 而類似的 P(O|X)=p(o_1|x_{1..n})p(o_{2..n}|o_1x_{1..n}) =p(o_1|x_{1..n})p(o_2|o_1x_{1..n})p(o_{3..n}|o_{1,2},x_{1..n}) …… 根據o_i只與x_i有關的假設有 P(O|X)=p(o_1|x_1)p(o_2|x_2)…… 合起來就是 P(O)=\sum_x p(x_1)p(x_2|x_1)p(o_1|x_1)p(x_3|x_2)p(o_2|x_2)…… 定義向前變量\alpha_i(t)為t時刻以狀態S_i結束時的總概率 \alpha_j(t)=\sum_{i=1}^N \alpha_ip(x_{t}=j|x_{t-1}=i)p(o_t=i|x_t=i) 定義向后變量\beta_i(t)為給定當前狀態S_i和t時刻情況下觀測序列中剩余部分的概率和 \beta_i(t)=\sum_{j=1}^N \p(x_{t}=j|x_{t+1}=i)p(o_{t}=i|x_{t}=i) \beta_j(t+1) 于是觀測序列的概率為 P(O, X_t=i) = \alpha_i(t)\beta_i(t) 最佳狀態可以由動態規劃得到 模型參數可以由EM算法得到
三:最大熵隱馬 Maximum Entropy Markov Model
HMM的缺點是根據觀測序列決定狀態序列,是用聯合模型解決條件問題;另外,幾乎不可能枚舉所有所有可能的觀測序列。 而MEMM解決了這些問題。 首先,MEMM和MM或HMM都有本質不同,MEMM估計的是P(S|O),而MM估計的是P(S),HMM估計的都是P(O)。 P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O) =P(s_1|O)P(s_2|s_1,O)P(s_{3..n}|s_1,s_2,O) …… 然后根據假設有 P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O) =P(s_1|o_1)P(s_2|s_1,o_2)P(s_{3..n}|s_1,s_2,o_3) …… 重新定義特征函數: a=<b,r> b是指示函數用于指示當前觀測 r是狀態值 f_a(o_t, S_t) = 1 if b(o_t) is true and s_t = r 于是約束變為 E_a = \sum_{k=1}^m_{s'}\sum_{s \in S}P(s|s', o_k)f_a(o_k, s) / m_s' = \sum_{k=1}^m_{s'} f_a(o_k, s_k) = F_a 這個目標函數和ME的目標函數實質是一樣的 于是解的形式為 P(s|s', o)=exp(\sum_a \lambda_a f_a(o, s)) / Z(o, s') 然后依然采用HMM中的前向后向變量,尋找最佳序列 而實際上得到的序列是由計算 P(s|o) = P(s_0)P(s_1|s_0,o_0)P(s_2|s_1, o_1)…… 得到
四:條件隨機場 Conditional Random Fields
MEMM其實是用局部信息去優化全局,會有label bias的問題。比如rib和rob,有如下的狀態設計: /r 1i - 2 \ 0 ? ? ? ? ? ? b 3 \r 4o - 5 / 如果訓練集合里的ri多于ro,那么ro其實就被無視了…… 所以要用全局優化全局,于是引入CRF,其實CRF就是ME擴展版,并不需要由MRF推出 p(y|x)\propto exp(\sum_i\lumbda_k f_k(y_{i-1}, y_i, x)+\sum_k \lumbda_kg_k(x_k, x)) 其實這個定義并保持MRF性質:MRF中clique于clique是獨立的 從這點意義上來看,Lafferty也滿水的= = 雖然X,Y在圖上不需要有相同的結構,甚至X都不需要有圖的結構,目前通常G只是一條鏈G=(V={1,2, ..., m}),E={(i,i+1)}。 如果G是一棵樹,它的團就是每條邊和其上的點,這時候 p_\theta(y|x) = exp(\sun_{e\in E, k}\lambda_k f_k(e,y|_e, x)+\sum_{v \in V,k}\mu_k g_k(v, y|_v, x)) x是上下文,y是標注序列,y|_s是y中與子圖S相連的部分 如果是最簡單的first-order情況,g_k就相當于ME中的特征函數,f_k類似于MEMM中的特征函數,就是說用g_k來指示狀態,用f_k來指示狀態轉移 從優化角度來說,這兩類函數是一樣的,可以簡寫為f_j(y_{i-1},y_i,x,i),于是訓練類似ME 當CRF是鏈狀時,一個上下文x的標注可以利用矩陣高效計算 對于長度為n的y,定義n+1個|Y|*|Y|矩陣{M_i(x)|i=1..n+1},其中 Y是類別個數 M_i(y', y|x) = exp(\sum_j \lambda_j f_j(y', y, x, i)) 這個就是第i個矩陣i,j上的元素,表示在x下從y'轉移到y的概率 于是有p(y|x, \lambda)=\multi_{i=1}^{n+1}M_i(y_{i-1},y_i|x) / Zx Zx = \multi_{i=1}^{n+1}M_i(x) Zx只是保證概率之和為1
原來已經有人開始做復雜的情況了……04年cvpr有篇用CRF做圖像標注的。
看來易想到的idea一般都會有人做了……
John Lafferty, Andrew McCallum這兩個人無比牛啊!! 幾乎引領著CRF這一領域的發展:雖然ME不是1拉最先提出來的,但是1拉從96年就開始研究crf相關的東西,
這種牛就是每年N篇ICML+N篇NIPS……而且1看起來還是滿ss的,套套看,kaka……Andrew McCallum從1999年開始做ME,那年與John Lafferty合作在IJCAI上發了篇用ME做文本分類的文章,2003年在ICML上發了篇Dynamic CRF,然后又把CRF應用在CV上,也是每年N篇ICML+N篇NIPS的人物,1雖然不如John Lafferty ss,但也還是很可愛的!發現牛人的圈子其實很小,一個領域領頭人物也就那么幾個……
原來HMM和MEMM,CRF估的東西就不一樣,所以以前怎么推都推不出……= =
不過最近發現?conditional random fields (CRFs) 應用于model RNA sequence–structure relationship ,predict post-translational modification sites (labels) in protein sequences 越來越廣泛了
看來新PGM總有優勢所在呀》》
先總結到這兒,歡迎大牛們指點,
總結
以上是生活随笔為你收集整理的生物信息之ME, HMM, MEMM, CRF的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 「已解决」仙家五色旗代表什么
- 下一篇: 「重点」如何做格力空调代理
