機器學習 —— 概率圖模型(CPD)


  CPD是conditional probability distribution的縮寫,翻譯成中文叫做 條件概率分布。在概率圖中,條件概率分布是一個非常重要的概念。因為概率圖研究的是隨機變量之間的練習,練習就是條件,條件就要求條件概率。

  對於簡單的條件概率而言,我們可以用一個條件概率表來表達。如圖1所示。圖1 中表達的是p(g|i,d)。幸運的是id都只有兩個取值,是一個伯努利分布的函數。但是如果i d 有六個取值呢?比如骰子。那么這張表就會猛然增加到6^2那么長。這是不科學的。並且,常規情況下,僅考慮疾病診斷問題,如果有多種原因都會導致某個症狀,那么我們要表達 症狀|疾病 那么就會變得分成復雜,表有有2^N那么長,N是疾病的數目。

  所以,我們需要一種簡單的方法,能夠簡化CPD的表達,除了用表之外,還應該有比較優雅的手段。

1.樹狀CPD

  很多隨機變量依賴於多個隨機變量,但這多個隨機變量的優先級別都不一樣。就像找對象,首先要是個學生,然后要漂亮,最后要聰明。這三個並不是同時要求的,所以樹狀結構的CPD就利用了這個思想,把各級“並聯”變成了串聯。本來job依賴於 c L ,但是L 又是依賴於c 的,所以就轉成了樹狀的CPD.特點是該有的概率都在圖里能讀出來。但是卻又另外指定了一些圖里沒有的邏輯關系。

2.片選CPD

  片選CPD(Multiplexer CPD),實際上是對應一種情況:隨機變量A一旦指定后,Y的取值就僅和其中一個父節點有關。這是一個實際問題,比如天上有很多飛機,它們的速度都是隨機變量(Y),塔台指定一架飛機觀測之后,隨機變量Y就只與指定的那架飛機有關。那么條件概率就有以下表達:

3.噪聲或CPD

  噪聲或CPD(Noise OR CPD)對應的情況是:咳嗽可能由很多因素引起,這些因素的或結果是咳嗽。 咳嗽<--感冒<---受涼。 但是受涼並不一定會感冒,也就是說,受涼不一定會導致咳嗽,那么相當於受涼和感冒之間存在一個噪聲。這種情況下,咳嗽的概率就變成了1-不咳嗽的概率,不咳嗽的概率可以表示為乘積。

  這里的或,也可以是與,也可以是取最大等等。。。。。總之,這一類設計方法對應的CPD可以簡化表示。

4.Sigmoid CPD

  Sigmoid 是機器學習中的概念,還是接着上面那個例子,如果單純用或,有時候太絕對了。直覺上我們有可能會認為,如果多個因素都會導致某個問題,那么多個因素共同發生的時候就會讓問題“雪上加霜”。 比如單純的丑不一定找不到女朋友,丑+猥瑣? 丑+壞+犯罪? 顯然我們應該設計一個打分體系,女朋友這個隨機變量變成多個因素的函數。簡單考慮所有的條件都是二項分布的(要么帥要么丑)各個條件對女朋友的影響不同,用權重wi來表示。最終,將加權結果用 Sigmoid函數來評判。

 

5. 線性高斯CPD

  上述情況我們都把隨機變量當成離散的來考慮。然后真實世界里,哪有那么多非黑即白的情況呢。比如一個機器人從多個傳感器測量距離牆壁的距離(Xi),最終需要融合多個傳感器的數據,估計距離牆壁的真實距離(Y),那么實際上就是一個 P(Y|X1,X2,X3.....)的問題。我們可以用線性高斯模型,來給出Y的概率。

  這里非常值得注意的是,所有的X,也可以是高斯的。但是Y的均值應該是X的均值之和。並且假設Y的方差不受到X方差的影響。

6.總結

  這一章節實際上是為了解決多變量條件下,條件概率表達式的復雜性問題。 單純的基於圖模型的因式分解確實可以大規模的減少概率模型中的因子 ( 鏈 --->  貝葉斯鏈)。 但是如果再給出一些其他假設,或者選擇合適的建模手段,條件概率的表達式復雜程度又可以進一步降低。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM