1. 程式人生 > >模式識別與機器學習(第一章)學習筆記

模式識別與機器學習(第一章)學習筆記

1.緒論

模式識別領域關注的是利用計算機演算法自動發現數據中規律,以及使用這些規律將資料分類。利用機器學習進行模式識別更精確,具體步驟為:選定訓練集,包括輸入的向量X(可能是對原始向量進行過預處理的,比如特徵抽取)和輸出的目標向量t,用於調節模型引數,最終模型輸出向量為y(x),機器學習的目標是利用某種標準度量使得y(x)的值越在該標準度量(度量一般都與t有關)下達到最優,如最小化y(x)與t的均方誤差。若y(x)在測試樣本中的表現也很好,則說明模型泛化能力強,泛化能力弱引數多的模型一般是過擬合的,不可取。

當訓練資料樣本包含輸入向量和目標向量時,屬於有監督學習。比如分類問題(y(x)取值是離散的),迴歸問題(y(x)是連續的)。當沒有目標向量時,就被稱為無監督學習,如聚類,密度估計等。還有一種型別是反饋學習,即在給定的條件下,找到合適的動作,使得獎勵達到最好,其並沒有給定最優輸出,通常是有一個狀態和動作的序列,其中學習演算法與環境互動,如玩遊戲:讓神經網路自己和自己玩一億局圍棋,阿爾法狗打贏柯潔很簡單。反饋學習的特徵是探索和利用,即探索新的動作和利用已知能產生較高獎勵的動作。

1.1例子:多項式擬合

輸入值是x,目標向量是t(t由sin(2pi*x)+高斯白噪聲生成,加入白噪聲說明目標向量不是x的一個確定性函式,這與實際金融資料相符)資料量為10。我們的目標是利用訓練集預測對於新的觀測值,生成目標值的預測。由於多項式可以逼近任何n階可導的函式,這裡我們考慮用多項式預測。

                     (1)      

 其中,我們的擬合標準為最小化殘差平方和:

                                                            (2)

因為目標函式是w的二次函式,求導後將變為w的一次函式,因此上式關於w有唯一解。其中,當M不同時的擬合效果如下:

          

由上圖可以看出,當M=3時,模型擬合效果最好,當M=0或1時,擬合不足,當M=9時,就表達sin(2pi*x)而言模型表現很差,其本質是其過多的擬合了白噪聲。由於模型的泛化能力才是檢驗模型好壞的標準,我們會發現,當M=9時,該模型的泛化能力是很差的。

考察當模型給定時,資料規模對模型的準確性影響也是有意義的。若生成過程sin(2pi*x)+白噪聲不變,則當資料量越來越多時,我們會發現M=9時模型過擬合的問題越來越小。如下圖


我們會發現,當資料較多時,可選用較多引數,當資料較少時,可選用較少引數。但更合理的情況應該是根據問題的複雜情況選擇引數。這也就是為何貝葉斯方法最近流行起來,就是因為其模型引數超過資料點數量的情形也是可處理的,而最大似然常會出現過擬合(不展開討論,後話)

我們依舊在原框架下討論問題,我們知道,若以(2)式為標準,則M=9時模型應該是最好的。說明我們選定的標準不夠合理,故為防止過擬合,我們在原有的標準下加入一個懲罰項,被稱為正則化。如下:

                                                          (3)

注意,W0通常會省去,因為其代表的是目標變數原點的選擇。其中表示重要程度。但當其選值不同時,結果變化也較大,如下圖:

我們會發現第一張圖擬合不錯,第二張效果較差,說明h引數對最後的結果影響也大。上式2給出瞭如何確定M、h的一般方法,但是將浪費一部分資料。因此我們需要尋找更高階方法

2.概率論

模式識別的一個關鍵概念是不確定性的問題,它可能由觀測誤差或者有限的資料量所導致。概率論給我們提供了一個框架,成了模式識別的中心基礎,當將其與決策論相結合時,概率論能使我們基於有限資訊得出最優預測。


其中,加和規則和乘積規則為:


貝葉斯概率:

 其中,P(D|W)可由觀測資料集D來估計,被稱為似然函式。機器學習中,似然函式的負對數被稱為誤差函式,故最大化似然函式等價於最小化誤差函式。



貝葉斯優勢之一:以高斯分佈為例,若利用極大似然估計引數,則方差為是有偏的,有一定的偏移,雖然當資料量大時偏移很小。但是若當模型引數較多時,極大似然估計對引數估計的偏移就是一個較為嚴重的問題了。

1.2.5從概率和貝葉斯角度重新考慮多項式擬合問題




