(八)神经网络之感知机

2018-07-24  本文已影响0人  躺在稻田里的小白菜

一. 什么是感知机

1. 理解感知机

感知机(Perceptron)算法是一种很好的二分类算法,它前提要求样本是线性可分的模型。感知机的原理很简单,假如样本中有2个类别,感知机尝试找到一条直线(空间中就是超平面),将样本划分成2类。如果找不到这样的直线(超平面)呢?那就说明样本线性不可分,不可以使用感知机分类。

2. 感知机与神经网络

感知机是一种最简单的前馈神经网络,它仅有2层神经元,包括1个输入层和一个输出层。


既然感知机是前馈网络,那它的学习过程也是遵循向前传播算法的。神经元将输入和偏执单元线性组合,然后代入激活函数,最后得到输出结果。
这里感知机的激活函数选取的是阈值函数,所以感知机的输出神经元也称为阈值神经元(M-P神经元):
3. 感知机与逻辑回归

1.相同点:

2.不同点:

二. 感知机学习过程

1.代价函数

上面我们已经基本了解了感知机的概念与使用前提。那么感知机是如何找到最优解的呢?按照机器学习的惯例,我们要开始构造代价函数了。我们可以考虑让误分类的点到超平面的距离来表示代价函数,若所有误分类的点到超平面距离最小,则代价最小。
我们假设输入的线性组合是

那么某点Xi到超平面的距离就是 如果样本标记是y,那么利用y去掉绝对值(因为结果只能是0/1) 因为我们只想知道L最小时的参数,而并不是要求最小距离和,所以我们可以忽略分母,得到代价函数
得到代价函数后,我们可以使用梯度下降法,不断更新θ,直到L收敛。
对L求导
这里需要注意一下,因为此处是针对误分集的样本做代价函数,而并不是所有的样本,所以不可以采用批量梯度下降(BSD),感知机一般采用随机梯度下降法,即只选用一个误分集中的样本更新参数。
2. 总结一下感知机
  1. 选定一组合适的权值θ

  2. 将样本带入感知机,观察是否有误分点,如果没有结束算法,如果有进入第3步

  3. 利用误分点更新所有参数


  4. 转入第2步,直到没有误分点。

上一篇 下一篇

猜你喜欢

热点阅读