1. 程式人生 > >模式識別和機器學習讀書筆記1

模式識別和機器學習讀書筆記1

2017-03-17

1.1 曲線擬合

用下式來擬合數據.

其中M是多項式的階數(order),$x^j$表⽰x的j次冪。多項式係數$w_0…w_M$整體記作向量w。 注意,雖然多項式函式$y(x,w)$是x的⼀個⾮線性函式,它是係數w的⼀個線性函式。類似多項式 函式的這種關於未知引數滿⾜線性關係的函式有著重要的性質,被叫做線性模型

  • 過擬合 當我們達到更⾼階的多項式(M = 9),我們得到了對於訓練資料的⼀個完美的擬 合。事實上,多項式函式精確地通過了每⼀個數據點,$E(w) = 0$。然⽽,擬合的曲線劇烈震 蕩,就表達函式$sin(2\pi x)$⽽⾔表現很差。這種⾏為叫做過擬合(over-fitting)。

1.2 概率論

圖1.9 圖1.9

我們有兩個盒⼦,⼀個紅⾊的,⼀個藍⾊的,紅盒⼦中有2個蘋果和6個橘⼦,藍盒⼦中有3個蘋果和1個橘⼦(如圖1.9所⽰)。現在假定我們隨機選擇⼀個盒⼦,從這個盒⼦中我們隨機選擇⼀個⽔果,觀察⼀下選擇了哪種⽔果,然後放回盒⼦中。假設我們重複這個過程很多次。假設我們在40%的時間中選擇紅盒⼦, 在60%的時間中選擇藍盒⼦,並且我們選擇盒⼦中的⽔果時是等可能選擇的。 在這個例⼦中,我們要選擇的盒⼦的顏⾊是⼀個隨機變數,記作B。這個隨機變數可以取兩個值中的⼀個,即r(對應紅盒⼦)或b(對應藍盒⼦)。類似地,⽔果的種類也是⼀個隨機變數,記作F。它可以取a(蘋果)或者o(橘⼦).

開始階段,我們把⼀個事件的概率定義為事件發⽣的次數與試驗總數的⽐值,假設總試驗次數趨於⽆窮。因此選擇紅盒⼦的概率為4/10,選擇藍盒⼦的概率為6/10。我們把這些概率分佈記作p(B = r) = 4/10和p(B = b) = 6/10。注意,根據定義,概率⼀定位於區間[0, 1]內。並且,如果事件是相互獨⽴的,並且包含所有可能的輸出(例如在這個例⼦中,盒⼦⼀定要麼是紅⾊,要麼是藍⾊),那麼我們看到那些事件的概率的和⼀定等於1。

我們現在可以問這樣的問題:選擇到蘋果的整體概率是多少?或者,假設我們選擇了橘⼦,我們選擇的盒⼦是藍盒⼦的概率是多少?我們可以回答這種問題,事實上也可以回答與模式識 別相關的⽐這些複雜得多的問題。前提是我們掌握了概率論的兩個基本規則:加和規則(sum rule)

乘積規則(product rule)。獲得了這些規則之後,我們將重新回到我們的⽔果盒⼦的例⼦中。

加和規則和乘積規則

概率一般圖圖1.10

為了推導概率的規則,考慮圖1.10所⽰的稍微⼀般⼀些的情形。這個例⼦涉及到兩個隨 機變數X和Y (例如可以是上⾯例⼦中“盒⼦”和“⽔果”的隨機變數)。我們假設X可以取任意 的$x_i$,其中i = 1 … M,並且Y 可以取任意的yj,其中j = 1 … L。考慮N次試驗,其中我們 對X和Y 都進⾏取樣,把X = $x_i$且Y = $y_j$的試驗的數量記作$n_{ij}$。並且,把X取值$x_i$(與Y 的取 值⽆關)的試驗的數量記作$c_i$,類似地,把Y 取值$y_j$的試驗的數量記作$r_j$。 X取值$x_i$且Y 取值$y_j$的概率被記作$p(X = x_i, Y = y_j)$,被稱為X = $x_i$和Y = $y_j$的聯合概率 (joint probability)。它的計算⽅法為落在單元格i, j的點的數量與點的總數的⽐值,即:

