一分鐘認識感知機

2021-09-14 01:08:27 字數 2635 閱讀 1843

1.感知機概念

感知機學習演算法很簡單,易於實現,一步一步看完就自然懂了。

1.1感知機簡介

perceptron,感知機。是二類分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,類別值取值範圍=,即perceptron(x) = -1 或者+1

感知機對應於輸入空間中將例項劃分為正負兩類的分離超平面,即平面一側的例項為正例項,平面另一側的例項就是負例項。可以知道,感知機是判別模型,即給感知機乙個例項,它返回的結果會告訴你,這個例項是正例項,還是負例項,是正例項感知機就返回數值+1,如果是負例項感知機就返回-1,就這麼簡單。

感知機使用基於誤分類的損失函式,即損失函式返回值就是你輸入例項集被判別後判別錯誤的個數。感知機利用梯度下降法對損失函式進行極小化。

感知機是神經網路和支援向量機的基礎。

1.2感知機定義

f(x) = sign(w*x + b),稱為感知機

其中x為輸入空間,f(x)為輸出空間,f(x)∈,w和b為感知機模型引數,即f(x)由模型引數集合決定和表示。

w叫做權值(weight)或者權值向量(weight vector),b叫做偏置(bias),w*x表示w和x的內積

sign是符號函式:

sign(x) = +1,x>=0

sign(x) = -1,x<0

感知機是由兩層神經元組成,輸入層接受外界輸入訊號以後傳遞給輸出層,輸出層是m-p神經元,如下圖所示:

感知機是二分類的線性分類模型,輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。線性分類模型表現在:感知機需要學習出乙個在正類和負類之間的超平面wx+bwx+b,使得正類和負類能夠正確的劃分。下面將會看到感知機是如何進行建模以及如何求解引數的。

1.3感知機的幾何解釋

線性方程w*x + b = 0對應特徵空間中的乙個超平面s,則w是超平面的法向量,b是超平面的截距。

此超平面將特徵空間分割成兩部分,位於超平面上下側的特徵點分別被分成正,負兩類,所以超平面s稱為分離超平面(separating hyperplane),空間中可形象表示如下:

1.4感知機學習概念

感知機f(x)=sign(w*x + b),是通過感知機學習得到的。感知機學習是通過學習訓練資料集得到的。

訓練資料集由例項的特徵向量和類別組成,如下所示:

t=,其中y∈,x是特徵空間中的特徵值,而y是x的分類值。

感知機學習通過學習訓練資料集t求得感知機模型引數w和b。

1.5感知機**

通過感知機學習得到感知機f(x) = sign(w*x + b),其中w和b已求得。

我們輸入乙個新的例項x,感知機f(x)給出對應的輸出類別-1或者+1,這就是感知機**。

2.感知機學習策略

2.1感知機學習的損失函式

感知機的功能是將給定的例項進行正確分類,感知機的學習策略是將輸入例項集進行感知機**後,**錯誤的總個數。

比如有輸入空間x=[1,3,6,8],經過感知機**得到輸出空間y=[-1, -1, -1, +1],但是正確的輸入空間應該是[-1, +1, +1, +1],則表示感知機**錯誤個數=2。

感知機學習定義的損失(經驗)函式就是感知機**的錯誤個數,用公式表示就是

用上面的示例給出損失函式計算過程:

上面m是誤分類點的集合,則m=[3, 6],則損失函式計算過程:

l(w, b) = -1 *(y2*f(x2) + y3*f(x3)) 

= -1 * (+1*f(3) + +1*f(6))

= -1 * (+1*-1 + +1*-1)

= -1 *(-1-1) = 2

可知損失函式值=2。

2.2損失函式的連續可導

顯然損失函式是非負的。如果沒有誤分類點,損失函式值為0。而且誤分類點越少,誤分類點離超平面越近,損失函式值越小。

乙個特定的樣本點的損失函式:在誤分類時是引數w,b的線性函式,在正確分類時是0,因此給定訓練資料集t,損失函式l(w,b)是w,b的連續可導函式。

3.感知機學習演算法的原始形式

來自:《統計學習方法》李航

由於演算法思路和步驟都很簡單,不做詳細解釋,直接看下圖吧

python**實現可以詳看部落格:【機器學習】【感知機-2】感知機(perceptron)學習演算法的原始形式的python實現

4.感知機學習演算法的對偶形式

來自:《統計學習方法》李航

由於演算法思路和步驟都很簡單,不做詳細解釋,直接看下圖吧。

python**實現可以詳看部落格:【機器學習】【感知機-3】感知機(perceptron)學習演算法的對偶形式的python實現

一分鐘sed入門(一分鐘系列)

1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...

一分鐘看懂mysql 一分鐘,看懂易貨

從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...

DevOps 教你一分鐘認識DevOps

目前在國外,網際網路巨頭如google facebook amazon linkedin netflix airbnb,傳統軟體公司如adobe ibm microsoft sap等,亦是網路業務非核心企業如蘋果 沃爾瑪 索尼影視娛樂 星巴克等都在採用deovops或提供相關支援產品。那麼devop...