1. 程式人生 > >概率圖模型學習(一)概述

概率圖模型學習(一)概述

本文內容根據Stanford 教授 Daphne Koller 的公開課 Probabilistic Graphical Model內容整理。

1.什麼是概率圖模型

概率圖模型即為解決某一類應用問題的一個框架。在理解這個概念之前,首先來看兩個例子:

1)

上面這張圖片是一位醫生在給一位病人看病,她可以根據病人的症狀、各種化驗的結果、誘發生病的原因等多方面,判斷出病人可能患有的疾病,並給出多種治療效果不同的治療方案。

2)

這張牛的圖片被分成來的若干個畫素塊,我們想要做的,是利用概率圖模型對該圖片進行處理,得到這些畫素塊所對應的是什麼東西,是對應草、天空、牛還是馬。

那麼,這兩個例子有什麼共同點呢?首先,他們都有非常多的變數需要考慮,對醫生而言,是症狀、誘因等等,對那張圖片而言,則是一個個的畫素點。第二個共同點則在於答案的不確定性,無論是多麼聰明的演算法,都無法給出確定的答案。

在有了一個對概率圖模型的大概感覺後,再深入一點,模型是什麼,概率是什麼,圖又是什麼?

2.模型的定義

其實我們大概都對這個詞有一個模糊的概念,按我最初的理解,模型其實就是一類事物所共有的特徵的體現,就像某種玩具的模型,他們所共有的特徵就是外表相同,所以這個相同的外表就可以被做成一個模具,用以生產出成千上萬個相同的玩具來,那麼,Daphne Koller教授是如何定義這個詞的呢?

原話是這樣的:“The model is a declarative representation of our understanding of the world. So it is a representation within the computer that captures our understanding of what these variables are and how they interact with each other. And the facr that it's declarative means that the representation stands on its own, which means that we can look into it and make sense of it aside from any algorithm that we might choose to apply on.” 大概意思是“模型就是我們對世界認知的一個說明性的表達。是計算機中我們對各個變數的理解以及他們之間互相作用的表述。而模型的說明性在表示模型是獨立存在的,我們可以在任何應用的演算法之外對其進行研究並弄清楚其原理。” 

那麼,這很重要嗎?是的,因為這表示同一個模型可以被用在演算法中並且解答不同種類的問題,或者以一種更加高效的方式解答一個相同的問題。總而言之,模型的獨立性有助於我們將其從人類的經驗以及歷史的資料中抽取出來,並且允許我們單獨的處理問題。

3.概率的定義

同樣,先放原文:“The word probabilistic is in there because these models are designed to help us deal with large amounts of uncertaninty.” 大概意思是指概率在這門課中是因為我們所設計的模型被用來解決大量不確定性問題。

概率出現的原因:我們只具有有限的知識、噪聲的干擾、模型的侷限性。

用途:概率模型的使用可以為我們提供解決問題的工具,包括強大的推理模式在內;同時結合概率論與統計學,我們可以有效地從歷史資料建模,避免了需要人為指定手工製作模型的每個方面。

4.圖形

為什麼要加入圖形呢?事實上,這個圖形指的是圖形化,其優點在於:

1.直觀而緊湊的資料結構。

2.利用圖形結構,提供了一套使用通用演算法進行高效推斷的方式。

3.能夠用很少的引數表示高維的概率分佈。引數的選擇可以用手工也可以從資料中學習。

(此處借鑑https://blog.csdn.net/ycheng_sjtu/article/details/25865057博文中的內容,比我寫的要好很多,推薦大家可以去看一看)

而對於圖形模型,其主要包括兩大類,分別是貝葉斯網路和馬爾科夫網路。其中貝葉斯網路以有向圖為表現形式,馬爾科夫網路以無向圖為表現形式。