【机器学习】感知机模型的原始形式和对偶形式

文章介绍了感知机模型,作为线性分类器的基础,其几何解释涉及超平面和误分类点。感知机学习算法采用随机梯度下降法,通过迭代更新权重w和截距b,以最小化损失函数。原始形式的学习算法是误分类驱动的,而对偶形式则简化了参数,将权重表示为实例和标记的线性组合。

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

一、感知机模型

感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型或线性分类器,即函数集合 { f ∣ f ( x ) = w ⋅ x + b } \{f|f(x)=w\cdot x+b\} {ff(x)=wx+b}

感知机有如下几何解释:线性方程
w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0
对应于特征空间 R n R^n Rn中的一个超平面 S S S,其中 w w w是超平面的法向量, b b b是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)分别被分为正、负两类。因此,超平面 S S S称为分离超平面。

对于误分类的数据 ( x i , y i ) (x_i,y_i) (xi,yi)来说,
− y i ( w ⋅ x i + b ) > 0 -y_i(w\cdot x_i+b)>0 yi(wxi+b)>0
成立。因为当 w ⋅ x i + b > 0 w\cdot x_i+b>0 wxi+b>0时, y i = − 1 y_i=-1 yi=1;而当 w ⋅ x i + b < 0 w\cdot x_i+b<0 wxi+b<0时, y i = + 1 y_i=+1 yi=+1。因此,误分类点 x i x_i xi到超平面 S S S的距离是
− 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) -\frac{1}{||w||}y_i(w\cdot x_i+b) ∣∣w∣∣1yi(wxi+b)
这样,假设超平面 S S S的误分类点集合为 M M M,那么所有误分类点到超平面 S S S的总距离为
− 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{||w||}\sum_{x_i\in M}y_i(w\cdot x_i+b) ∣∣w∣∣1xiMyi(wxi+b)
不考虑 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣w∣∣1,就得到感知机学习的损失函数。

损失函数定义为
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) L(w,b)=xiMyi(wxi+b)

二、感知机学习算法的梯度下降

感知机学习算法是对以下最优化问题的算法。

给定一个训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}
其中, x i ∈ χ = R n x_i\in \chi =R^n xiχ=Rn y i ∈ { − 1 , + 1 } y_i\in \{-1,+1\} yi{1,+1} i = 1 , 2 , ⋯   , N i=1,2,\cdots,N i=1,2,,N,求参数 w w w b b b,使其为以下损失函数极小化问题的解
m i n w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) minw,bL(w,b)=xiMyi(wxi+b)
其中 M M M为误分类点的集合。

感知机学习算法是误分类驱动的,具体采用随机梯度下降法。

首先,任意选取一个超平面 w 0 w_0 w0 b 0 b_0 b0,然后用随机梯度下降法不断地极小化目标函数。极小化过程中不是一次使 M M M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。

这个有一个易混淆的点:

  • 梯度下降:一次将误分类集合中所有误分类点的梯度下降
  • 随机梯度下降:随机选取一个误分类点使其梯度下降

损失函数 L ( w , b ) L(w,b) L(w,b)的梯度为
∇ w L ( w , b ) = − ∑ x i ∈ M y i x i \nabla_{w}L(w,b)=-\sum_{x_i\in M}y_ix_i wL(w,b)=xiMyixi
∇ b L ( w , b ) = − ∑ x i ∈ M y i \nabla_{b}L(w,b)=-\sum_{x_i\in M}y_i bL(w,b)=xiMyi
随机选取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi),对 w w w b b b进行更新
w ← w + η y i x i w\leftarrow w+\eta y_ix_i ww+ηyixi
b ← b + η y i b\leftarrow b+\eta y_i bb+ηyi
上式中, η \eta η 0 < η < = 1 0<\eta <=1 0<η<=1)是步长,又称为学习率。

三、感知机学习算法的原始形式

输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}

输出: w w w b b b,感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x+b) f(x)=sign(wx+b)

(1)选取初值 w 0 w_0 w0 b 0 b_0 b0

(2)在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)

(3)如果 y i ( w ⋅ x i + b ) ⩽ 0 y_i(w\cdot x_i+b)\leqslant 0 yi(wxi+b)0
w ← w + η y i x i w\leftarrow w+\eta y_ix_i ww+ηyixi
b ← b + η y i b\leftarrow b+\eta y_i bb+ηyi
(4)转至(2),直至训练集中没有误分类点。

这种学习算法直观上的解释:当有一个实例点被误分类,即位于分离超平面的错误一侧时,则调整 w w w b b b的值,使分离超平面向该错误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分类。

四、感知机学习算法的对偶形式

w w w b b b每次在感知到误判的时候更好的迭代思路是
w ← w + η y i x i w\leftarrow w+\eta y_ix_i ww+ηyixi
b ← b + η y i b\leftarrow b+\eta y_i bb+ηyi
想办法简化一下参数的数量,所以令 α i = η n i \alpha_i=\eta n_i αi=ηni;如果给定一个默认参数 w 0 = 0 w_0=0 w0=0开始
w 1 = w 0 + η n 1 y 1 x 1 = 0 + η n 1 y 1 x 1 = α 1 y 1 x 1 w_1=w_0+\eta n_1y_1x_1=0+\eta n_1y_1x_1=\alpha_1y_1x_1 w1=w0+ηn1y1x1=0+ηn1y1x1=α1y1x1
w 2 = w 1 + η n 2 y 2 x 2 = α 1 y 1 x 1 + η n 2 y 2 x 2 = α 1 y 1 x 1 + α 2 y 2 x 2 w_2=w_1+\eta n_2y_2x_2=\alpha_1y_1x_1+\eta n_2y_2x_2=\alpha_1y_1x_1+\alpha_2y_2x_2 w2=w1+ηn2y2x2=α1y1x1+ηn2y2x2=α1y1x1+α2y2x2
以此类推,可得到
w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^N\alpha_iy_ix_i w=i=1Nαiyixi
α i \alpha_i αi可迭代,设初始值为 α i = 0 \alpha_i=0 αi=0 α i = η n i \alpha_i=\eta n_i αi=ηni

对偶形式的基本想法是,将 w w w b b b表示为实例 x i x_i xi和标记 y i y_i yi的线性组合的形式,通过求解其系数而求得 w w w b b b

每迭代一次之后 α i \alpha_i αi的变动为 α i ← η ( n i + 1 ) \alpha_i\leftarrow \eta(n_i+1) αiη(ni+1),即 α i ← η ( n i + 1 ) = η n i + η = α i + η \alpha_i\leftarrow \eta(n_i+1)=\eta n_i+\eta=\alpha_i+\eta αiη(ni+1)=ηni+η=αi+η

所以,我们的对偶问题为
α i ← α i + η \alpha_i\leftarrow \alpha_i+\eta αiαi+η
b ← b + η y i b\leftarrow b+\eta y_i bb+ηyi
b b b与原始一样,只是将对 w w w的迭代,转化成了对 α \alpha α的迭代,因为 α \alpha α要简单的多,不需要考虑 y i x i y_ix_i yixi,迭代完成求出所有的 α \alpha α即可求出 w w w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅途中的宽~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值