码迷,mamicode.com
首页 > 编程语言 > 详细

机器学习算法一:感知器学习

时间:2018-01-31 18:32:25      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:triangle   big   center   tar   mat   nbsp   row   梯度下降   感知器   

问题描述:

  给定线性可分数据集: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)

  

机器学习算法一:感知器学习

标签:triangle   big   center   tar   mat   nbsp   row   梯度下降   感知器   

原文地址:https://www.cnblogs.com/hypnus-ly/p/8392980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!