- 感知机其实就是类似神经网络的一个神经元
- w0相当于bias,也就是偏置
- w1-wn是权重
- step fuction是sign
前向推理的公式
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)是小于零的,于是计算距离损失的时候需要增加一个负号
−
-
−。
梯度下降法
利用不断地更新可学习参数,使loss function尽可能的小。
简单来说,就是用loss对你所要更新的权重做一阶导数,得到梯度,在这里我们要更新的权重(也就是我们模型所要学习的部分)是w和b,对它俩做一阶导数。
接下来就是更新w和b,利用学习率*一阶导数与目前的w和b进行相加。
而感知机并非用所有的误分类点,每一次去做更新,而是碰到一个误分类点就做一次更新,使用的梯度下降法实则是随机梯度下降法,所以更新的公式需要把累加去掉。
- 初始化w和b,其实就是初始一个超平面
- 随机选取一个点(x, y) ,如果满足y(wx+b)<0说明是误分类点(因为如果wx+b>0,y=+1,所以分类正确情况两者相乘>0, 反之),开始第3步
- 更新权重w和b
- 之后回到第2步继续训练,直到训练集中没有误分类点
如果还没有学习感知机的同学,移步到感知机哦
机器学习之感知机学习内容详解
感知机
- 多个输入、一个输出
- 由于激活函数是sign函数,所以只能是二分类问题。
深度神经网络
- 多个输入、多个输出
- 不止用于分类问题,还可以用在回归、聚类等
- 加入隐藏层,隐藏层可以多个也可以一个(深度神经网络结构=输入层+有隐藏层+输出层)
- 隐藏层中的每一个神经元实则就是一个感知机,所以深度神经网络也被称为多层感知机
- 激活函数不再是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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)