020 學習機率模型

Post date: 2013/4/23 下午 01:58:59

本章中我們把學習視為從觀察中進行不確定推理的一種形式。

統計學習

如同在第18 章中一樣,本章的關鍵概念是資料與假設。在這裡,資料就是證據(evidence)——

也就是,對部分或者全部用於對域進行描述的隨機變數的實例化。「假設」則是關於域如何起作用

的機率理論,包括了作為特例的邏輯理論。

假設的事前機率(hypothesis prior)

概似(likelihood)

最大事後假設

過適配

最小描述長度(或縮寫為MDL)學習演算法

均勻

最大概似(ML)

完整資料下的學習

密度估計

完整資料

參數學習

最大概似參數學習:離散模型

設想我們從一個新的糖果商那裡買了一包酸橙糖與櫻桃糖,其中酸橙糖和櫻桃糖的比例是完全

未知的——也就是說,可能是0 到1 之間的任意值。在這種情況下,我們擁有了一組連續假設。此

例中我們稱為θ 的參數是櫻桃糖的比例,假設則記為hθ (酸橙的比例就是1 − θ)。如果我們假定所有

的比例都有相同的事前,那麼最大概似方法是合理的。如果我們用貝氏網路對這種情景模式化,我

們只需要一個隨機變數,Flavor(口味)(從糖果包裡隨機選取出來的一顆糖的口味)。它的取值可以為

cherry(櫻桃)和lime(酸橙),其中取cherry 的機率為θ [參見圖20.2(a)]。現在設想我們剝開了N 顆糖,

其中有c 顆是櫻桃味的,有/ = N − c 顆是酸橙味的。

對數概似機率

看來我們做了大量工作來發現一個顯然的事實。儘管如此,實際上我們已經展示了進行最大概

似參數學習的一種標準方法:

1. 寫出資料的概似運算式,它是待學習參數的一個函數。

2. 對每個參數的對數概似進行求導。

3. 找到滿足導數為0 的對應參數值。

原始貝氏模型

或許用於機器學習的最常見的貝氏網路模型是在13 章初次介紹的原始貝氏模型。在這個模型

中,「類」變數C(需要進行預測)是根節點,而「屬性」變數Xi 是葉節點。之所以這個模型是「原

始的」,是因為對於給定的類,它假定了各個屬性彼此是條件獨立的。(圖20.2(b)中的模型是只有一

個屬性的原始貝氏模型)。

最大概似參數學習:連續模型

在第14.3 節中介紹了連續機率模型,例如線性高斯模型。因為在現實世界的應用中連續變數的

情況是非常普遍的,所以瞭解如何從資料中學習連續模型是非常重要的。最大概似學習的原理在連

續及離散情況中均同。

線性回歸

貝氏參數學習

最大概似學習引出了某些很簡單的過程,但是對於小資料集它有一些嚴重的不足。例如,在看

到一顆櫻桃糖後,最大概似假設的結果為這個包是100%的櫻桃糖(也就是θ = 1.0)。除非有一個假設

事前指出糖果包裡要麼都是櫻桃糖要麼都是酸橙糖,否則這就不是一個合理的結論。這袋糖果更有

可能是酸橙糖跟櫻桃糖的綜合口味。參數學習的貝氏方法開始先在可能的假設之上定義事前機率

分佈。我們稱其為事前假設。隨著資料的到達,事後機率分佈也隨之更新。

β 分佈(beta distribution)

超參數

共軛事前

虛擬計數

參數獨立性

學習貝氏網路的結構

到目前為止,我們一直假定貝氏網路的結構是已知的,而我們只是試圖學習參數。網路的結構

表示了一個域的基本因果知識,往往專家甚至新手都很容易提供。然而,在某些情況下,因果模型

可能無法得到或者有爭議——例如,有的公司一直宣稱吸煙不會導致癌症—所以,重要的是理解

如何能夠從資料中學習貝氏網路的結構。

