感知機模型
f(x)=sign(w*x+b)
sign是符號函數,取值+1或-1;w是權值向量,b叫做偏置。
線性方程w*x+b=0對應于特征空間中的一個超平面S,其中w是超平面的法向量,b是超平面的截距。
感知機學習策略
感知機的數據集必須是線性可分數據集,就是說超平面S可以把數據集的正實例點和負實例點完全正確地劃分到兩側。【f(x)=+1,w*x+b>0;f(x)=-1,w*x+b<0】
綜上所述,學習策略就是將誤分類的點最小化,但是直觀的來說,我們只知道誤分類點的個數,這是個離散值,不利于后續計算,所以把標準換做所有誤分類點到超平面S的總距離。
即損失函數定義是
損失函數
其中M是誤分類點的集合。
感知機學習算法
這里采用隨機梯度下降法,最小化損失函數。
原始形式
損失函數L(w,b)的梯度是對w和b求偏導,即:
不斷地隨機選取一個誤分類點(xi,yi),對w,b進行更新:
使總距離L不斷減小,直到為0。
偏導指明數據變動最快的方向;
學習率(步長)指明數據變動的快慢。
對偶形式
對偶:從一個不同的角度去解答相似問題,但問題的解是相通的或一樣的。
基本思想是,將w和b表示為實例xi和標記yi的線性組合的形式,通過求解其系數而取得w和b。
在過程中逐步修改w,b,修改n次。
ni代表第幾類誤判的樣本迭代次數;
N不代表迭代次數,而是誤判種類;
所以w就變成了代表第幾類誤判樣本的權重;
輔助鏈接:
01【如何理解感知機學習算法的對偶形式?】
02【感知機學習算法及Python實現】——是二類分類的線性分類模型,對應于輸入空間中的實例特征向量輸出為實例的類別,將實例空間劃分為正負兩類的分離超平面。感知機學習旨在求出將訓練數據行進線性劃分的分離超平面。