【機器學習基礎】從感知機模型說起
感知機(perceptron)
感知器(perceptron)1957年由Rosenblatt提出,是神經網路與支援向量機的基礎。感知器是二類分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。感知機對應於輸入空間(特徵空間)中將例項劃分為正負兩類的分離超平面,屬於判別模型。感知機學習旨在求出將訓練資料進行線性劃分的分離超平面。
分離超平面分類法
分離超平面進行分類的過程是構造線性判定邊界,試圖顯示地、儘可能好地將資料分到不同的類。
超平面分離定理
超平面分離定理是應用凸集到最優化理論中的重要結果,這個結果在最優化理論中有重要的位置。所謂兩個凸集分離,直觀地看是指兩個凸集合沒有交叉和重合的部分,因此可以用一張超平面將兩者隔在兩邊。
感知機定義
感知機幾何解釋
感知機學習演算法(perception learning algorithm)
下面的圖片給出了感知機的原始學習過程:
pla_process
從圖中可以看出,如果2D平面中向量w與向量x呈鈍角,而x為正例,這說明w·x的角度太大了,這樣,將w調整成w+y·x,即將w向x轉動一下,接近x向量;同理,如果分離超平面錯將正例資料分成負例資料時(2D平面中,向量w與向量x呈銳角),那麼將w調整成w+y·x,實際上是向量w-x,則w要遠離x一點。
2D感知機學習演算法演示
初始情況下,分類器認為所有資料都是錯誤的,所以任意找一個數據進行修正。
step_initial
這裡,w為分離平面的法向量,分離平面垂直於法向量。
step1
xg是被錯分的資料,所以將原來的法向量和資料的向量相加,得到一個旋轉之後的法向量。
step2
如此,進行下去,不斷地修正,直到所有的資料都被正確的分類。
step3
step4
step5
step6
step7
step8
step9
step_final
最後,找到了“完美”分類的線。
PLA會不會停下來
線上性可分的條件下,我們如何保證PLA演算法能停下來呢?我們可以用wf和wt的內積來表示它們是不是越來越接近。
我們可以看出wf和wt的內積隨著更新不斷變大,這在一定程度上說明wf和wt越來越相似了,但由於沒有考慮到向量的長度,所以還不完備。
接下來的說明,wt每次最多增長xn的長度。
最後我們對wf和wt進行正規化,得到一個乘積,其實就是wf和wt的夾角的cosine值。這代表,每次更新,wf和wt的角度就靠近一點點,並且不可能無限的增長,因為這個值不可能大於1。所以這就證明了,PLA演算法會停下來。