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

感知机和多层感知机详细学习1 感知机的前向推理 感知机其实就是类似神经网络的一个神经元 w0 相当于 bias 也就是偏置 w1 wn 是权重 stepfuction 是 sign 前向推理的公式 2 感知机的 lossfunction 是什么 lossfunction 即目标函数 模型所要去干的事情就是我们所定义的目标函数这里采用各个误分类点与超平面的距离来定义 图中 目前以输入为 2 维 x 为 x1 和 x2 情况下举例 w 为超平面的法向量 与法向量夹角为锐角即为 1 的分类 与法向量夹角为钝角为 1 的分类具体公式 其

在这里插入图片描述

1. 感知机的前向推理?

在这里插入图片描述

  • 感知机其实就是类似神经网络的一个神经元
  • w0相当于bias,也就是偏置
  • w1-wn是权重
  • step fuction是sign
    在这里插入图片描述

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

在这里插入图片描述
loss function即目标函数,模型所要去干的事情就是我们所定义的目标函数

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

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

解释一下公式,首先,损失函数是是去判断误分类点到平面的距离的,但是这个正确的分类点的话, 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对你所要更新的权重做一阶导数,得到梯度,在这里我们要更新的权重(也就是我们模型所要学习的部分)是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://javaforall.net/176792.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午9:02
下一篇 2026年3月26日 下午9:02


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号