感知机模型

本文详细介绍了感知机模型,包括如何在特征空间寻找分离超平面,损失函数的定义及其与误分类点的距离关系。讲解了随机梯度下降法(SGD)在优化权重和偏置上的应用,以及对偶形式的感知机模型及其在降低运算复杂度方面的优势。

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

感知机

感知机模型

分离超平面

输入空间(特征空间)为 x ⊆ R n x\subseteq R^n xRn,输出空间为 y = { + 1 , − 1 } y=\{+1, -1\} y={+1,1},从输入空间到输出空间的函数为
f ( x ) = s i g n ( w ⋅ x + b ) (1) f(x)=sign(w·x+b) \tag 1 f(x)=sign(wx+b)(1)
其中 w ∈ R n w\in R^n wRn,叫做权值向量; b ∈ R b\in R bR叫做偏置(注意不是 R n R^n Rn);sing是符号函数,即
s i n g ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 (2) sing(x)=\left\{\begin{array}{ll} +1, & x\ge 0 \\ -1, & x<0 \end{array}\right. \tag 2 sing(x)={+1,1,x0x<0(2)
感知机模型需要在特征空间 R n R^n Rn中找到一个分离超平面S将特征空间划分为两部分,位于这两部分的点也就被分为了正负两大类。该分离超平面S的线性方程为
w ⋅ x + b = 0 (3) w·x+b=0 \tag 3 wx+b=0(3)
其中w是超平面的法向量;b是超平面的截距

损失函数

要将若干点 x i ∈ x ⊆ R n x_i\in x \subseteq R^n xixRn正确划分到正负两大类中,就需要找到一个分离超平面对任意实例i都遵从下式
{ w ⋅ x i + b > 0 , y i = + 1 w ⋅ x i + b < 0 , y i = − 1 (4) \left\{\begin{array}{ll} w·x_i+b>0, & y_i=+1 \\ w·x_i+b<0, & y_i=-1 \end{array}\right. \tag 4 {wxi+b>0,wxi+b<0,yi=+1yi=1(4)
若有实例点不遵从(4),则是误分类数据,对于误分类数据 ( x i , y i ) (x_i,y_i) (xi,yi)来说
{ y i = − 1 , w ⋅ x i + b > 0 y i = + 1 , w ⋅ x i + b < 0 (5) \left\{\begin{array}{ll} y_i=-1, & w·x_i+b>0 \\ y_i=+1, & w·x_i+b<0 \end{array}\right. \tag 5 {yi=1,yi=+1,wxi+b>0wxi+b<0(5)
由(5)可得
− y i ( w ⋅ x i + b ) > 0 (6) -y_i(w·x_i+b)>0 \tag 6 yi(wxi+b)>0(6)
误分类点到分离超平面S的距离可以衡量S选择的优劣程度,因此损失函数将与误分类点到分离超平面的距离相关

输入空间 R n R^n Rn中任一点 x 0 x_0 x0到超平面的距离公式为
d = ∣ w ⋅ x 0 + b ∣ ∣ ∣ w ∣ ∣ 2 (7) d=\frac{|w·x_0+b|}{||w||_2} \tag 7 d=w2wx0+b(7)
其中 ∣ ∣ w ∣ ∣ 2 ||w||_2 w2是w的L2​范数

设误分类集合为M,结合(6)可知,所有误分类点到超平面的总距离为
D = − 1 ∣ ∣ w ∣ ∣ 2 ∑ x i ∈ M y i ( w ⋅ x i + b ) (8) D=-\frac{1}{||w||_2}\sum_{x_i\in M} y_i(w·x_i+b) \tag 8 D=w21xiMyi(wxi+b)(8)
其中 y i ∈ { − 1 , + 1 } , D > 0 y_i\in \{-1,+1\},D>0 yi{1,+1}D>0

忽略常数 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} w21,可得感知机学习的损失函数
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (9) L(w,b)=-\sum_{x_i\in M} y_i(w·x_i+b) \tag 9 L(w,b)=xiMyi(wxi+b)(9)

原始形式

由损失函数可得损失函数的梯度 ∇ L ( w , b ) \nabla L(w,b) L(w,b),对w与b分别求偏导数可得
∇ w L ( w , b ) = − ∑ x i ∈ M y i x i ∇ b L ( w , b ) = − ∑ x i ∈ M y i (10) \nabla_w L(w,b)=-\sum_{x_i\in M} y_ix_i \\ \nabla_b L(w,b)=-\sum_{x_i\in M} y_i \tag{10} wL(w,b)=xiMyixibL(w,b)=xiMyi(10)
梯度代表函数在该点 ( x i , y i ) (x_i, y_i) (xi,yi)沿着该方向(梯度是向量)是变化最快、变化率最大的。因此梯度的负方向是局部下降最快的方向,为了优化分离超平面最小化损失函数,就需要对各个参数加上其梯度的负方向值。此处我们采用随机梯度下降法优化参数。

关于BGD、SGD、MBGD

随机梯度下降法即每次仅选取一个点进行迭代,此时 ∣ M ∣ = 1 |M|=1 M=1,由(10)可得此时损失函数的梯度为
∇ w L S G B ( w , b ) = − y i x i ∇ b L S G B ( w , b ) = − y i (11) \nabla_w L_{SGB}(w,b)=-y_ix_i \\ \nabla_b L_{SGB}(w,b)=-y_i \tag{11} wLSGB(w,b)=yixibLSGB(w,b)=yi(11)
更新后的w,b为
w ← w + η y i x i b ← b + η y i (12) w\gets w+\eta y_ix_i \\ b\gets b+\eta y_i \tag{12} ww+ηyixibb+ηyi(12)
其中 η ( 0 < η ≤ 1 ) \eta(0<\eta \leq1) η(0<η1)是步长(学习率),它控制函数拟合(收敛)的速度。若 η \eta η太小,收敛就会很慢;若 η \eta η太大,容易在最低点方向震荡,进入死循环。

通过迭代可以期待损失函数不断减小直至为零,此时即可得到分离超平面 w ⋅ x + b = 0 w·x+b=0 wx+b=0

对偶形式

每一个线性规划问题的原始形式皆有一个与之对称并可相互转换的对偶形式,因此原始形式与对偶形式的解是对应的,得到一个形式的解即是得到另一个形式的解。

我们在一次迭代时遍历所有的样本点,并累计每个点的误分类次数n。即点 x i x_i xi在一次迭代时被误分类了,那么 n i n_i ni则加一。值得一提的是, n i n_i ni更大的点表明该点更经常被误分类,很明显,离分离超平面越近的点越容易被误分。

依据(12)当初始化 w 0 = 0 , b 0 = 0 w_0=0,b_0=0 w0=0,b0=0时,经过若干次迭代可得参数值
w = ∑ i = 1 N n i η x i y i b = ∑ i = 1 N n i η y i (13) w=\sum_{i=1}^{N} n_i\eta x_iy_i \\ b=\sum_{i=1}^{N} n_i\eta y_i \tag{13} w=i=1Nniηxiyib=i=1Nniηyi(13)
其中N为所有样本点的总数

α = n i η \alpha =n_i\eta α=niη,将(13)代入(1)可得对偶形式的感知机模型
f ( x ) = s i g n ( ∑ i = 1 N α x i y i ⋅ x + ∑ i = 1 N α y i ) (14) f(x)=sign(\sum_{i=1}^{N} \alpha x_iy_i·x+\sum_{i=1}^{N} \alpha y_i) \tag {14} f(x)=sign(i=1Nαxiyix+i=1Nαyi)(14)
与原始形式一样我们采用随机梯度下降法优化参数

α = n i η \alpha =n_i\eta α=niη,将(13)代入(6)可得对偶形式的误分类点 ( x i , y i ) (x_i,y_i) (xi,yi)的判别式
− y i ( ∑ k = 1 N α k x k y k ⋅ x i + ∑ k = 1 N α k y k ) > 0 (15) -y_i(\sum_{k=1}^{N} \alpha_kx_ky_k·x_i+\sum_{k=1}^{N} \alpha_k y_k)>0 \tag {15} yi(k=1Nαkxkykxi+k=1Nαkyk)>0(15)
其中N为所有样本点的总数,k的作用是遍历样本点计算w与b

当随机找到的一个点 ( x i , y i ) (x_i,y_i) (xi,yi)属于误分类点符合(15)时,需要更新参数 α i \alpha_i αi
∵ α i = n i η ∴ α i ← η ( n i + 1 ) α i ← α i + η (16) \begin{array}{ll} & \because & \alpha_i& =n_i\eta \\ &\therefore & \alpha_i & \gets \eta(n_i+1) \\ & & \alpha_i & \gets \alpha_i +\eta \end{array} \tag{16} αiαiαi=niηη(ni+1)αi+η(16)
与原始形式一样,通过迭代可以期待损失函数不断减小直至为零,此时即可得到分离超平面 w ⋅ x + b = 0 w·x+b=0 wx+b=0

之所以使用对偶形式,是因为在原始形式的判别式(6)中主要的运算量来自于 w ⋅ x i w·x_i wxi,而对偶形式的判别式(15)主要的运算量来自于 x i ⋅ x k x_i·x_k xixk。其中 x i ⋅ x k x_i·x_k xixk可以通过预先计算的Gram矩阵快速获取。Gram矩阵是所有输入实例两两之间的内积 G = [ x i x k ] N × N G=[x_ix_k]_{N\times N} G=[xixk]N×N

对偶形式并不是任何情况都能降低运算量,只有在特征空间的纬度远大于数据集时才能降低运算量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值