感知机公式详细推导

1. 感知机模型

假设 x x x 表示 n n n 维的向量, x x x 待划分的类别 y ∈ { + 1 , − 1 } y \in \{+1,-1 \} y{+1,1} ,则感知机可以表示为如下函数: f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)其中 w , b w,b w,b 称之为感知机模型参数, w w w 成为权值向量,其维度与 x x x ,即输入向量的维度相同, b b b 称为偏置, s i g n sign sign 函数为符号函数,表示如下: s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 sign(x)=\left\{ \begin{aligned} +1 & , x \geq 0 \\ -1& , x < 0 \end{aligned} \right. sign(x)={+11,x0,x<0须知,感知机划分的平面不一定是二维的,划分的平面是几维取决于输入数据的维度。

2. 感知机损失函数

损失函数度量着我们对训练集划分准确性,在感知机模型中,很自然的一个是使用误分类点的个数来作为损失函数,但是,这样的函数并不是参数 w , b w,b w,b 的可导函数,即使知道了误分类的点的个数,也不能使用更有效的方法来改进参数使得划分更加正确,故我们选取各点到所划分的平面的距离作为损失函数,这样就能够使用最小二乘法或者随机梯度下降法来对参数进行优化,使划分一步步优化。

输入空间任一点 x 0 x_0 x0 到划分的平面 w x + b = 0 wx+b=0 wx+b=0 的距离如下: s = 1 ∥ w ∥ ∣ w ⋅ x 0 + b ∣ s=\frac{1}{\Vert w \Vert} \vert w \cdot x_0 +b \vert s=w1wx0+b对于误分类的点来说,其一定满足
− y i ( w ⋅ x i + b ) > 0 -y_i(w \cdot x_i+b)>0 yi(wxi+b)>0又因为 y i ∈ { + 1 , − 1 } y_i \in \{+1,-1\} yi{+1,1},所以,误分类点到平面的距离为
− 1 ∥ w ∥ y i ( w ⋅ x 0 + b ) -\frac{1}{\Vert w \Vert}y_i ( w \cdot x_0 +b ) w1yi(wx0+b) ∥ w ∥ {\Vert w \Vert} w 是个常数,在优化时可以不考虑,这样,将所有误分类点到平面的距离加起来,就得到了感知机的损失函数:
L ( w , b ) = − ∑ i = 1 N y i ( w ⋅ x 0 + b ) L(w,b)=-\sum_{i=1}^N y_i ( w \cdot x_0 +b ) L(w,b)=i=1Nyi(wx0+b)

3. 感知机学习算法

对于一个数据集 X = { x 1 , x 2 , ⋯   , x n } X=\{x_1,x_2, \cdots,x_n \} X={x1,x2,,xn},求其感知机模型就相当于将其损失函数最小化即可,故感知机模型的求解就变为了参数估计问题
m i n w , b L ( w , b ) = − ∑ i = 1 N y i ( w ⋅ x 0 + b ) \mathop{min}\limits_{w,b}L(w,b)=-\sum_{i=1}^N y_i ( w \cdot x_0 +b ) w,bminL(w,b)=i=1Nyi(wx0+b)解决该参数估计问题即可用最小二乘法,也可用随机梯度下降法,最小二乘法解方程太过麻烦,所以我在这介绍随机梯度下降法求解模型参数。

首先求 w , b w,b w,b 两个参数的梯度,即其导数,求得如下:
∇ w L ( w , b ) = − ∑ x i ∈ X y i x i ∇ b L ( w , b ) = − ∑ x i ∈ X y i \begin{align} \nabla_wL(w,b) &= -\sum_{x_i \in X}y_ix_i \notag \\ \nabla_bL(w,b) &= -\sum_{x_i \in X}y_i \notag \end{align} wL(w,b)bL(w,b)=xiXyixi=xiXyi随机选取一个误分类点,确定一个学习率 η \eta η ,对 w , b w,b w,b进行相反方向的梯度更新:
w ← w + η y i x i b ← b + η y i \begin{align} w & \leftarrow w + \eta y_i x_i \notag \\ b & \leftarrow b+ \eta y_i \notag \end{align} wbw+ηyixib+ηyi通过这样不断的迭代,最终能够将线性可分的数据集的损失函数逐渐减小, 直至为 0 0 0

具体例子在这里截取李航老师的《统计学习方法》来做理解:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值