本節書摘來自華章出版社《深度學習導論及案例分析》一書中的第2章,第2.11節,作者李玉鑑 張婷,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
如果已經知道了機率圖模型的結構和參數,就可以進行有關的推理(inference)。推理是指在給定觀測結果時,評估變量的邊際配置(marginal configuration)或最可能的配置(most likely configuration)。為了這個目标,需要把随機變量集x劃分成三個互不相交子集o、q、h,即:
x=o∪q∪h
其中o代表觀測節點集(或證據變量的集合),q代表查詢變量集,h指既不屬于o,也不屬于q的節點集,也稱為潛在變量集或隐含變量集。注意,它們的聯合機率分布p(q,h,o)是一種生成模型,條件機率分布p(q,ho)則是一種判别模型。
推理有兩種基本類型[119]:邊際分布查詢(marginalization query)和最大後驗查詢(maximum aposteriori query)。邊際分布查詢是在給定觀察o的條件下,推理查詢變量的邊際分布,即計算:
其中,
最大後驗查詢是在給定某些證據的條件下,确定查詢變量的最可能初值,即計算:
由于對機率圖模型進行精确推理的計算複雜性會随着最大團的大小指數增加,是以在規模較大且連接配接緊密的機率圖模型中實作精确推理是難解的,是以進行近似推理非常必要。
近似推理有三種基本政策[120]:變分方法(variational method)、消息傳遞(message passing)和采樣方法(sampling method)。
變分方法的基本思想是在假定h=的前提下,用一個易于處理的替代分布g(q)對後驗機率分布p(qo)進行近似。p(o)的對數形式可以分解如下:
其中kl(gp)≥0表示g(q)和p(qo)之間的kl散度,且根據傑森不等式[115],lb(g)是logp(o)的一個下界,即
因為logp(o)不依賴于g(q)和lb(g),且kl(gp)是非負的,是以最大化lb(g)等價于最小化kl(gp)。這意味着,關于g(q)最大化lb(g)就可以得到對後驗機率分布p(qo)的最好近似。
在變分方法中,g(q)通常被限制為簡單的可計算分布。比如,平均場近似(meanfield approxiamtion)是一種變分方法,最簡單的情況要求g(q)具有如下可分解的形式:
消息傳遞算法在樹結構的機率圖模型上能夠給出精确的推理結果,但是在帶環或圈的任意圖上并不能保證收斂性。而且即使收斂,得到的結果也可能隻是精确解的近似。不過,令人吃驚的是,環狀圖上的消息傳遞常常收斂到穩定的後驗或邊際機率。最重要的突破在于發現對某些圖結構來說,消息傳遞算法的不動點(fixed point)實際上就是貝蒂自由能(bethe free energy)的駐點(stationary point)[104]。這個發現澄清了消息傳遞的本質,建立了與大量實體文獻的聯系,并發展了廣義信念傳播算法(generalized belief propagation algorithm,gbp)。廣義信念傳播算法在節點區域上運作,同時在節點區域之間傳遞消息。環狀信念傳播算法(loopy belief propagation algorithm)的收斂性在許多應用中也得到了實驗證明[122],并有大量相關的理論研究[123125]。
采樣方法是從計算可行角度,通過蒙特卡羅程式(monte carlo procedure)計算興趣量(quantities of interest)。最簡單的情況是重要性采樣(importance sampling)[126]和采樣重要性重采樣(sampling importance resampling)[127],用于估計函數的期望。在高維樣本空間中,重要性采樣存在很大的局限性。但是,馬爾可夫鍊蒙特卡羅(markov chain monte carlo,mcmc)方法在各種不同維數的空間都能取得良好效果[128,129],其特殊情況是mh算法(metropolishastings algorithm)[130]和吉布斯采樣(gibbs sampling)[131]。蒙特卡羅方法最主要的應用之一就是通過序列重要性采樣(sequential importance sampling)建立非線性、非高斯粒子濾波器(particle filter)[132],其中後驗分布用一組粒子(樣本)表示。這種粒子濾波器推廣了傳統的線性高斯卡曼濾波器(kalman filter),在性能上優于經典的粒子濾波器。