感知機是二類分類的線性分類模型涡匀,其輸入為實例的特征向量,輸出為實例的類別{-1,1}践剂,是一種判別模型鬼譬。感知機學習的目的在于求出將訓練數據進行劃分的超平面。
-
感知機模型
輸入空間,輸出空間
舷手。
為輸入向量拧簸,其中,
和
為感知機模型參數男窟,
表示內積盆赤,sign是符號函數贾富。感知機的幾何角度理解是:
是特征空間
的一個超平面,
是該平面的法向量牺六,
是截距颤枪。這個超平面將特征空間劃分為正負兩個部分,如下圖淑际。
-
感知機學習策略
感知機學習的目的是為了找到能夠將正負實例點正確分開的超平面,也就是要確定參數和
春缕,感知機的學習策略便是定義一個損失函數并將其最小化盗胀。于是便要選擇一個損失函數的依據,可以選擇誤分類的點的數量作為損失函數锄贼,然而該函數不可導票灰,不易于優(yōu)化,因此選擇誤分類點到超平面的距離和:
此處
是
的第二范數宅荤。注意需要優(yōu)化的只是誤分類的點屑迂,對于誤分類的點有,
恒成立冯键,因此可去掉絕對值符號惹盼,并假設當前超平面的誤分類的點的集合為M,由此得到感知機學習的損失函數為
其中M為誤分類的點的集合惫确。顯然該損失函數是非負的手报,當沒有誤分類的點時
.只需將損失函數優(yōu)化到0即得到該分類超平面,不過由該方法得到的超平面的解不是唯一的(顯然只需要能夠正確分類時算法即停止)雕薪。
-
感知機學習算法
感知機所用優(yōu)化方法是隨機梯度下降法昧诱,包括原始形式和對偶形式。
-
原始形式
前面已經確定了感知機的損失函數所袁,那么其原始形式只需要最小化這個損失函數即可盏档。
其中M為誤分類的點的集合。
隨機梯度下降法初始時任選,
作為初始超平面燥爷,計算有哪些誤分類點蜈亩,如果有誤分類點,隨機選取一個誤分類點前翎,進行梯度下降稚配。即先計算損失函數的梯度
梯度下降法使參數向反方向變化,使用隨機選出的誤分類點的數據港华,根據提前設置好的學習率
對
進行更新就可以了
這樣便可使損失函數不斷減小道川,直到為0時就得到了可正確分類數據集的超平面。
-
對偶形式
在原始形式的學習算法中,可以看到每次更新的數值都是選中的點
的線性組合冒萄,那么
必然可以用
線性表示臊岸,這樣我們可以通過求解該線性組合的系數找到該超平面。對上節(jié)
的更新中尊流,設總共修改N次帅戒,可將每次
增量表示為
,其中
崖技,假設
(這無關線性)逻住。于是更新過程表示為
這里
的含義是在該學習率下
在最后學習到的
中所貢獻的權重,就是最后平面的
的系數迎献,也是因該點誤分類也進行更新的次數*
瞎访。由此,感知機模型可由
表出忿晕。
在判斷是否是誤分類點時用
更新時
可以看到該計算過程中訓練數據全部由內積得到装诡,因此可以提前將內積計算出來由矩陣存儲,可以減少算法過程中的計算量践盼,這是Gram矩陣。