1.2.6 貝葉斯曲線擬合



1.3 模型選擇

在使用最小平方擬合多項式曲線時,我們看到存在一個最優的多項式階數,能夠給出更好的結果。通過正則化最小平方,引入正則化係數h,使得我們能夠通過該目標式得到最優多項式預測。在其他複雜模型中,可能存在多個控制模型複雜度與h類似的引數。我們的目標是:

(1)找到合適的複雜度引數的值

(2)找到可選的模型範圍

       模型選擇在資料量大時很簡單,使用一部分可得的資料,可以訓練出一系列的模型,也可以得到給定模型一系列複雜度的引數值。之後在驗證集資料上驗證模型好壞,最後選擇最好的模型即可。如果模型的設計使用有限規模資料迭代很多次,那麼在驗證集上也可能出現過擬合現象,因此最終留一個第三方的測試集也是有必要的。

     可惜的是,資料集往往是有限的(或者即使資料量大,卻有可能出現時間跨期過長分佈不一致的情況)。一種方法是交叉驗證,把資料分成S份,用其中任意的S-1份作為訓練集,另一部分作為測試集評估表現。當資料很少時,S=N,這叫“留一法”。交叉驗證的主要缺點是訓練次數隨著S而增加,且對於單個模型,可能由多個複雜度引數。在最壞情況下,探索這些引數的組合所需的訓練次數是引數個數的指數函式。

      因此,我們要找到一個合適的模型表現度量,使其只依賴於訓練資料,且不會產生過擬合的問題。此時AIC(赤池資訊準則)和BIC(貝葉斯資訊準則)被提了出來,但是都沒有考慮模型引數的不確定性。赤池資訊準則最大化下式:

                 

但是,在上述兩個準則下,傾向於選擇過於簡單的模型。然而後面我們會看到,在貝葉斯準則下,合理的複雜度的懲罰是如何自然得出的。

1.4維度災難

在多項式擬閤中,我們只有一個輸入向量。但是對於模式識別的實際輸入而言,常常會有D個輸入向量。此時多項式的形式如下:

    

因此代估計引數的個數與D^M次方正正比,雖不是指數增長,但是良也將非常大。

1.5決策論

在前面的論述中,我們知道概率論如何提供給我們一個自始至終的框架量化和計算不確定性。這裡介紹決策輪,當其與概率論結合時,我們能夠在涉及不確定性的情況下做出最優決策,這在模式識別中經常遇到。

輸入x,目標輸出t,對於迴歸問題,t由連續變數組成,對於離散問題,t由類別標籤表示。聯合概率分佈p(x,t)完整的總結了與這些變數相關的不確定性。從訓練資料中推斷p(x,t)是推斷問題的一個例子,且非常難,是本書主題。但在實際應用中,我們必須經常對t值做出預測,或者更一般的,根據t的預測做出某種決策,這便是決策論的主題。我們將發現,一旦解決了推斷問題,決策問題也會變的簡單。

考慮x光片的例子。C1表示患癌,C2表示不患癌,x表示光片的具體數量資訊:


上面的貝葉斯公式都可以有p(x,Ck)得來。

如果我們的目標是最小化錯誤分類率(最大化正確分類率),那麼所屬類別應該是最大化後驗概率的那類。


有時我們的目標是最小化期望損失,如上當我們覺得某個人20%概率患癌時,最優的結果應該是讓他繼續檢查,而不是把他歸為健康的那類,因為判錯損失很大。其中Lkj表示對應的損失

拒絕選項:

很多時候,可能會出現p(C1|x)與P(C2|x)大小差不多的情況,此時為了降低錯誤率,最好的選擇可能是對一部分輸入x不做判斷。因此實際中我們常可能設定一個閾值,當其中任一個P(Ci|x)的值大於該閾值時,進行判斷即可。

1.5推斷和決策

分類問題可以分為兩個階段:推斷和決策,事實上,可以用三種不同方法解決決策問題:


對於方法(a),待估計的東西最多,且當P(X|Ck)中的X是多維時,需要得出該概率估計要很多樣本值,其優點是能夠計算P(x),這對於模型中具有低概率的點很有用。

對於方法b,直接對P(Ck|x)後驗概率進行建模,但是為了求出它,也需要大量資料求解聯合概率(此處不是很理解

對於方法C,我們將每個x直接對映為判別函式,但是隻能得到歸類值,無法得出P(CK|X)的值,而該值在現實中可能很重要。

1.5.5迴歸問題的損失函式


觀察上式可知,即為條件均值


平方損失函式不是唯一選擇,也有如下值: