1. 程式人生 > >漫話概率圖模型:馬爾科夫隨機場(MRF)

漫話概率圖模型:馬爾科夫隨機場(MRF)

之前試圖學過Coursera上講馬爾科夫隨機場的課程,發現聽不太懂,原因是那傢伙一上來簡單介紹一下馬爾科夫隨機場是什麼樣子的就開始Graphcut了。但是到底什麼是馬爾科夫隨機場?為什麼馬爾科夫隨機場可以那樣去定義和推導?這些都沒有怎麼講清楚,於是聽了個稀裡糊塗的。這次系統學了一下概率圖,對這個問題有了比較清晰的認識,這裡簡單談一下自己的理解。

如果沒有另加說明,為了敘述方便,以下的變數都是二值0-1的離散變數。

一、概率圖

所謂概率圖,就是把概率關係用圖表示出來。所謂概率關係,其實就是指的獨立性。這是什麼意思呢?舉個例子,比如我有兩個變數X1和X2,這兩個變數是獨立的,用圖描述出來就是沒有任何連線的兩個單點。而如果這兩個點是有關係的(不獨立),那麼中間就有一條邊。為什麼要這樣去搞呢?因為用圖去描述非常的清晰,獨立性一目瞭然,而且非常簡潔。比如要描述剛才的兩個變數獨立,我們要給出X1,X2的聯合概率分佈,即P(X1=i,X2=j),如果是二值的話,則需要4個式子去描述(由於相加等於1,實際上是3個引數)。但是用概率圖的話,畫了兩個單點就表示這兩個點獨立,那麼只需要單獨給定P(X1=i)和P(X2=j)就可以了,需要2個引數。

可能你會覺得例子太過抽象,還是不太理解為什麼要這麼做,那麼舉一個簡單的例子。比如我想推斷一下今天北京天氣晴朗且倫敦天氣晴朗的概率。首先從常識我們大致可以推斷出,這兩個事件應該是獨立的,那麼我們的概率圖就可以畫成兩個單點。於是我們只要分別指定北京天氣晴朗和倫敦天氣晴朗的概率就可以了,而不需要考慮他們的聯合分佈。可能你會覺得這個例子說明不了問題,因為即使不用概率圖,我也知道只需要把單獨的概率乘起來就可以了。這是因為這個例子太過簡單了(為了說明核心思想),實際問題中往往涉及很多節點和很多值的變數,那個時候概率圖的優勢就非常明顯了。試想一下,假設我們有A-Z共24個變數,這其中有很多很多的獨立關係,你能保證用非概率圖的方法自己不亂套嗎?但是如果畫成圖的話,這個關係一目瞭然,非常清晰。

在概率圖中有一個非常重要的問題,就是概率圖描述的圖和原問題到底是不是等價的?解決了這個問題我們才可以放心大膽地使用它。通過人們的研究,找出了概率圖和它能描述的概率關係之間的關係,這個會在下一節針對馬爾科夫隨機場詳細說明。

除了概率關係(獨立性),我們還需要把概率放上去,就是類似於P(X1=1,X2=1,X3=1)=0.1 這樣的概率放到圖裡面去,這樣的話,我們就可以完全用概率圖來做了(前面的例子裡面實際是有這一步的,只是沒有特意強調)。可能你會說,如果加上這個概率描述的話,不就和原先沒什麼區別了嗎?因為原先也就是一堆這樣的概率值呀。需要注意的是,這裡面我們要新增的概率值是不一樣的。之前由於我們沒有事先確定獨立性關係,因此這種概率需要把所有變數都囊括進來,比如有是三個變數,我們就需要把P(X1,X2,X3)都列出來共8種情況,我們需要保留7個獨立的引數來描述它。   這裡假設我們知道了X1,X2,X3是相互獨立的,那麼我們可以先用圖來表示出來這個概率關係(就是他們三個沒有直接的邊相連),然後再用簡化的概率去描述,即分別用三個概率P(X1),P(X2),P(X3)去描述,只需要3個獨立的引數就可以了。

通過上面的例子我們可以看出來,概率圖的建模分為兩個步驟。第一,用概率圖的結構來描述概率關係。第二,加入概率值進行完整描述。

二、馬爾科夫隨機場

(摘自古槿老師概率圖課程ppt)

為什麼說了一堆概率圖呢?是因為馬爾科夫隨機場其實就是一種概率圖,叫做無向圖,所謂無向圖就是用沒有方向的線連線節點構成的圖。注意我們概率圖的目的是為了描述概率關係,在馬爾科夫隨機場中,有線相連的兩個節點就是不獨立的。但是沒有線相連的節點一定是獨立的嗎?答案是否定的。只要兩個節點之間有一條通路,這兩個節點就是不獨立的(間接有關係)。 仔細想一下,如果節點有通路就不獨立的話,那豈不是馬爾科夫隨機場中所有的節點都不是獨立的了?這樣的話,比如我要求某個節點表現出0的概率,那麼我就需要確定所有其他變數對它造成的影響,這實在是太不簡潔了。因此在馬爾科夫場中還有一個性質,就是如果一個點的直接相鄰節點都確定了的話,那麼這個點的概率就和所有非相鄰節點都獨立了,這也就是所謂的馬爾科夫性。也就是說,假如我已知X12和X21的取值的話,那麼X11的取值僅和他們有關,與其餘的所有節點都無關。