無參數模型的密度估計

可以藉由採取18.8 節的無參數方法,從而在不對其結構及參數化做任何假設之情況下,學習一

機率模型。進行無參數密度估計的工作通常是在連續域中完成,正如圖20.7(a)所示。圖中可以看到

由兩個連續變數所定義出空間中的機率密度函數。圖20.7(b)我們看到的樣本是從密度函數取得的一

些資料點。

核函數

隱變數學習:EM 演算法

前面的章節處理的是完全可觀察的情況。而許多現實世界的問題在可得到的學習資料中有不可

觀察的隱變數(有時稱為潛變數)。例如,醫療記錄通常包括表現症狀、醫師診斷、所使用的治療方式、

可能還包括治療結果等,但是很少包含對疾病本身的直接觀察!(注意到診斷並非疾病;其係表觀症

狀的因果結論,而症狀是由疾病引起的)。有人也許會問,「既然疾病無法觀察到,那麼為什麼不構

造一個不包含它的模型呢?」答案出現在圖20.10 中,圖中顯示了關於心臟病的一個小的、假想的

診斷模型。有3 個可以觀察的誘病因素和3 種可以觀察的症狀(其名稱太沉悶,在這裡就不寫了)。設

每個變數有3 個可能的取值[例如,none(無),moderate(中等),和severe(嚴重)]。從圖(a)的網路中去

掉隱變數,產生圖(b)的網路;參數的總數從78 增加到708。因此,潛變數可以急劇地減少指定一個

貝氏網路所需參數的數目。接著,這還可以急劇減少學習參數所需的資料量。

期望最大化

無監督群集:學習混合高斯分佈

無監督群集是一個在物件集上辨識多種類別的問題。這個問題是無監督的,因為沒有給出類別

的標記。例如,設想我們記錄了10 萬顆恒星的光譜,透過光譜能揭示出恒星的不同類型嗎?如果可

以,它們有多少特性,以及特性有哪些?我們都聽說過諸如「紅巨星」和「白矮星」這樣的術語,

但是恒星不會把這些標籤寫在自己的帽子上——天文學家們必須執行無監督的群集來辨識它們的類

別。其他例子還包括在林奈( )生物分類學中對種、屬、目等等的辨識,以及建立自然種類對

普通物體劃分類別(參見第12 章)。

無監督群集從資料入手。圖20.11(b)中顯示了500 個資料點,每個點指定兩個連續屬性的值。這

些資料點與恒星相對應,而屬性可以與在兩個特定頻率上的光譜強度相對應。下一步,我們需要理

解何種可能的分佈會產生這些資料。群集方法假定資料是由一個混合分佈P 產生的。這樣的分佈有

k 種元素,每種元素本身是一個分佈。資料點的產生是透過先選擇一種元素、然後根據該元素產生一

個實例而完成的。

混合高斯

指示變數

學習含有隱變數的貝氏網路

要學習含有隱變數的貝氏網路,我們運用對於混合高斯分佈有效的同樣見解。圖20.13 表示了

一種情形,有兩包糖果,混合在一起。糖果可以用3 種特徵描述:除了Flavor(口味)和Wrapper(糖

紙)外,有些糖在中間還有Hole(洞),而有些沒有。每包中糖果的分佈透過一個原始貝氏模型進行描

述:對於給定的袋子,各個特徵彼此獨立,但是每個特徵的條件機率分佈依賴於袋子。參數如下:θ

是糖來自袋子1 的事前機率;θF1 和θF2 是糖的口味為櫻桃味的機率,且分別已知糖果來自袋子1 或

袋子2;θW1 和θW2 是糖紙為紅色的機率;而θH1 和θH2 是糖有洞的機率。注意,整個模型是一個混合

模型。(事實上,我們也可以把混合高斯模型建立為一個貝氏網路模型,如圖20.13(b)所示。)在圖中,

