感知机(perceptron)学习——学习笔记

本文介绍了感知机这一基本的二分类线性模型的工作原理及其学习算法。通过定义损失函数来衡量分类错误,并使用梯度下降法进行优化,最终得到能够正确分类数据的超平面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、感知机
\quad感知机是二分类线性分类模型,输入为实例的特征向量,输出为+1,或者-1.由输入到输出函数为f(x) = sign(w*x+b),w为权值(weight),b叫做偏置(bias)。sign为符号函数。(w是超平面的法向量,b是超平面的截距)。

\quad感知机是通过确定一个超平面来将样本分成两类,也就是说我们通过不断调整w和b来确定这个超平面,直到找到这个超平面为止。简单来说,把他想成二维空间,就是平面上有一些点,这些点一类是+1,一类是-1,我们的目的就是找到一条直线可以将这二类点分开,这条直线的函数解析式w*x+b。我们通过调整斜率w和截距b来调整直线,直到其可以分成二类的点。

\quad我们这里定义一个损失函数,就是衡量分类错误的多少的一个函数(我自己理解的)。那我们就是要使这个损失函数尽量小。

\quad损失函数的自然选择是误分类点的总数,但是这样的损失函数不是参数w,b的可导函数,不容易优化。

\quadx0x_0x0,y0y_0y0)到直线Ax+By+C = 0的距离为:
d=∣Ax+By+C∣A2+B2 d =\dfrac{|Ax+By+C|}{\sqrt{A^2+B^2}}d=A2+B2Ax+By+C

\quad所以我们来计算x0x_0x0到平面S的距离:
1∣∣w∣∣∣w∗x0+b∣ \dfrac{1}{||w||}|w*x_0+b|w1wx0+b
\quad||w||是w的L2范数,∣∣w∣∣=w2||w|| = \sqrt{w^2}w=w2

\quad而对于误分类的数据(xi,yix_i,y_ixi,yi)来说,yi∗(w∗xi+b)>0y_i*(w*x_i+b)>0yi(wxi+b)>0,所以误分类点xix_ixi到S的距离为:
−1∣∣w∣∣∗yi∣w∗xi+b∣ -\dfrac{1}{||w||}*y_i|w*x_i+b|w1yiwxi+b

\quad所以误分类点到S的总距离为(误分类的距离为M):

−1∣∣w∣∣∑xi∈Myi∣w∗xi+b∣ -\dfrac{1}{||w||}\sum_{x_i\in M}y_i|w*x_i+b|w1xiMyiwxi+b
\quad 不考虑1∣∣w∣∣\frac{1}{||w||}w1,就是感知机学习的损失函数。
\quad所以感知机sign(w*x+b)学习的损失函数为:
L(w,b)=−1∣∣w∣∣∑xi∈Myi∣w∗xi+b∣L(w,b) = -\dfrac{1}{||w||}\sum_{x_i\in M}y_i|w*x_i+b|L(w,b)=w1xiMyiwxi+b
\quad我们通过对这个损失函数进行梯度下降算法,即:
minw,bL(w,b)=−1∣∣w∣∣∑xi∈Myi∣w∗xi+b∣min _{w,b} \quad L(w,b) = -\dfrac{1}{||w||}\sum_{x_i\in M}y_i|w*x_i+b|minw,bL(w,b)=w1xiMyiwxi+b
\quad对这个损失函数分别对w和b求导,得到梯度,w的梯度为-yixiy_ix_iyixi,b的梯度−yi-y_iyi,所以更新公式为:
w←w+ηyixiw\leftarrow w + \eta y_ix_iww+ηyixi b←b+ηyib\leftarrow b + \eta y_ibb+ηyi
\quad η\etaη是步长,也称为学习率。然后不断更新直到符合某个停止条件,得到这个感知机模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值