感知機

  • 感知機屬於判別模型算法

  • 感知機是二類分類的線性分類模型,其輸入爲實例的特徵向量,輸出爲實例的類別,取+1和-1兩個值。函數

感知機模型

  • 感知機
    假設輸入空間是\(X \subseteq R^n\),輸出空間是\(y=\{ +1, -1\}\)
    輸入空間到輸出空間的以下函數稱爲感知機。
    \[f(x) = sign(w \cdot x + b)\]
    其中,w和b爲感知機模型參數,\(w \subseteq R^n\)爲權值,\(b \subseteq R^n\)爲偏置。sign是函數符號,即
    \[sign(x) = \left\{\begin{matrix} +1, x \geq 0 \\ -1, x < 0 \end{matrix}\right. \]學習

  • 幾何解釋
    線性方程\(w \cdot x + b =0\)對應於特徵空間\(R^n\)中的一個超平面S,其中w是超平面的法向量,b是超平面的截距。這個超平面將特徵空間劃分爲兩部分。位於兩部分中的點分別被氛圍正、負兩類。所以,超平面S稱爲分離超平面。spa

  • 感知機學習,經過訓練數據集求的感知機模型中w和b。經過感知機模型來對新輸入的實例進行類別預測。class


感知機學習策略

  • 數據集的先行可分性:存在某個超平面S能夠將數據集中的正、負實例徹底的劃分到超平面的兩側,則稱爲訓練數據集可分。

感知機學習策略

  • 假設訓練數據集可分,感知機學習旨在肯定感知機模型中的w和b參數。須要一個學習策略,即定義損失函數,並將損失函數最小化。經驗

  • 損失函數的推導
    輸入空間中任意一點\(x_0\)到分離超平面S的距離爲(\(||w||\)是w的二範數):
    \[\frac {1} {||w||} |w \cdot x_0 + b|\]
    對於誤分類數據\((x_i, y_i)\)來講,\(-y_i (w \cdot x_i + b) > 0\)成立。 所以,誤分類點到超平面的距離是:
    \[-\frac {1} {||w||} y_i (w \cdot x_i + b)\]
    則,全部誤分類點到分離超平面的距離總和爲
    \[-\frac {1} {||w||} \sum _{x_i \in M} y_i (w \cdot x_i + b)\]
    不考慮\(-\frac {1} {||w||}\),後面的就是感知機學習的損失函數。數據

  • 感知機損失函數
    給定訓練集
    \[T = \{ (x_1, y_1), ..., (x_N, y_N) \}\]
    以及類別集合
    \[y = \{-1, +1\}\]
    感知機學習的損失函數定義爲
    \[L(w, b) = -\sum _{x_i \in M} y_i (w \cdot x_i + b)\]
    其中,M爲誤分類點的集合。這個損失函數就是感知機學習的經驗風險函數。集合


感知機學習算法

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

  • 訓練問題轉化爲損失函數極小化問題:\(min_{w,b} L(w, b)\)di

  • 梯度降低法(gradient descent):首先任意選擇一個超平面\(w_0,b_0\),而後用梯度降低發不斷的極小化目標函數(損失函數)。極小化過程當中不是一次使用M中全部的誤分類點的梯度降低,而是一次隨機選擇一個誤分類點使其梯度降低。vi

  • 感知機學習算法的原始形式
    輸入:訓練數據集T;學習速率\(\eta, 0<\eta \leq 1\)
    輸出:w, b;感知機模型\(f(x) = w \cdot x + b\)
  1. 選擇初始值\(w_0, b_0\)
  2. 在訓練集中選擇數據\((x_i, y_i)\)
  3. 若是\(y_i(w \cdot x_i + b) \leq 0\)
    \[w \Leftarrow w + \eta y_i x_i\] \[b \Leftarrow b + \eta y_i\]
  4. 轉至(2),直到訓練集中沒有誤分類點。
  • 感知機因爲採用不一樣的初值或選擇不一樣的誤分類點,解能夠不一樣。

感知機算法的收斂性

  • 根據Novikoff定理,若是訓練數據集T是線性可分的,則存在分離超平面\(\hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b_{opt} = 0\)將訓練數據集徹底正確分開。

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

  • 對偶形式的基本思想是,將w和b表示爲實例\(x_i\)和標記\(y_i\)的線性組合的形式,經過求解其參數而求的w和b。假設初始值\(w_0, b_0\)均爲0。對於誤分類點\((x_i, y_i)\)經過
    \[w \Leftarrow w + \eta y_i x_i\] \[b \Leftarrow b + \eta y_i\]
    逐步修改w,b。假設修改n次,則w,b關於\((x_i, y_i)\)的增量分別爲\(\alpha_i y_i x_i\)\(\alpha_i y_i\),其中\(\alpha_i = n_i \eta\)。由此得出最後學習到的w,b能夠標識爲:
    \[w = \sum _{i=1}^{N} \alpha_i y_i x_i\] \[b = \sum _{i=1}^{N} \alpha_i y_i\]

  • 感知機學習算法的對偶形式
    輸入:線性可分的數據集T,\(y\),學習速率\(\eta\)
    輸出:a,b;感知機模型\(f(x) = sign( \sum _{j=1}^{N} \alpha_j y_j x_j \cdot x + b)\),其中\(\alpha = (\alpha_1, ..., \alpha_N)^T\)
  1. \(a=0, b=0\)
  2. 在訓練集中選擇數據\((x_i, y_i)\)
  3. 若是\(y_i (\sum _{j=1}^{N} \alpha_j y_j x_j \cdot x_i + b) \leq 0\)
    \[\alpha_i = \alpha_i + \eta\] \[b= b + \eta y_i\]
  4. 轉至(2),直到沒有誤分類數據爲止
相關文章
相關標籤/搜索