感知機 模型與策略

2021-07-28 06:56:24 字數 3167 閱讀 5835

看到模型和策略,應該很快聯想到了李航的《統計學習方法》,統計學習方法的三要素定義為:模型、策略、演算法。

感知機是二分類的線性分類模型,輸入為例項的特徵向量,輸出為例項的類別(取+1和-1)。感知機對應於輸入空間中將例項劃分為兩類的分離超平面。感知機旨在求出該超平面,為求得超平面匯入了基於誤分類的損失函式,利用梯度下降法對損失函式進行最優化。

假設輸入空間(特徵向量)是x屬於n維空間,輸出空間為y屬於,輸入x表示例項的特徵向量,對應於輸入空間的點,輸出y表示例項的類別,則由輸入空間到輸出空間的表達形式為:

f(x)=sign(w*x+b)

上面該函式稱為感知機,其中w,b稱為模型的引數,w稱為權值,b稱為偏置,w*x表示為w,x的內積

這裡

如果我們將sign稱之為啟用函式的話,感知機與logistic regression的差別就是感知機啟用函式是sign,logistic regression的啟用函式是sigmoid。

sign(x)將大於0的分為1,小於0的分為-1;sigmoid將大於0.5的分為1,小於0.5的分為0。因此sign又被稱為單位階躍函式,logistic regression也被看作是一種概率估計。

該感知機線性方程表示為:w*x+b=0,它的幾何意義如下圖所示:

我們其實就是在學習引數w與b,確定了w與b

,圖上的直線(高維空間下為超平面)也就確定了,那麼以後來乙個資料點,我用訓練好的模型進行**判斷,如果大於0就分類到+1,如果小於0就分類到-1。

由於自己在這裡碰到了問題,稍微證明一下為什麼w是直線(高維空間下為超平面)的法向量?

上面說到我用訓練好的模型進行**判斷,如果大於0就分類到+1,如果小於0就分類到-1。用到了超平面分離定理:

超平面分離定理是應用凸集到最優化理論中的重要結果,這個結果在最優化理論中有重要的位置。所謂兩個凸集分離,直觀地看是指兩個凸集合沒有交叉和重合的部分,因此可以用一張超平面將兩者隔在兩邊。如下圖所示,在大於0的時候,我將資料點分類成了d類,在小於0的時候,我將資料點分類成了c類

好了,上面我們已經知道感知機模型了,我們也知道他的任務是解決二分類問題,也知道了超平面的形式,那麼下面關鍵是如何學習出超平面的引數w,b,這就需要用到我們的學習策略。

我們知道機器學習模型,需要首先找到損失函式,然後轉化為最優化問題,用梯度下降等方法進行更新,最終學習到我們模型的引數w,b。ok,那好,我們開始來找感知機的損失函式:

我們很自然的會想到用誤分類點的數目來作為損失函式,是的誤分類點個數越來越少嘛,感知機本來也是做這種事的,只需要全部分對就好。但是不幸的是,這樣的損失函式並不是w,b連續可導(你根本就無法用函式形式來表達出誤分類點的個數),無法進行優化。

於是我們想轉為另一種選擇,誤分類點到超平面的總距離(直觀來看,總距離越小越好):

距離公式如下:

而我們知道每乙個誤分類點都滿足-yi(w*x+b)>0

因為當我們資料點正確值為+1的時候,你誤分類了,那麼你判斷為-1,則算出來(w*x0+b)<0,所以滿足-yi(w*x+b)>0

當資料點是正確值為-1的時候,你誤分類了,那麼你判斷為+1,則算出來(w*x0+b>0),所以滿足

-yi(w*x+b)>0

則我們可以將絕對值符號去掉,得到誤分類點的距離為:

因為你知道

,所以可以直接將絕對值去掉。那麼可以得到總距離為:

不考慮w範數分之一

,我們可以得到損失函式為:

其中m為誤分類點的數目。

恩,好了,其實到這裡為止,已經完成了標題所要表達的任務了,感知機的模型與學習策略!總結一下!

感知機的模型是f(x)=sign(w*x+b),它的任務是解決二分類問題,要得到感知機模型我們就需要學習到引數w,b。

則這個時候我們需要乙個學習策略,不斷的迭代更新w,b,所以我們需要找到乙個損失函式。很自然的我們想到用誤分類點的數目來表示損失函式,但是由於不可導,無法進行更新,改為誤分類點到超平面的距離來表示,然後不考慮w的正規化分之一,得到我們最終的損失函式!

感知機的任務是進行二分類工作,它最終並不關心得到的超平面離各點的距離有多少(所以我們最後才可以不考慮w的正規化),只是關心我最後是否已經正確分類正確(也就是考慮誤分類點的個數),比如說下面紅色與綠線,對於感知機來說,效果任務是一樣好的。

但是在svm的評價標準中(綠線是要比紅線好的,這個後面在討論)

所以我們可以不考慮w的正規化,直接去掉它,因為這個時候我們只考慮誤分類點,當乙個誤分類點出現的時候,我們進行梯度下降,對w,b進行改變即可!跟距離沒有什麼關係了,因為w的正規化始終是大於0,對於我們判斷是否為誤分類點(

我們是通過是否-yi(w*x0+b)>0來判斷是佛為誤分類點)

沒有影響!這也回到了我們最初始想要作為損失函式的誤分類點的個數,引入距離,只是將它推導出乙個可導的形式!(最後說一句,我個人認為不去掉w的正規化,也是一樣可以得到最後的正確分類超平面,就是直接用距離來當做損失函式也是可以的,可能是求梯度比較複雜,或者是感知機本身就是用誤分類點來區分,就沒用zh這個損失函式了)

如果幫到你了,請讚賞支援:

感知機模型

這裡介紹機器學習中最簡單的一種分類方法 感知機模型。感知機模型 其中sign是符號函式,w和b是引數,x是輸入特徵向量,f x 返回決策結果。分離超平面s 對於二類線性可分問題,分離超平面將兩類樣本分在s兩側。空間中一點x0到s的距離 損失函式 定義損失函式的意義是所有誤分類的點到分離超平面的距離之...

感知機模型

參考 感知機模型是理解svm和神經網路的基礎。在這裡我們可以從感知機模型上看到神經網路的影子,通過簡單的堆疊就可以成為mlp 神經網路的一種 在損失函式上看到svm的影子。那到底什麼是感知機呢?定義 在機器學習中,感知機 perceptron 是二分類的線性分類模型,屬於監督學習演算法。輸入為例項的...

感知機模型

在生物神經網路中,其最小的組成單位是神經元。學過高中生物的應該都知道,多個神經元相互連線形成神經網路,乙個神經元興奮時,則向相鄰的神經元傳送化學物質,改變其神經元的內部電位,當點位超過乙個 閾值 時,神經元興奮。神經元的模擬圖如下 xi為第i個輸入,i為第i個輸入的連線權重,y為輸出,為閾值。當達到...