袋子是一個隱變數,因為一旦糖果被混合到一起,我們就再無法知道每顆糖來自哪個袋子了。在這

樣的例子中,我們能夠透過觀察混合在一起的糖果恢復出關於兩個袋子的描述嗎?我們執行一次這

個問題的EM 疊代。首先,讓我們看看資料。從真實參數值如下的模型中產生1000 個實例:

Θ = 0.5, θF1 = θW1 = θH1 = 0.8, θF2 = θW2 = θH2 = 0.3

學習隱馬爾可夫模型

我們的最後一個EM 的應用涉及學習隱馬爾可夫模型(HMM)中的轉移機率。回憶一下在第十五

章中,一個隱馬爾可夫模型可以表示為一個動態的貝氏網路,它有一個離散的狀態變數,如圖20.14

所示。每個資料點由一個有限長度的觀察序列組成,要解決的問題就是從一組觀察序列(也可能只是

一個長序列)中學習轉移機率。

EM 演算法的一般形式

我們已經看到了EM 演算法的幾個例子。每個例子都涉及到對每個實例計算隱變數的期望值,

然後重新計算參數值,這裡把期望值當作觀察到的值來使用。令x 為在所有實例中的所有觀察值,Z

代表所有實例的所有隱變數,θ 是機率模型的所有參數。

學習含有隱變數的貝氏網路結構

在第20.2.5 節中,我們討論了用完全的資料學習貝氏網路結構的問題。當隱變數可能會影響被

觀察的資料,事情變得更困難了。在最簡單的情況下,一位人工專家可能會告訴學習演算法說某

些特定引變數是存在的,造成演算法會在網路架構中騰出空間給他們。例如,某個演算法也許試圖

學習圖20.10(a)中所示結構,已經知道HeartDisease (一個三值變數)應該被包含在模型中這個資

訊。和完全資料的情況一樣,整體的演算法有一個外部的迴圈在整個結構中尋找與內部迴圈去適

配網路參數到結構中。

結構化EM

總結

統計學習方法的範圍包括從簡單的平均值計算到構造諸如貝氏網路以及類神經網路這樣的複雜

模型的方法。它們有許多應用,遍及電腦科學領域、工程領域、神經生物學領域、心理學領域以及

物理學領域等。本章提出了一些基本想法,並給出了一些數學基礎的分析。要點如下:

● 貝氏學習方法把學習形式化地表示為機率推理的一種形式,利用觀察結果更新在假設上的事前

分佈。這種方法為實現奧卡姆剃刀提供了一種很好的方式,但是它對於複雜的假設空間很快會

變成不可操作的。

● 最大事後(MAP)學習方法選擇給定資料上的單一最可能假設。它仍然使用假設事前,而此方法

往往比完全貝氏學習更可操作一些。

● 最大概似學習方法簡單地選擇使得資料的概似度最大化的假設,它等價於使用均勻事前的MAP

學習。在諸如線性回歸以及完全可觀察的貝氏網路這樣的簡單情況下,可以很容易地找到近似

形式的最大概似解。原始貝氏學習是一種非常有效的方法,它具有很好的擴展能力。

● 當一些變數是隱變數時,局部最大概似解可以透過EM 演算法找到。這樣的應用包括使用混合

高斯模型的群集、對貝氏網路進行學習,以及對隱馬爾可夫模型進行學習等。

● 學習貝氏網路的結構是模型選擇的一個特例。它通常涉及到結構空間的一個離散搜尋過程。需

要有某種方法在模型複雜度與適配度之間取得一個折衷。

無參數模型使用資料點集合來表示一個分佈。因此,參數的數目隨著訓練集而增長。最近鄰方

法關注於距離問題點最近的實例,而方法構造了一個所有實例的加權距離組合。

統計學習方法一直是個很活躍的研究領域。在理論和實踐方面都取得了許多巨大的進步,已經達到

這樣的程度:對於準確或近似推理可行的幾乎任何模型,進行學習都是可能的。