到了這裡我們完成了第一步:描述獨立關係,實際也就是把概率圖的骨架結構確定了。第二步我們需要把概率值加入。

所謂的概率值,用最最最一般的方式描述就是完整的聯合概率分佈,即P(X11=i,.....,X34=p) = c. 這樣的概率。但是這時候我們通過骨架描述已經確定了獨立關係,就有一些獨特的性質在裡面。下面就是馬爾科夫隨機場最最重要的一個地方了。

看上面的隨機場,假設我們想要確定X23=1的概率,P(X23=1),根據馬爾科夫性,只要我們確定了X13,X22,X24和X33,那這個概率就唯一確定了。也就是說,我們需要確定P(X23,X13,X22,X24,X33)的聯合概率分佈。這個式子還是太龐大了,於是我們想,它能不能拆成再簡潔一點的式子?這裡,根據一些理論(後面會提到),我們只需要考慮兩種關係就好了,分別叫做unary potential(一元變數)和binary potential(二元變數)。這也就是說:


其中的Pi表示連乘,也就是把一元變數和二元變數都乘起來。這裡面Z是一個歸一化因子,就是把所有的概率加起來(因為概率值之和應該等於1)。這樣相當於把概率泛化了,因為上面的P(Xi),P(Xi,Xj)其實不是概率了(把他們乘起來再歸一化後才是)。那麼問題來了,為什麼只需要這兩種變數描述聯合概率?為什麼我們不需要考慮P(Xi,Xj,Xk)這樣的關係呢?這裡就涉及所謂圖論的知識了,不加證明地進行引用(一般書裡這麼說的話就是作者也不太知道怎麼證)。

上面的隨機場其實就是一個圖,包括節點和邊。這個理論是說,在計算聯合概率分佈的時候,我們只需要考慮所有的完全連線子圖的關係就可以了。什麼叫完全連線子圖呢?指的就是完全相連的節點集合。比如一個節點是一個完全鄰接子圖,兩個節點只需要把他們連線起來就是一個完全鄰接子圖了,而三個節點則需要兩兩相連,則需要3條邊,四個節點就需要6條邊了。也就是說,我們只需要對所有的完全鄰接子圖分配一個關係P(Xi,...,Xj)即可。

再來看一下上面的隨機場。首先,所有的單點都是一個完全鄰接子圖,因此我們有P(Xi);所有的兩個點也構成了完全鄰接子圖,因此有P(Xi,Xj)。但是,任意三個節點都不是完全連線的,所以到二元變數就打住了。這也就有了上面的分解。所謂的分解定理告訴我們,這樣的分解是沒問題的。另外,由於Z是把所有的聯合概率可能取值加在一起,它對所有的Xi的取值都是一樣的,因此在計算P(Xi,...,Xj)的時候不需要考慮它。去掉Z後,上面的概率還是有些不夠實用,因為它居然是連乘起來的!這裡是一個比較常用的處理方法,就是取負對數。

其中N表示的是相鄰。到此為止,終於走到了MRF中最常用的能量函式的形式。下面將有兩篇博文分別談談MRF的解法(Graph Cuts)以及這篇博文裡用到的知識與Deep Learning之間的關係。

相關推薦

漫話概率模型機場MRF

之前試圖學過Coursera上講馬爾科夫隨機場的課程,發現聽不太懂,原因是那傢伙一上來簡單介紹一下馬爾科夫隨機場是什麼樣子的就開始Graphcut了。但是到底什麼是馬爾科夫隨機場?為什麼馬爾科夫隨機場可以那樣去定義和推導?這些都沒有怎麼講清楚,於是聽了個稀裡糊塗的。這次系統

機場MRF與吉布斯分佈Gibbs

1. 首先由兩個定義,什麼是馬爾科夫隨機場,以及什麼是吉布斯分佈 馬爾科夫隨機場:對於一個無向圖模型G,對於其中的任意節點X_i,【以除了他以外的所有點為條件的條件概率】和【以他的鄰居節點為條件的條件概率】相等,那麼這個無向圖就是馬爾科夫隨機場 Gibbs分佈:如果無向圖模型能

機場MRF與條件機場CRF

看《統計學習方法》中的條件隨機場一章,覺得應該把馬爾科夫隨機場和條件隨機場一起總結一下。 1.馬爾科夫隨機場 1.1無向圖 假設有一組隨機變數Y={Y1,Y2,...,Yn}, 具有聯合概率分佈P(Y)。此聯合概率分佈可以由一個無向圖G=(V,E)來表示。

關於機場MRF在影象分割中應用的個人理解

首先明確幾個基本概念(個人理解): 先驗概率: 基於歷史經驗得到的當前事件發生的概率 後驗概率: 根據資料或證據得到的事件發生的概率 (由因到果) 似然概率: 已知事件發生的概率下資料或證據發生的概率 (由果到因) 影象分割和目標識別都可以看成一個影象中各個畫素點做l

