天天看點

線性分類模型--感覺機(perceptron)

線性分類模型--感覺機(perceptron)

1. 引言-分類問題

    分類是監督學習的一個核心問題,在監督學習中,當輸出變量Y取有限個離散值時,預測問題便成為分類問題,基本概念可以參考《機器學習方法概論1》。監督學習從資料中學習一個分類模型或分類決策函數,稱為分類器(classifier)。分類器對新的輸入進行輸出的預測(prediction),稱為分類(classification),可能的輸出稱為類(class),分類的類别為多個時,稱為多類分類問題,主要研究的都為二分類問題[1]。許多機器學習方法都是可以用來解分類問題,比如:感覺機、樸素貝葉斯、支援向量機、決策樹、邏輯回歸、AdaBoost、神經網絡等等。下面就着重介紹最簡單的感覺機是怎麼來解決二分類問題的,要知道,神經網絡和支援向量機都是在感覺機上擴充的,或者說感覺機是神經網絡和支援向量機的基礎,是以把感覺機弄清楚對于其它算法的了解還是挺有必要的。注意:感覺機是一種線性分類模型,就是說資料必須是線性可分的(雖然實際中很難達到要求,但是可以通過一些方法将資料集變為線性可分),屬于判别模型( Discriminative Model ),對于判别模型與生成模型的概念可以參考《生成模型(Generative)與判别模型(Discriminative)》。

2. 感覺機 

2.1 感覺機的定義

   假設輸入X在n維特征空間中,輸出Y的取值為{ +1,1 },假設小寫的x表示一個執行個體的特征向量,對應于輸入特征空間中的點,函數值f(x)表示輸出執行個體的類别,把由輸入特征空間到輸出空間的如下函數f(x)稱為感覺機:

線性分類模型--感覺機(perceptron)

其中w和b為感覺機的參數,由于x是n維的,w.x是内積,w當然也是n維的,和輸入特征空間的維數相對應,把w經常稱為權值向量(weight vector)或權值(weight),w.x是内積得到的是一個實數值,b當然就是一個實數值了,不然向量和一個數怎麼相加呢,通常把b叫作偏置(bias)。sign是符号函數,對應于兩個類别值+1,1。                       

線性分類模型--感覺機(perceptron)

2.2 感覺機的幾何解釋

   感覺機的幾何解釋就是一個n維的線性方程:

線性分類模型--感覺機(perceptron)

對應于n維特征空間中的一個超平面(2維的空間中上述線性方程就是一條直線,3維的空間中就是一個平面),其中w是超平面的法向量,b是超平面的截距。這裡對于截距的了解我覺得隻是一個形象的說法,并不能對應于直線方程或者平面方程中看待的截距值一樣,我們知道截距是一個實數值,非距離,有正有負,直線的截距也有縱截距和橫截距之分,把x變為一個2維的,線性方程就是一條直線,得出的b肯定不是橫截距值或者縱截距值,截距值應該還跟w的值有關即x前的系數值有關,這裡不知道大家是怎麼了解的。至于w是法向量,這個不難了解,因為我們知道平面标準方程中的三個未知數的系數所組成的向量就是法向量: 設向量(A,B,C)是一個過點(x0,y0,z0)的一個法向量,則它與平面上的所有向量均垂直,平面上的向量均可表示為:(x-x0,y-y0,z-z0),因為向量(A,B,C)與向量(x-x0,y-y0,z-z0)垂直,是以其數量積為0,即:A(x-x0)+B(y-y0)+C(z-z0)=0整理得:Ax+By+Cz+D=0, 可見,标準方程中,三個未知數的系數所組成的向量(A,B,C),就是平面的一個法向量。

2.3 感覺機定義的目标函數(經驗損失函數)

            假設訓練資料集是線性可分的,感覺機學習的目标是能夠求得一個能夠将訓練集正執行個體點和負執行個體點完全正确分開的分離超平面,也就是能夠求解出正确的w和b的值。我們知道在監督學習問題中是将預測值f(x)和真實值Y的不一緻或者錯誤程度定義了一個損失函數,通過最小化損失函數來求解f(x)的參數,參考《機器學習方法概論1》。這裡對于二分類的感覺機而言,我們從它的幾何意義去了解,而且我覺得隻要大家抓住這個幾何意義了解後面的内容會非常容易。感覺機的損失函數就是誤分類的點到超平面的總距離。 首先,我們知道對于線性方程(2.3)而言,n維輸入特征空間中的一點x0到超平面的距離為:                                                                                                                      

線性分類模型--感覺機(perceptron)

對于誤分類的樣本來說:

線性分類模型--感覺機(perceptron)

假設有M個誤分類點,是以誤分類點到超平面的距離總和是:

線性分類模型--感覺機(perceptron)

不考慮前面的求w的L2範數值 ,就得到了二分類感覺機的損失函數:

線性分類模型--感覺機(perceptron)

顯然,誤分類點越少,且誤分類點離超平面越近,損失函數值就越小,那麼怎樣求解使這個函數最小值的w和b呢。

2.4 求解使損失函數最小的w和b

      上述的求解使損失函數最小的w和b就是一個最優化問題,求解的方法就是随機梯度下降法(stochastic gradient descent)。梯度下降法要是講的話也有很多的内容,詳見《梯度下降法求解感覺機模型》。

[1] 李航,《統計學習方法》,第1章,1.8節

繼續閱讀