感知机和多层感知机详细学习

感知机和多层感知机详细学习,第1张

1. 感知机的前向推理?

  • 感知机其实就是类似神经网络的一个神经元
  • w0相当于bias,也就是偏置
  • w1-wn是权重
  • step fuction是sign

前向推理的公式

2. 感知机的loss function是什么?


loss function即目标函数,模型所要去干的事情就是我们所定义的目标函数

这里采用各个误分类点与超平面的距离来定义。


图中(目前以输入为2维(x为x1和x2)情况下举例)w为超平面的法向量,与法向量夹角为锐角即为+1的分类,与法向量夹角为钝角为-1的分类

具体公式:

其中 M为一个集和,包含所有的误分类点。


解释一下公式,首先,损失函数是是去判断误分类点到平面的距离的,但是这个正确的分类点的话, y i ∗ ( w x i + b ) y_i*(wx_i+b) yi(wxi+b)是大于零的(正确:y=1,wx+b>0;y=0,wx+b<0),但如果是错误分类的话, y i ∗ ( w x i + b ) y_i*(wx_i+b) yi(wxi+b)是小于零的,于是计算距离损失的时候需要增加一个负号 − -


3. 权重是如何更新的?

梯度下降法
利用不断地更新可学习参数,使loss function尽可能的小。


简单来说,就是用loss对你所要更新的权重做一阶导数,得到梯度,在这里我们要更新的权重(也就是我们模型所要学习的部分)是w和b,对它俩做一阶导数。



接下来就是更新w和b,利用学习率*一阶导数与目前的w和b进行相加。


而感知机并非用所有的误分类点,每一次去做更新,而是碰到一个误分类点就做一次更新,使用的梯度下降法实则是随机梯度下降法,所以更新的公式需要把累加去掉。



4. 整体过程
  1. 初始化w和b,其实就是初始一个超平面
  2. 随机选取一个点(x, y) ,如果满足y(wx+b)<0说明是误分类点(因为如果wx+b>0,y=+1,所以分类正确情况两者相乘>0, 反之),开始第3步
  3. 更新权重w和b
  4. 之后回到第2步继续训练,直到训练集中没有误分类点


如果还没有学习感知机的同学,移步到感知机哦
机器学习之感知机学习内容详解

1. 二者的区别(感知机和深度神经网络)

感知机

  1. 多个输入、一个输出
  2. 由于激活函数是sign函数,所以只能是二分类问题。



深度神经网络

  1. 多个输入、多个输出
  2. 不止用于分类问题,还可以用在回归、聚类等
  3. 加入隐藏层,隐藏层可以多个也可以一个(深度神经网络结构=输入层+有隐藏层+输出层)
  4. 隐藏层中的每一个神经元实则就是一个感知机,所以深度神经网络也被称为多层感知机
  5. 激活函数不再是sign,而是sigmoid,后面还出现tanh、relu或者softmax等激活函数.

Reference

https://www.zybuluo.com/hanbingtao/note/433855
https://blog.csdn.net/m0_37957160/article/details/113922919
https://www.zhihu.com/search?type=content&q=%E6%84%9F%E7%9F%A5%E6%9C%BA
https://zhuanlan.zhihu.com/p/72040253

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/567786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存