1. 程式人生 > >機器學習算法一:感知器學習

機器學習算法一:感知器學習

描述 down display 得到 更新 begin 機器 min ria

問題描述:

  給定線性可分數據集:T={(x1,y1),(x2,y2),...,(xN,yN)},存在超平面S:$w\cdot x+b=0$

$ \left\{\begin{matrix} w\cdot x+b>0,y=+1\\ w\cdot x+b<0,y=-1 \end{matrix}\right. $

學習策略:

  定義點x0到超平面S的距離為:

  $\frac{1}{\left \| w \right \|}\left | w \cdot x +b \right |$

  對於誤分類的數據$(x_{i},y_{i})$來說,$-y_{i}(w \cdot x_{i}+b)>0$

  因此誤分類點x_{i}到超平面S的距離時:$-\frac{1}{\left \| w \right \|} y_{i}(w \cdot x_{i}+b)$

  假設超平面S的誤分類點集合為M,那麽所有誤分類點到超平面S的總距離為:

$- \frac{1}{\left \| w \right \|}\sum_{x_{i}\in M}y_{i}(w \cdot x_{i}+b)$

  不考慮$\frac{1}{\left \| w \right \|}$ ,就得到感知機學習的損失函數。

  定義損失函數為: $L(w,b)=-\sum_{x_{i} \in M}y_{i}(w \cdot x_{i}+b)$,其中M為誤分類點的集合。

  最小化損失函數:$\min_{w,b}L(w,b\displaystyle )=L(w,b)=-\sum_{x_{i} \in M}y_{i}(w \cdot x_{i}+b)$

  使用梯度下降法求解:梯度分別為

  $\bigtriangledown _wL(w,b)=-\sum_{x{i} \in M}y_{i}x_{i}$

  $\bigtriangledown _bL(w,b)=-\sum_{x_{i} \in M}y_{i}$

  隨機選取一個誤分類點$(x_{i},y_{i})$,對w,b進行更新:

  $w\leftarrow w+\eta y_{i}x_{i}$
  $b \leftarrow b+ \eta y_{i}$

  其中$\eta$成為步長,即學習率(learning rate)

  

機器學習算法一:感知器學習