機器學習算法一:感知器學習
問題描述:
給定線性可分數據集: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)
機器學習算法一:感知器學習