機場Markov Random Field的概念與應用

          工作緣故,時常需要閱讀些許文獻,而在影象處理中關於概率、分割、聚類、求優類等類問題上,十有八九會和隨機扯上關係,不是條件隨機場(Conditional Random Field,

斯坦福 CS228 概率模型中文講義 五、機場

歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列圖和

概率模型 -- 隱模型、條件機場

本文從建模角度出發,通過概率圖模型分析隱馬爾可夫,條件隨機場,文章重點在模型建立理論基礎1. 什麼是概率圖模型用圖來表示變數概率依賴關係的理論,集合概率論圖圖論知識,利用圖來表示與模型有關的變數的聯合概率分佈。2. 常見概率圖模型分類圖模型的分類標準有:根據邊有無無方向的分類

深度強化學習2——決策過程MDP

本文講解思路從馬科夫過程(MP) 到馬爾科夫獎勵過程(MRP)最後到馬爾科夫決策過程(MDP)。 首先我們要了解馬爾科夫性,在上一章1.3我們也提到,當前狀態包含了對未來預測所需要的有用資訊,過去資訊對未來預測不重要,該就滿足了馬爾科夫性,嚴格來說,就是某一狀態資訊包含了所

MRF,機場

        前兩種可以看做是影象分析裡的底層處理(low-level processing)-畫素級和畫素級特徵;後兩種可以看做是針對提取特徵的高層處理(high-level processing)。影象復原或者影象平滑可以看做是LP1型問題。S是影象的畫素,L是一個實整形變數。二值影象或者多通道影象的復

--hmmlearn包python

# coding=utf-8 import numpy as np from hmmlearn import hmm states = ["box 1", "box 2", "box3"] n_states = len(states) observations = ["re

增強學習——決策過程MDP

   最近因為研究需要,要開始學習機器學習了。之前只是懂些CNN什麼的皮毛,對機器學習的整體認識都比較缺乏,後面我會從頭開始一點點打基礎,正好也用部落格把自己的學習歷程記錄一下,如果有大牛看到博文中

關於機場MRF的思考

下面重點說MRF inference問題,即解求能量函式最小能量的問題。對於經典的只有unary 和 binary potential的MRF模型,graph cut已經能夠在Linear time內進行求解,如果加入更高的potential,雖然問題本身可能變成了NP-hard,仍然有很多近似演算法,比如

從貝葉斯理論到影象機場

轉載自:http://blog.csdn.net/on2way/article/details/47307927(影象處理、機器學習的一些演算法) 本節主要介紹馬爾科夫的隨機場模型以及其用於影象的分割演算法中。基於馬爾科夫的隨機場(MRF)的影象分割是一種基於統計的影象

PGM學習之七 MRF機場

        前兩種可以看做是影象分析裡的底層處理(low-level processing)-畫素級和畫素級特徵;後兩種可以看做是針對提取特徵的高層處理(high-level processing)。影象復原或者影象平滑可以看做是LP1型問題。S是影象的畫素,L是一個實整形變數。二值影象或者多通道影象的復

簡述決策過程

都是 自己 人工智能 直接 enter 知識 一次 自己的 初步 在上一篇文章中我們給大家介紹了很多關於馬爾科夫決策知識,具體來說就是馬爾科夫決策過程的特點、要求以及定義,這些內容都是能夠幫助大家初步了解馬爾科夫決策過程的。我們在這篇文章中詳細為大家介紹關於馬爾科夫決策過

概率分布與鏈的關系討論上傳費事

com info 技術分享 技術 17. 分享 概率 討論 關系 概率分布與馬爾科夫鏈的關系討論(上傳費事)

概率分布與鏈的關系討論

而且 ID inf 選擇 之間 tran http 馬爾科夫 方法 概率分布與馬爾科夫鏈的關系討論2018年6月24日22:38Copyright ? 2018 Lucas Yu 小編原創,任何形式傳播(轉載或復制),請註明出處,謝謝! 摘要: 本文主要討論使

PyMC鏈蒙特卡洛采樣工具

load 預裝 ima lin windows mod 創建 pan bubuko PyMC是一個實現貝葉斯統計模型和馬爾科夫鏈蒙塔卡洛采樣工具擬合算法的Python庫。PyMC的靈活性及可擴展性使得它能夠適用於解決各種問題。除了包含核心采樣功能,PyMC還包含了統計輸出

(四)N-gram語言模型假設

1、從獨立性假設到聯合概率鏈 樸素貝葉斯中使用的獨立性假設為 P(x1,x2,x3,...,xn)=P(x1)P(x2)P(x3)...P(xn)(1) (1

數學之美鏈的擴充套件-貝葉斯網路 詞分類

前面介紹的馬爾科夫鏈是一種狀態序列,但在實際中,各個事物之間不僅使用鏈序列起來的,而是互相交叉,錯綜複雜。因此通過各個事物之間的聯絡,可以將馬爾科夫鏈推廣至圖論中。 沒想到貝葉斯網路還可以用於詞分類。在前面我們介紹到通過使用SVD可以對文字進行分類,如果把文字和關鍵詞的