PRML學習筆記第一章
【轉】
PRML筆記 - 1.1介紹
模式識別的目標
自動從數據中發現潛在規律,以利用這些規律做後續操作,如數據分類等。
模型選擇和參數調節
類似的一族規律通常可以以一種模型的形式為表達,選擇合適模型的過程稱為模型選擇(Model Selection)。模型選擇的目的只是選擇模型的形式,而模型的參數是未定的。
從數據中獲得具體規律的過程稱為訓練或學習,訓練的過程就是根據數據來對選定的模型進行參數調節(Parameter Estimation)的過程,此過程中使用的數據為訓練數據集(Training Set)。
對於相同數據源的數據來講,規律應該是一般的(泛化Generalization),因此評估一個學習結果的有效性可以通過使用測試數據集(Testing Set)來進行的。
預處理
對於大多數現實中的數據集來講,使用其進行學習之前,通常需要進行預處理,以提高學習精度及降低學習的開銷。
以圖像識別為例,若以像素做為一個特征,往往一幅圖像的特征就能達到幾萬的數量級,而很多特征(如背景色)都是對於圖像辨識起不到太大作用的,因此對於圖像數據集,預處理過程通常包括維數約減(特征變換,特征選擇),僅保留具有區分度的特征。
文本數據分類任務中,對訓練文本也有類似的處理方式,只不過此時扮演特征的是單詞,而不是像素值。
監督學習和非監督學習
輸入向量(input vector):,響應向量(target vector):
監督學習采用的數據集是包括輸入向量和目標向量的,其目標就是發現二者之間的關系,學習的結果表示為函數
非監督學習使用的數據集只包括輸入向量,目的是直接探索數據的內在結構。發現數據中相似的簇的任務稱為聚類(clustering),計算數據分布情況的任務稱為密度估計(density estimation),將數據映射到三維及以下的任務稱為可視化(visulization)。
還有一種學習形式,稱為加強學習(reinforcement learning),指在一定的環境下,發現最合適的決策來最大化收益。通常這類學習任務需要在使用(exploit)和探索(explore)之間做出權衡。
Example:多項式回歸
給定了數據集(輸入向量和響應向量),首先進行模型選擇,選定多項式的階數。高階的多項式模型是包含低階多項式模型的(可將高階項的系數設為零,從而退化成低階模型),因此高階模型擁有比低階模型更強的擬合數據的能力。使用相對於數據來講過強的模型,會使模型不但捕獲數據中的規律,而會擬合進噪聲,造成泛化能力不佳,這種情況稱為過擬合(overfitting)。相反地,如果使用了相對於數據來講太弱的模型,就無法捕獲數據中的規律,這種情況稱為欠擬合(underfitting)。選擇合適的模型階數是學習成功的前提條件,模型選擇的方法包括基於經驗的bootstrap,cross-validation以及基於信息論的AIC,BIC,MDL等。
在選好模型階數,確定模型之後,下一步的工作就是參數調節(或稱參數估計)。成熟的模型一般都有其相應的參數估計方法,如GMM-EM,RBF-BP,AR-YW等。對於多項式模型可采取較為一般的方法,即定義一個誤差函數,通過求導數來計算得到誤差最小值時的參數值。
Sum-of-square誤差函數:
Root-mean-squre誤差函數:(單樣本誤差)
當過擬合發生時,訓練得到多項式曲線表現得波動極大,相應地模型參數的模也很大。當數據量足夠大時,模型發現過擬合的概率降低,因為模型總是在參數估計中盡可能地去迎合數據,從這個角度講,數據越多,對模型的約束就越大。
如果希望使用一個相對復雜的模型,而不產生過似合現象,一種可行的方法是在誤差函數中加入規則化項(regularization term),以約束模型系數的模。使用2-範數來做規則化項,得到修改後的Sum-of-square誤差函數表示為
使用此誤差函數進行學習的過程也稱為嶺回歸(ridge-regression)或者權重退化(weight decay)。本質上,規則化項的引入是把一個參數轉化為了另一個參數,即將模型階數M轉化成了系數,並沒有使學習過程變成更有效,
PRML 筆記 - 1.2 概率論
模式識別過程中使用的數據集的特點確定了整個學習過程中具有不確定性。一方面,數據集中的樣本容量是有限的,無法完整刻畫數據中的規律;另一方面,現實世界中的數據集幾乎總是有噪聲的。
基本概念
加法規則,乘法規則,邊緣分布,聯合分布,條件概率,貝葉期定理(先驗概率,後驗概率),條件獨立。
對於一個連續型變量,當趨近於0時,的取值稱為該變量在此處的概率密度(probability density),稱為該變量的概率密度函數。概率密度滿足非負性和歸一化性質。對於一個離散型變量,稱為該變量的概率質量函數(probability mass function)。
當兩個連續型變量存在非線性關系,那麽需要保證,從而得到兩個概率密度函數的關系
基本統計量
期望,條件期望,方差,方差與期望的等式關系,協方差
概率的定義
- 頻率角度:N(N趨近於無窮)次實驗中,某件事情發生的次數M與N的比值。
- 貝葉斯角度:不確定性的度量(或者置信程度的度量)
例如,多項式擬合的示例中,帶有噪聲的響應變量,其取值可以使用頻率角度來解釋,而對於學習得到的模型參數的不確定性,則需要使用貝葉斯角度來解釋。
貝葉斯概率
假設D為數據集,w為模型參數。通過貝葉斯定理,
可以發現對比先驗分布和後驗分布,我們對模型參數取值的置信度發生了變化,而觸發這種變化的正是我們所觀察到的數據,更準確地說是基於先驗分布而得到的數據的似然性。在給定參數值的情況下,似然性越大,說明這個取值與觀察數據更加符合,我們也會在後驗中更加確信(註意到似然性與後驗是正比的關系),否則確信度就會降低。
後驗概率 正比於 先驗概率*數據似然性
似然性函數(likelihood function)在頻率觀點和貝葉斯觀點中都極其重要,但是在兩種不同框架下的用法是截然不同的。
- 在頻率觀點下,參數值被認為是一個定點,是根據觀測數據結合某個方法得到的。參數估計值的偏差或不確定性是通過取所有可能的數據集計算得到的一系列參數值的方差來評估的。
- 在貝葉斯觀點下,參數的取值被認為是不確定的,而數據集是唯一的,因此輸出的是一個關於這個參數的分布,並以此來表示參數取值的不確定性。
頻率框架下的一種常用的估計方法為極大似然估計法(ML estimator)。目標的誤差函數被定義為“似然性的負對數”,並此為目標來估計出能使此誤差函數最小的參數值。正如前面所說,此方法針對一個數據集,只有能得一個定點的參數估計值,要評估其波動性,需要使用多個數據集分別進行參數估計,再統計這些估計值的方差等指標。一種可行的方法是使用重采樣技術,如bootstrap,來從原始數據集中衍生出多個數據集,再對參數的波動性。
在貝葉斯框架下,算法的輸出自然地是一個關於參數的概率分布,從而表達了這個參數的不確定性。貝葉斯框架的一個重要優勢在於其可以融入一些先驗知識,從而使結果不容易出現過擬合。然而,先驗也同時是貝葉斯框架遭人詬病之處,因為它具有主觀色彩。有些時候人們對先驗的選擇僅僅是根據其是否便於數學推導而進行,但是先驗選擇是否合適對最終的效果影響很大。非信息性先驗(Noninformative Prior)可以緩解對先驗主觀性的依賴,但是卻無法保證其是否合適,是否能達到良好的效果。同時,在做模型選擇時,不同的先驗也使比較無法平等進行,這時就不得不使用頻率框架下的交叉驗證等模型選擇方法。
正態分布
正態分布也稱為高斯分布,是一種常見的連續型概率分布。其單元變量的概率密度函數形式為
其中為期望,為方差。方差的倒數稱為精度,記作。一個概率分布的最大值稱為它的mode,正態分布的mode位於其期望處。
對於N個獨立同分布(iid)的樣本,其在正態分布下的對數似然性為
使以上對數似然函數最大的和,稱為正態分布期望和方差的極大似然估計值。特別地,二者的求解是相互解耦的,即求解的過程是可以獨立於的求解過程的。
一般地,極大似然估計方法是容易過擬合的。特別地,以上對方差的估計值是有偏的(bias):
因此,可以相應地對方差的極大似然估計值乘以N/(N-1)的系數,來使其變成無偏估計。同時我們也註意到,若使樣本容量N趨近於無窮,那麽極大似然估計出的方差值也是會趨近於真實的方差值的。然而樣本容量終究是有限的,特別地,當模型復雜度很高時,過擬合所引起的bias問題就會顯得猶為嚴重。
正態分布可應用於多項式擬合問題,一般情況下,可以假設在某個處的響應值是符合以下分布的
或者說,處的響應值會受到分布為的噪聲的影響。
在給定了訓練數據集之後,我們可以使用前面的極大似然估計法來計算出分布的值,從而得到每個處其響應值的概率分布。
對以上對數似然性函數求w的導數,可以發現,其等價於最小化Sum-of-squares誤差函數所得到的結果。由此可知,正態噪聲分布的假設下,最大化似然函數值等價於最小化Sum-of-squares誤差函數值。
同樣地,可以在計算求得後獨立地計算(同樣是求導的方法)。在二者都確定之後,就得到了一個預測分布(predicitive distribution)。
更進一步地,我們不止最大化似然函數,可以為參數引入一個先驗分布,來反映在未觀察到任何數據之前,對這個參數取值的偏好。簡單起見,可以假設這個也是如下形式的正態分布,
其中的控制了模型參數的取值,因此被稱為超參數(hyperparameter)。根據後驗分布正比於似然性函數乘以先驗分布的關系,可得後驗分布的形式為。接下來可以通過最大化這個後驗分布函數來取得最可能值(maximum posterior, MAP)。而在此求解過程中也會發現,最大化後驗分布函數等價於規則化參數的嶺回歸。
以上的兩種方式終究仍然是對參數的點估計。采用更貝葉斯一點的方法,我們需要得到的是參數的概率分布,並通過積分來結合參數所有的可能值來做出決策。
假設參數是已知的,那麽預測分布可以表示為
其中被積函數的第二項即為w的後驗分布,這個等式表示為了得到x的預測響應值,應該根據每個w的後驗概率來計算每個對應的響應估計值的加權平均。後面的章節會提到,實際上這個後驗分布也是正態分布,因此整個預測分布也是正態分布,而其方差為
其中第一項反映了由於噪聲而引起的響應值t的波動,而後一項則反映了參數w的波動(後驗概率分布,非點估計)。
PRML 筆記 - 1.3 模型選擇
對於多項式模型中階數的選擇可以看作是一種模型選擇的過程,然而,更一般地,我們可能需要從更多種類的模型(即不限於多項式模型,例如人工神經網絡模型等)中來進行選擇,挑出最合適當前數據的模型。
如果數據量是足夠大的,那麽我們可以取出一部分數據(訓練集),對所有的候選模型進行訓練,再使用一組驗證集(validation set)來評估哪個模型才是最優的。如果模型本身的設計是叠代式的,即需要驗證集的反饋來不斷地調整模型參數,那麽上面的方法就有過擬合的危險。這種情況下,就需要再從數據中獨立地分離出一部分,稱為測試集(test set),使用這部分數據來進行最終的模型評估和選擇。
交叉驗證
然後在實際的多數情況下,數據量是有限的。一種解決方案是使用交叉驗證(cross-validation),將數據進行切分成相等的S份,每次叠代均使用其中的S-1份來進行訓練,余下的一份來做測試。因此,一共需要進行S次的“訓練-測試”,並取這S次的測試結果的均值來作為模型評估的標準。特別地,當S=N時,這種方法被稱為leave-one-out技術。
交叉驗證方法也是有缺陷的。當S較大時,交叉驗證方法的計算消耗是很大的。另外,如果模型中有多個模型的復雜度參數(例如,多個規則化參數),那麽交叉驗證的計算量將隨參數個數而指數級增長。
信息標準
信息標準的提出目的是使用每個模型對數據的擬合程度作為標準,來做模型的比較。然而,使用最大似然性來作為這個擬合程度是很自然的,但是使用其來評估模型已經被證明是有偏的(由於過擬合的原因)。各信息標準都在最大似然性的基礎上增加了一個懲罰項(penalty term)克服過擬合問題。已存在方法包括AIC, BIC等,然而這些方法的缺陷在於它們都更偏向於選擇簡單的模型。
PRML 筆記 - 1.4 維數災難
前面的內容基本上都是基於單元變量的,而實際的絕大部分情況下,我們需要面對的是多元變量,這時候數據的稀疏性就會展現出來,導致一些看似科學而優雅的算法根本無可適從。這種現象就被稱為維數災難。
Examples:多數投票和多項式模型
多數投票是一種簡化的KNN分類方法。假設我們有一些已分類的數據點,同時數據是平滑的,我們可以先挑出與待分類點最近的K個點,並根據這K個點的類標簽來統計出哪個類在這個局部內是最可能出現的,並將此類標簽賦予待測分類點。在低維數據集中,這個方法是簡單而有效的,然而,當維數增大,這種方法很快就失效了,因為所需要的數據量會隨著維數而呈指數級別的增長。
多項式模型的復雜度也會隨著維數的增長而變大,導致模型的不可用。例如,3階多項式模型,對於D維變量的多項式形式為
獨立參數的個數變為了,更一般地,對於M階模型,這個數字將變為。雖然這個數字只是隨著D而呈冪律增長,但是也足以讓這個模型的參數估計由於數據量的不足而變得極度困難,最終致使模型無法使用。
幾何直覺
我們考慮D維空間中的球體。首先,半徑為r的D維球體的體積為
接下來,考慮半徑為r=1的D維單位球體的體積,與半徑為的球體體積之間的一層球殼,與單位球體體積的比例為
當維度D趨近於無窮時,這個比例趨近於1,也就是說當維數足夠大時,幾乎所有的體積都聚集中一個球體表面的薄殼之中。相似地,分析極坐標下的多元正態分布,當維數趨近於無窮時,絕大多數概率都集中在以r為半徑的很薄的殼中。
這意味著低維空間下的機器學習算法,有可能在高維空間中變得完全不可用。然而,應用於高維空間的方法也是存在的。首先,數據很可能只存在於高維空間上的一個低維流形(manifold)上,通過流形學習(manifold learning, e.g. Isomap, LLE)算法可以有效地降維。其次,實際數據中往往存在局部平滑性(smothness),因此可以采用局部類插值技術去對未知數據進行預測。
PRML 筆記 - 1.5 決策論
概率論為我們提供了一個用於表達不確性的框架,而最終我們需要使用這個框架所提供的內容來做出決策,比如,預測某個文本的真正的類別是什麽。這就是決策論所扮演的角色。
推演和決策
推演(inference)指通過給定的有限的數據集,學習得到輸入變量x與響應變量t的聯合概率分布;
決策(decision)指根據我們對的理解,如何在面對新的問題時(x)去做出最優的決定(t)。
在分類問題中,我們需要決策的就是面對新的樣本點,應該它哪一個類標簽。而這個問題在貝葉斯框架下,很自然地我們對給定一個樣本後,其屬於各個類的後驗概率更感興趣。
如果我們的目標是最小化將樣本分錯類的可能性,那麽直覺上這就變成了計算MAP的問題。
最小化錯分比率
假設我們將輸入空間X分成不同的決策區域(decision regions),每個決策區域記為。每個區域記錄了算法每個樣本的決策類別,而區域之間的邊界即為決策邊界或者決策面。以二分類問題為例,一個樣本被錯分的可能性可表示為
其中表示決策類別,表示真實類別。很自然地,如果對於一個輸入x,,那麽就應該將該樣本分到第一個類的決策區域之中,以最小化上面這個誤差函數。而通過乘法法則可知
因此,對於每個樣本,我們都應該將其賦予其MAP所對應的類。對於多分類問題,通過最大化會更方便一些,但是結論是相同的:計算每個樣本的MAP。
最小化期望損失
更實際一些,不同類別判錯的代價也是不相同的。例如,將某種疾病陰性的人判為陽性的代價(一些不安,以及進一步檢查的費用),就明顯小於,將陽性的人判為陰性(可能會錯過治療的最佳時機而死亡)。為了反映這種情況,損失函數(loss function)的概念被提出來。更進一步地,我們引入了損失矩陣(loss matrix),其中每個元素表示當某樣本真實類別為k,而被決策為j時帶來的損失。
理想情況下,我們希望獲得使最小的j,而實際上我們卻無從了解真實類別k的值。因此,實際使用的方法涉及了推演步驟中得到的聯合概率分布,使這個信息來計算平均損失,並以最小化平均損失為目的來做出決策:
而對於上式中的每個樣本x,我們需要做的是最小化
因此,對每個樣本決策步驟中,我們需要做的就是最小化上式右側的第二項(除之外的部分)。
拒絕決策選項
當對於一個樣本x,如果其對於所有的k都有著相似的概率,那麽,算法對這個樣本的決策將不那麽肯定。對於這種情況,最好是讓機器放棄決策,而是提示讓人工來確定。為此,需要設定一個閾值,如果最大的後驗概率,那麽機器就拒絕做出決策。註意到,當閾值取1時,所有樣本將被拒絕,而如果取1/K時,沒有樣本將被拒絕。
學習過程的種類
至今我們把學習過程劃分成了推演和決策兩個步驟,實際上,解決問題的方式可以有以下三種
- 生成模型(generative model):顯式或穩式地(可能是分別計算出似然性和先驗)計算出聯合概率分布,然後計算出後驗概率分布,再進行決策。
- 區分模型(discrimitive model):直接計算後驗概率分布,不必完全了解聯合分布,然後進行決策。
- 區分函數(discrimitive function):直接學習到一個函數,將輸入直接通過這個函數映射到一個類標簽,它將推演和決策合為一體。
生成模型計算消耗較大,但是通過聯合分布可以了解得到一些額外的信息,比如可以通過歸一化得到,從而了解一個待測樣本點是噪聲點的可能性有多大(噪聲檢測)。區分函數的方法最直接,繞過了後驗分布的計算,但是在一些情況下,後驗分布還是很有意義的,可以簡化一些計算過程。
- 最小化期望損失:如果損失矩陣是經常變動的,那麽如果已有後驗概率分布,那麽可以直接使用它來計算新的損失矩陣下各樣本的分類(根據),否則可能就需要將算法重新跑一遍。
- 拒絕決策選項:必須需要後驗分布才成奏效。
- 補償先驗:為了模型學習的有效性,我們需要人工構造出各類內訓練數據量相等的數據集,在計算出後驗分布後,再通過乘除運算將模型中的人工先驗替換成實際中的真實先驗。
- 合並模型:如果輸入變量的兩個特征子集之間是獨立的,那麽可以分別計算每個特征子集的後驗概率分布,再使用一些方法合並兩個分布。例如,樸素貝葉斯模型。
回歸損失函數
面向連續型變量的學習過程稱為回歸。此時推演的過程仍然是計算得到x與t的聯合概率分布,而決策的過程就是得到輸入變量x的響應估計值y(x)。與分類問題的決策過程相似,回歸問題也需要一個損失函數,而一個常用的損失函數稱為平方誤差(square loss)。相應的,期望平方誤差為
我們的目標就是選擇一個以最小化。通過計算損失函數相對於的導數,可得
即給定x後的響應t的條件平均值,這個也稱為回歸函數(regression function)。從另一個角度來看,
代入可得如下形式
為最小化上面這個損失函數,等式右側第一項當時取得最小值為零,而第二項則表示了期望意義下輸入變量x的響應值t的波動情況(方差)。因為它僅與聯合概率分布有關與無關,所以它表示了損失函數中無法約減的部分。
與分類問題相似,回歸問題學習的過程可以分為
- 學習得到聯合分布,再歸一化得到條件分布,最後得出條件均值;
- 直接得到條件分布,再計算條件均值;
- 直接從訓練數據中獲得。
當然,平方誤差並不是唯一可能的誤差函數。平方誤差的一般化稱為明科夫斯基誤差(Minkowski loss),其相應的期望誤差為
PRML 筆記 - 1.6 信息論
信息量和香農熵
一個變量取值的信息量可以看作是它帶來的“使人驚訝的程度”,一個必然事件沒有任何信息量,而一個極其偶然的事件的發生則會使人非常“驚訝”,因而包括大量信息。
自然地,信息量的概率就與變量的概率分布聯系在了一起。香農熵(Shannon Entropy)成功表達了一個離散型變量所帶來的平均信息量:
註意到,因此計算某個變量的香農熵時只考慮非零取值即可。另外,香農熵是非負的。
無噪聲編碼定理:香農熵是傳遞一個變量狀態所需要的比特數的下界。也就是說,在期望意義下,對一個變量的取值進行編碼所需要的最小的比特數即為香農熵。一般情況下,香農熵對數的底取2。
對於一個概率分布,當概率集中於較少的某幾個取值時(絕大多數情況下變量會取少數的幾個值之一),香農熵的值會較低,相反地,如果概率在各種取值上比較平均(幾乎無法判斷變量會取哪個值),那麽香農熵會較高。使用拉格朗日乘子法(約束概率分布的歸一化)計算香農熵的最大值,可知當概率分布是均勻分布時,香農熵可取到最大值,其中M為變量的狀態總數(所有可能取值的個數)。因此,香農熵也可以看作是一個變量不確定度的度量。
物理上關於香農熵的解釋:mulitplicity, microstate, macrostate, weight
連續型變量的微分熵
對於一個連續型變量,無法直接使用上面香農熵的定義。可以近似地對連續型變量的取值進行離散化,將整個取值範圍劃分成寬度為的小區域。均值定值告訴我們,在每個小區域內總存在一個值,使得以下等式成立
因此,我們可以把每個落入第i個小區域的的點賦予。這樣,我們就可以套用離散型變量的香農熵公式
而當趨近於0時,上式最右側第二項趨近於0,而第一個項則趨近的表達式稱為微分熵(differential entropy):
仍然使用拉格朗日乘子法,約束均值和方差,以及概率分布的歸一化,可知在均值和方差一定的情況下,使微分熵最大的概率分布為正態分布。而正態分布的微分熵表達式為
由以上的表達式可知,香農熵隨著方差而增大。同時,我們也可以看出,與離散型變量的香農熵不同,微分熵可以是負的。
條件熵(conditional entropy)
相對熵(relative entropy)
依然從編碼角度來考慮,若一個變量的真實分布為,而我們實際上使用了來對這個變量進行編碼,那麽由此而使用了的多余的比特數定義為相對熵或者KL距離(Kullback-Leibler divergence)。
註意到,雖然名為距離,但是KL距離(相對熵)沒有對稱性。另外,相對熵是非負的,當且僅當時相對熵取零。其證明用到了以下內容:
凸函數定義為。等價地,函數的二階導數各處均非負。如果僅當時等號成立,那個這個函數稱為嚴格凸函數。凸函數的相反數為凹函數。香農熵為凹函數。
簡森不等式(Jensen‘s inequality)
,其中, 為凸函數
如果,那麽有
- 連續型:
- 離散型:
於是,可證相對熵的非負性
其中嚴格凸函數,因而當且僅當時取等號。
相對熵與似然函數的關系
假設未知真實分布為,我們希望使用一個參數模型結合N個觀測數據來確定一個最優的來模擬真實分布。一種自然的方法是使用KL距離做為誤差函數,以最小化和的KL距離為標準來確定最優的參數值。
將上面的誤差函數相對於參數求導,可知:最小化KL距離等價於最大化似然函數。
互信息(mutual information)
互信息描述了兩個變量之間互相包含關於對方的信息量。定義為兩個分布和之間的KL距離
根據相對熵的非負性可知,互信息是非負的,當僅且當兩個變量相互獨立時互信息為零。
由此可知,互信息可以看作,當已知一個變量的情況下,另一個變量不確定性降低的程度。
copied by Jaye Chan 2018年7月19日 18:17
PRML學習筆記第一章