感知機是二分類的線性分類模型,本質上想找到一條直線或者分離超平面對數據進行線性劃分算法
假設有一個數據集\(D = {(x_1, y_1), (x_2, y_2), ..., (x_N, y_N)}\),其中\(x_i \in R^n\),即\(x_i = (x_i^{(1)}, x_i^{(2)}, ...x_i^{(n)})\)網絡
因而咱們能夠構建出感知機模型爲:\(f(x) = sign(w^Tx + b)\)機器學習
定義損失函數一個很天然的想法是創建在誤分類點的個數上,可是使用誤分類點的個數來構造損失函數並不容易優化函數
記M爲誤分類點的集合,誤分類點到分離超平面的總距離爲:學習
不考慮\(\frac{1}{\parallel w \parallel}\)(由於上式中,分子和分母有固定倍數的關係),而且去掉絕對值,就能夠獲得感知機的損失函數爲:優化
此時對於誤分類點,\(-y_i (w^Tx_i + b) > 0\)成立spa
此時感知機算法就轉變爲,求解參數\(w, b\),使得損失函數極小化,即blog
由於只有對誤分類點纔會對損失函數進行優化,所以感知機的優化採用隨機梯度降低法(SGD),而非使用全部樣本的批量隨機梯度降低法(BGD)it
損失函數\(L(w, b)\)的梯度爲:io
對於SGD,選取一個誤分類點進行更新,即有:
訓練集包括N個樣例,樣本中包含n個特徵,標記爲二分類取值爲-1或者+1
算法執行步驟以下:
對偶形式的基本想法是,將\(w\)和\(b\)表示爲實例\(x_i\)和標記\(y_i\)的線性組合的形式,經過求解它的係數來求解\(w\)和\(b\)
假設初始值\(w_0\)和\(b_0\)都爲0,所以\(w\)和\(b\)能夠表示成\(x_iy_i\)和\(y_i\)的增量形式,即原始形式能夠化成:
其中,\(\beta_i = n_i \alpha\),\(n_i\)表示第\(i\)個實例\(x_i\)更新的次數
此時,模型轉變爲
訓練集包括N個樣例,樣本中包含n個特徵,標記爲二分類取值爲-1或者+1
算法執行步驟以下:
其中,訓練實例能夠經過計算Gram矩陣(即\(x_i\)和\(x_j\)的內積組成的矩陣)的形式來存儲
爲了方便說明,記\(\hat w = (w, b)\),\(\hat x = (x, 1)\),則感知機模型能夠變爲:
以前咱們說明了,只有誤分類點纔會對\(\hat w\)進行更新。所以,考慮如下兩種狀況:
真實類別爲y=+1, 可是模型的輸出爲-1
真實類別爲y=-1, 可是模型的輸出爲+1
其實,不管對於誤分類的狀況1仍是狀況2,總有\(y_i \hat w_{t+1}^T \hat x_i = \geq y_i \hat w_t^T \hat x_i\),由於\(y_i \hat w_t^T \hat x_i\)的符號表明是否分類正確,大小表明分類超平面是否將其「分得很開」,上面的不等式說明了,對於某個誤分類點來講,更新後要比更新前要好,算法PLA對該誤分類點「學習」了。
對於線性可分的數據集,總能找到一個或者多個分類超平面能將該數據集劃分,這代表了PLA的收斂性。
說明兩個向量的類似性有不少方法,其中計算兩個向量的內積是一種方法。當內積越大,代表兩個向量越類似。固然,這須要考慮向量的長度,當模長越大時,向量的內積也會愈來愈大。
先討論\(w_f\)和\(w_t\)的內積,\(w_0\)爲0向量
\begin{equation}
\begin{split}
w_f^T w_t & = w_f^T(w_{t-1} + y_ix_i) \\
& = w_f^T w_{t-1} + y_i w_f^T x_i \\
& \geq w_f w_{t-1} + \underset {i} {min} (y_i w_f^T x_i) \\
& \geq w_f w_0 + t \underset {i} {min} (y_i w_f^T x_i) \\
& = t \underset {i} {min} (y_i w_f^T x_i)
\end{split}
\end{equation}
討論\(w_f\)和\(w_t\)的模長,因爲只有誤分類點才更新,因此有\(y_i w_{t}^T x_i \leq 0\)
\begin{equation}
\begin{split}
\parallel w_t \parallel^2 & = \parallel w_{t-1} + y_ix_i \parallel^2 \\
&= \parallel w_{t-1} \parallel^2 + 2y_i w_{t_1}^T x_i + \parallel y_ix_i \parallel^2 \\
& \leq \parallel w_{t-1} \parallel^2 + \parallel x_i \parallel^2 \\
& \leq \parallel w_{t-1} \parallel^2 + \underset {i} {max} \parallel x_i \parallel^2 \\
& \leq \parallel w_{0} \parallel^2 + t \underset {i} {max} \parallel x_i \parallel^2 \\
& = t \underset {i} {max} \parallel x_i \parallel^2
\end{split}
\end{equation}
討論\(w_f\)和\(w_t\)的角度
\begin{equation}
\begin{split}
1 \geq cos \theta = \frac{w_f^T w_t}{\parallel w_f \parallel \parallel w_t \parallel} &
\geq \frac{t \underset {i} {min} (y_i w_f^T x_i)}{\parallel w_f \parallel \sqrt{t \underset {i} {max} \parallel x_i \parallel^2}} \\
& = \frac{\sqrt{t} \underset {i} {min} (y_i w_f^T x_i)}{\parallel w_f \parallel \sqrt{\underset {i} {max} \parallel x_i \parallel^2}}
\end{split}
\end{equation}
化解獲得t的關係式
其中,$$R^2 = \underset {i} {max} \parallel x_i \parallel^2, \rho = \frac{\underset {i} {min} (y_i w_f^T x_i)}{\parallel w_f \parallel}$$
由上述不等式說明了,更新次數是有上限的,這也就證實了收斂性
從感知機的分類原理中,能夠看出知足條件的超平面並不止一個,不一樣的超平面依賴於參數的初始值。也就是說感知機模型能夠有多個解。
固然,感知機也是神經網絡的重要基礎,所以也能夠從神經網絡的角度來講明