PRML 閱讀筆記(十一)

4 Linear Models for classification

    這一章開始介紹分類問題的線性模型。在具體介紹之前,先介紹幾個概念。

    爲什麼說是線性模型,因爲在這一類模型中,決策面是輸入向量x的線性函數,這個線性不同於迴歸模型中的線性,線性迴歸模型指的是模型是參數的線性函數。什麼是“線性可分”?數據集可以被我們前面說的x的線性決策面分開,則稱數據集是“線性可分的”。

    在第一章中,曾經介紹過有三種方法可以解決分類問題:1.判別函數 2.直接對p(ck|x)建模(判別模型) 3.對p(x|ck),p(x)分別建模,再利用貝葉斯理論,計算後驗概率p(ck|x)。

    這一章前三節分別講了這三種方法,下面首先進入判別函數的介紹。


4.1 Discriminant Functions

      

4.1.1 Two classes

     先來考慮比較簡單的x的分類目標K=2,即只有兩類的情況。

     最簡單的判別函數當然是取x的線性函數:

     

     當y(x)>=0的時候,把x歸爲C1類,當y(x)<0的時候,把x歸爲C2類,所以這裏的決策面就是wx+w0=0。作者之後又對此進行了一些幾何角度的解釋,w0控制的是決策面的位置,w控制的是決策面的方向(注意後面的Fisher Linear Discriminant要用到這個結論)。


4.1.2 Multiple classes

     當K>=2,即x的分類目標大於兩類的時候,無論我們用K-1個(not in that class)或者是K(K-1)/2(every possible pair of classes)個4.1.1節講到的"two classes classifier",都會引出一個ambiguous region。所以面對K類問題時,採用如下方法:

     考慮一個包含K個線性判別函數的K分類器:

        

     只有當對於任何j!=k,都有yk(x)>yj(x)時,把x歸於第K類。之前的“兩類”問題,我們既可以用4.1.1中的一個y(x)解決,也可以用類似於這裏的y1(x),y2(x)來解決。

     討論過判別函數的具體形式之後,該討論一下如何來擬合判別函數中的參數w了。書上大致講了三種方法,least squares,FLD,perceptron algorithm。


4.1.3 Least squares for classification

      在第三章中,Least squares是常用的Loss函數,所以很自然的,就會想到在這裏最小平方適不適用。但在這最小平方沒有任何概率解釋,唯一的解釋是當Loss函數是最小平方的時候,對E[L]求最小值,會得到y(x)取E[t|x]時E[L]最小的結論,而在“兩類”問題中,E[t|x]是後驗概率的向量?(這個點上不太懂,就是E[t|x]是怎麼由後驗概率給出的)。

      當面對K類問題時,我們有K組w向量,x,t也相同(這裏的t是1-of-K coding scheme),所以把這三組量都表示爲矩陣形式的時候,我們得到了error function:

      

       這裏爲什麼求的是矩陣的跡?

       這樣我們就可以通過最小化error function來解出W:

       

       作者接下來講了一些least squares的弊端,首先,無法保證y(x)的取值在0到1之間。其次對於噪聲點的魯棒性也比較差,書上兩幅圖4.4和4.5對此做了解釋。最後,作者大致講了一下最小平方法效果不太好的原因,因爲在迴歸問題中,我們是在對目標值做了高斯分佈的假設之後得出least square的,而在分類問題中,目標值只有兩種取值,顯然和高斯分佈相去甚遠。


4.1.4 Fisher's Linear Discriminant

       關於FLD : 將高維的樣本投影到較少的維度,以達到抽取分類信息和壓縮特徵空間維數的效果。投影后保證樣本在新的子空間有最大類間距離和最小類內距離,即樣本點在該空間有最近可分離性。


       利用下式將輸入向量投影到一維空間:

        

       y>=w0時x歸爲C1類,y<w0時x歸爲C2類,這樣就得到了如前所述的標準線性分類器。但注意到將多維輸入變量投影到一維的過程中可能會損失很多信息,而之前說到過,w是決定決策面的方向,所以這就回到主題上來了,如何擬合w。

       作者定義的幾個量都不難理解,類內距,類間距,最後我們使用這幾個建立起一個最大化目標:

       

       因爲只在乎輸入變量投影的方向,所以在捨棄掉一些標量後,得到了關於w方向的式子:

                   

       我們可以利用投影后的數據做一些分類工作,將會簡單很多。


4.1.5 Relation to least squares

       作者通過指定t1與t2的值,對least squares進行了一些推導得出了與fisher 判別相同的w方向,即說明了fisher是least square的一個特例。


4.1.6 Fisher‘s discriminat for multiple classes

       這一節把Fisher判別擴展到了K類問題上,原理與4.1.4基本相同,不贅述了。


4.1.7 The perceptron algorithm

      定義perceptron algorithm:

     

         當y(x)=-1的時候,將x歸爲C2類,當y(x)=1的時候,將x歸爲C1類。


         有了預測函數,下面該找error function了,注意到當tn=1的時候,我們希望a>0,而當tn=-1時,我們希望a<0,這樣便發現,我們始終希望a*tn>0,對於那些分類錯誤的點,我們希望-a*tn越小越好,所以便得到了error function:

          

          對error function使用隨機梯度下降,得到:

          

         作者用圖4.7很好的對此處的梯度下降進行了幾何解釋。對於perceptron algorithm,如果數據線性可分,那麼根據上面的方法w一定可以在有限步驟內收斂,假設數據線性可分,最後的解有多個,那麼取到哪一個要根據參數的初始化和樣本點的出現順序而定了。perceptron的限制在於,它不能輸出預測的概率值,也無法擴展到K>2類的問題中,最重要的是,它是基於固定的basis function的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章