公式(1.5)

這⾥我們隱式地考慮極限$N\mapsto \infty$。類似地,X取值$x_i$(與Y 取值⽆關) 的概率被記 作p(X = $x_i$),計算⽅法為落在列i上的點的數量與點的總數的⽐值,即:

公式(1.6)

由於圖1.10中列i上的例項總數就是這列的所有單元格中例項的數量之和,我們有$c_i = \sum_{j} n_{ij}$ 因此根據公式(1.5)和公式(1.6),我們有加和規則

$p(X = x_i)$有時被稱為邊緣概率(marginal probability),因為它通過把其他變數(本例中的Y )加總到邊緣或者加和得到。(類似excel表格總計一般是統計到表格的邊緣). 如果我們只考慮那些$X =x_i$的例項,那麼這些例項中$Y =y_j$的例項所佔的⽐例被寫成$p(Y = y_j|X = x_i)$,被稱為給定$X = x_i$的$Y = y_j$的條件概率(conditional probability)。它的 計算⽅式為:計算落在單元格i, j的點的數量與列i的點的數量的⽐值,即

可以推匯出乘積規則(product rule)

簡記為:

其中p(X,Y )是聯合概率,可以表述為“X且Y 的概率”。類似地,p(Y X)是條件概率,可以表述為“給定X的條件下Y 的概率”,p(X)是邊緣概率,可以簡單地表述為“X的概率”。這兩個簡單的規則組成了我們在全書中使⽤的全部概率推導的基礎。

由乘法規則, 得到條件概率公式:

根據乘積規則,以及對稱性p(X, Y ) = p(Y, X),我們⽴即得到了下⾯的兩個條件概率之間的 關係:

公式(1.12)

這被稱為貝葉斯定理(Bayes’theorem),在模式識別和機器學習領域扮演者中⼼⾓⾊。使⽤加 和規則,貝葉斯定理中的分母可以⽤出現在分⼦中的項表⽰: p(X) = Σ Y p(X j Y )p(Y ) (1.13) 我們可以把貝葉斯定理

1.2.1 連續變數和概率密度

既然考慮了定義在離散事件集合上的概率, 我們也希望考慮與連續變數相關的概 率。我們會把我們的討論限制在⼀個相對⾮正式的形式上。如果⼀個實值變數x的概率 落在區間$(x, x + \sigma x)$的概率由$p(x)\sigma x$給出$(\sigma x \mapsto 0)$,那麼p(x)叫做x的概率密度(probability density)。如圖1.12所示,x位於區間$(a, b)$的概率由下式給出

可以知道:

Fig 1.12 圖1.12

如果我們有⼏個連續變數$x_1,…,x_D$,整體記作向量$x$,那麼我們可以定義聯合概率密 度$p(x) = p(x_1,…,x_D)$,使得x落在包含點x的⽆窮⼩體積$\sigma x$的概率由$p(x)\sigma x$給出。多變數概率 密度必須滿⾜

我們也可以考慮離散變數和連續變數相結合的聯合概率 分佈。 注意, 如果x是⼀個離散變數, 那麼p(x)有時被叫做概率質量函式(probability mass function),因為它可以被看做集中在合法的x值處的“概率質量”的集合。 概率的加和規則和乘積規則以及貝葉斯規則,同樣可以應⽤於概率密度函式的情形,也可以 應⽤於離散變數與連續變數相結合的情形。例如,如果x和y是兩個實數變數,那麼加和規則和乘積規則的形式為

1.2.2 期望和協⽅差

涉及到概率的⼀個重要的操作是尋找函式的加權平均值。在概率分佈p(x)下,函式f(x)的平 均值被稱為f(x)的期望(expectation),記作E[f]。對於⼀個離散變數,它的定義為

連續變數 期望定義為:

兩種情形下,如果我們給定有限數量的N個點,這些點滿⾜某個概率分佈或者概率密度函式, 那麼期望可以通過求和的⽅式估計

f(x)的⽅差(variance)被定義為

協方差, 對兩個變數x,y:

對向量x,y, 協方差:

對x向量自身求協方差:

1.2.3 貝葉斯概率

我們根據隨機重複事件的頻率來考察概率。我們把這個叫做經典的 (classical)或者頻率學家(frequentist)的關於概率的觀點。現在我們轉向更加通⽤的貝葉斯 (Bayesian)觀點。這種觀點中,頻率提供了不確定性的⼀個定量化描述。 在⽔果盒⼦的例⼦中,⽔果種類的觀察提供 了相關的資訊,改變了選擇了紅盒⼦的概率。在那個例⼦中,貝葉斯定理通過將觀察到的資料 融合,來把先驗概率轉化為後驗概率。正如我們將看到的,在我們對數量(例如多項式曲線擬 合例⼦中的引數w)進⾏推斷時,我們可以採⽤⼀個類似的⽅法。在觀察到資料之前,我們有 ⼀些關於引數w的假設,這以先驗概率p(w)的形式給出。觀測資料$D = {t_1,…,t_N}$的效果可以 通過條件概率$p(D|w)$表達,我們將在1.2.5節看到這個如何被顯式地表達出來。貝葉斯定理的形式為

貝葉斯定理右側的量p(D j w)由觀測資料集D來估計,可以被看成引數向量w的函式,被稱為似然函式(likelihood function)。它表達了在不同的引數向量w下,觀測資料出現的可能性的 ⼤⼩。注意,似然函式不是w的概率分佈,並且它關於w的積分並不(⼀定)等於1。 給定似然函式的定義,我們可以⽤⾃然語⾔表述貝葉斯定理

  • 獨立同分布 獨⽴地從相同的資料點中抽取的資料點被稱為獨⽴同分布(independent and identically distributed),通常縮寫成i.i.d.

  • 最大似然估計 兩個獨立事件的聯合概率等於獨立事件的概率的乘積. 那麼:

1.5 決策論

概率論是如何提供給我們⼀個⾃始⾄終的數學框架來量化和計算不確定性。當決策論與概率論結合的時候,我們能夠在涉及到不確定性的情況下做出最優的決策.考慮⼀下概率論如何在做決策時起作⽤。當我們得到⼀個新病⼈的X光⽚x時,我們的⽬標是判斷這個X光⽚屬於是否得癌症兩類中的哪⼀類。在給定這個影象的前提下,兩個類的概率,即$p(C_k|x)$,$C_1$患癌症,$C_2$沒患癌症。使⽤貝葉斯定理,這些概率可以⽤下⾯的形式表⽰

出現在貝葉斯定理中的任意⼀個量都可以從聯合分佈$p(x,C_k)$中得到,要麼通過積分的⽅式,要麼通過關於某個合適的變數求條件概率。

把分類問題劃分成了兩個階段:推斷(inference)階段和決策(decision)階段。在推斷階段,我們使⽤訓練資料學習$p(C_k x)$的模型。在接下來的決策階段,我們使⽤這些後驗概率來進⾏最優的分類。另⼀種可能的⽅法是,同時解決兩個問題,即簡單地學習⼀個函式,將輸⼊x直接對映為決策。這樣的函式被稱為判別函式(discriminant function)

解決決策問題三種方法

  1. 對於每個類別$C_k$,獨⽴地確定類條件密度$p(x C_k)$。這是⼀個推斷問題。然後,推斷先驗類概率$p(C_k)$。之後,使⽤貝葉斯定理

求出後驗概率.

我們可以直接對聯合概率分佈$p(x C_k)$建模,然後歸⼀化,得到後驗概率。得到後驗概率之後,我們可以使⽤決策論來確定每個新的輸⼊x的類別。顯式地或者隱式地對輸⼊以及輸出進⾏建模的⽅法被稱為⽣成式模型(generative model),因為通過取樣,可以⽤來⼈⼯⽣成出輸⼊空間的資料點。
  1. ⾸先解決確定後驗類密度$p(C_k x)$這⼀推斷問題,接下來使⽤決策論來對新的輸⼊x進⾏分類。這種直接對後驗概率建模的⽅法被稱為判別式模型(discriminative models)
  2. 找到⼀個函式f(x),被稱為判別函式。這個函式把每個輸⼊x直接對映為類別標籤。例 如,在⼆分類問題中,f()可能是⼀個⼆元的數值,f = 0表⽰類別$C_1$,f = 1表⽰類別$C_2$。這種情況下,概率不起作⽤。 $$

    1.6 資訊理論

    我們考慮⼀個離散的隨機變數x。當我們觀察到這個變數的⼀個具體值的時候,我們接收到了多少資訊呢?資訊量可以被看成在學習x的值的時候的“驚訝程度”。 我們對於資訊內容的度量將依賴於概率分佈p(x),因此我們想要尋找⼀個函式h(x),它 是概率p(x)的單調遞增函式,表達了資訊的內容。h()的形式可以這樣尋找:如果我們有兩 個不相關的事件x和y,那麼我們觀察到兩個事件同時發⽣時獲得的資訊應該等於觀察到事 件各⾃發⽣時獲得的資訊之和,即$h(x, y) = h(x) + h(y)$。兩個不相關事件是統計獨⽴的,因 此$p(x, y) = p(x)p(y)$。根據這兩個關係,很容易看出$h(x)$⼀定與p(x)的對數有關。因此,我們有

公式(1.92)

其中,負號確保了資訊⼀定是正數或者是零。注意,低概率事件x對應於⾼的資訊量。對數的底 的選擇是任意的。現在我們將遵循資訊理論的普遍傳統,使⽤2作為對數的底。在這種情形下,正 如我們稍後會看到的那樣,h(x)的單位是⽐特(bit, binary digit)。 現在假設⼀個傳送者想傳輸⼀個隨機變數的值給接收者。這個過程中,他們傳輸的平均資訊 量通可以通過求公式(1.92)關於概率分佈p(x)的期望得到。這個期望值為

這個重要的量被叫做隨機變數x的熵(entropy)。注意,$lim_{p\mapsto 0} p log_2 p = 0$,因此只要我們遇到 ⼀個x使得$p(x) = 0$,那麼我們就應該令$p(x) log_2 p(x) = 0$。

示例

考慮⼀個隨機變數x。這個隨機變數有8種可能的狀態,每個狀態都是等可能的。為了把x的值傳給接收者,我們需要傳輸 ⼀個3⽐特的訊息。

現在考慮⼀個具有8 種可能狀態(a, b, c, d, e,f, g,h)的隨機變數, 每個狀態各⾃的概率 為( 1/2 , 1/4 , 1/8 , 1/16 , 1/64 , 1/64, 1/64, 1/64)(Cover and Thomas, 1991)。這種情形下的熵為⾮均勻分佈⽐均勻分佈的熵要⼩。

我們可以使⽤下⾯的編碼串:0、10、110、1110、 111100、111101、111110、111111來表⽰狀態(a, b, c, d, e,f, g,h).熵和最短編碼長度的這種關係是⼀種普遍的情形。⽆噪聲編碼定理(noiseless coding theorem)(Shannon,1948)表明,熵是傳輸⼀個隨機變數狀態值所需的⽐特位的下界。

圖1.30 兩個概率分佈在30個箱⼦上的直⽅圖,表明熵值越⼤,H越寬。最⼤的熵值產⽣於均勻分佈,此 時的熵值為H=-ln(1/30)=3.40

假設我們有⼀個聯合概率分佈p(x,y)。我們從這個概率分佈中抽取了⼀對x和y。如果x的值已知,那麼需要確定對應的y值所需的附加的資訊就是