【统计学习方法 • 从无到有系列】— 【二】感知机


🍧 感知机


💡 思维导图

1. 感知机模型

① 概述

🔴 感知机是二类分类的线性分类模型,属于判别模型。其输入为实例的特征变量,输出为实例的类别(仅取 +1 和 -1 两个值)。

感知机预测是用学习得到的感知机模型对新的输入实例进行分类

② 定义

③ 解释

对于线性方程: w ∗ x + b = 0 w*x + b = 0 wx+b=0 ,对应于特征空间中的一个超平面 S,其中 w w w 是超平面的法向量, b b b 是超平面的截距。

这个超平面将特征空间划分成两个部分。位于两部分的点(特征向量)分别称为正实例负实例。因此,超平面 S 称为分离超平面 Separating Hyperplane

💡 点到直线的距离公式

设直线 L 的方程为 A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0,点 P 的坐标为 ( x 0 , y 0 ) (x_0,y_0) x0,y0,则点 P 到直线 L 的距离为:

感知学习的过程即:

由训练数据集 ,其中 求得感知机模型(即求得模型参数 w , b w,b w,b)。对于新的输入实例,由该学习得到的感知机模型给出其对应的输出类别。

2. 感知机学习策略

① 数据集的线性可分性

💡 对于所有 y i = + 1 y_i = +1 yi=+1 的数据点来说, w x i + b > 0 wx_i +b > 0 wxi+b>0 ;对于所有 y i = − 1 y_i = -1 yi=1 的数据点来说, w x i + b < 0 wx_i +b < 0 wxi+b<0 。则称这样的数据集为线性可分数据集

② 损失函数

感知机学习的目标就是求出一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。为了找出这样的超平面,即确定感知机模型参数 w , b w,b w,b,需要确定一个学习策略,即定义损失函数并使得损失函数最小化

感知机所采用的损失函数是误分类点到分类超平面 S 的总距离

输入空间中任意一点 x 0 x_0 x0 到超平面 S 的距离为:

💡 上式中的 ∣ ∣ w ∣ ∣ ||w|| w w w wL2 范数(即向量中个元素的平方和,然后求平方根)。

L1 范数:向量中各个元素绝对值之和

L0 范数:向量中非零元素的个数

对于误分类的数据点 ( x i , y i ) (x_i,y_i) (xi,yi) 来说:

因为当 w x i + b > 0 wx_i +b > 0 wxi+b>0 时,错误分类点的 y i = − 1 y_i = -1 yi=1;当 w x i + b < 0 wx_i +b < 0 wxi+b<0 时,错误分类点的 y i = 1 y_i = 1 yi=1

这样,所有误分类点到超平面 S 的总距离为:

感知机的目标就是求出使得上式取得最小函数值的参数 w , b w,b w,b。显然,对于上 式的最小化问题,可以忽略常数 1 ∣ ∣ w ∣ ∣ \frac1{||w||} w1,这样,⭐ 得出感知机 s i g n ( w x + b ) sign(wx + b) sign(wx+b) 的损失函数 L ( w , b ) L(w,b) L(w,b),其中 M 为误分类点的集合。

显然,如果没有误分类点,损失函数值就是 0。误分类点越少,误分类点离超平面越近,损失函数值就越小。

🚩 感知机学习的策略就是在假设空间中选取使损失函数取得最小值时的模型参数 w , b w,b w,b

③ 感知机学习算法

感知机中求解损失函数最优化问题采用的方法是随机梯度下降法 stochastic gradient descent 👇

Ⅰ 算法的原始形式

💡 采用随机梯度下降法解决最小化问题:首先,任意选取一个超平面 w 0 , b 0 w_0,b_0 w0b0,然后用梯度下降法不断地极小化目标函数。极小化过程中不是一次性使 M 中所有误分类点的梯度下降,而是每次都随机选取一个误分类点进行梯度下降。

假设误分类点集合 M 是固定的,那么损失函数 L ( w , b ) L(w,b) L(w,b) 的梯度由下式给出:

随机选取一个误分类点 ( x i , y i ) (x_i,y_i) (xi,yi) w , b w,b w,b 进行更新(梯度下降):

式中 η ( 0 < η ≤ 1 ) η (0 < η ≤ 1) η(0<η1)步长(学习率 learning rate)

这样,通过迭代使得损失函数值不断减少,直到为 0。

⭐ 综上所述,得到感知机学习算法的原始形式如下:

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

💬 举个例子:

📢 由此可以看出,感知机学习算法如果采用不同的初值或选取不同的误分类点,最终结果可能不同

Ⅱ 算法的收敛性

感知机学习算法原始形式是收敛的,即经过有限次的迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。

✅ 数学推导 TODO

Ⅲ 算法的对偶形式

🔈 感知机学习算法的原始形式和对偶形式与支持向量机 SVM 算法原始形式和对偶形式相对应。

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

假设初始值 w 0 w_0 w0 b 0 b_0 b0 均为 0,对误分类点 ( x i , y i ) (x_i,y_i) (xi,yi) 通过下式进行更新(梯度下降):

设修改 n 次,则 w , b w,b w,b 关于 ( x i , y i ) (x_i,y_i) (xi,yi) 的增量分别是 α i y i x i α_iy_ix_i αiyixi α i y i α_iy_i αiyi,注意这里的 α i = n i η α_i = n_iη αi=niη

这样,最后学习到的 w , b w,b w,b 可以分别表示为:

这里, α i ≥ 0 , i = 1 , 2 , . . . , N α_i ≥ 0, i = 1,2,...,N αi0i=1,2,...,N,当 η = 1 时, α i α_i αi 表示第 i 个实例点由于误分类而进行更新的次数。

实例点更新次数越多,意味着它距离分离超平面越近,也就越难正确分类。换句话说,这样的实例对学习结果影响最大。

⭐ 下面对照算法的原始形式来描述感知机学习算法的对偶形式

注意,对偶形式中训练集中的数据点之间的运算仅以内积即 x i ⋅ x j x_i·x_j xixj 出现,为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的 Gram 矩阵

💬 比如说数据集中拥有 3 个点: x 1 = [ 3 3 ] x_1 = \begin{bmatrix} 3 \\ 3 \end{bmatrix} x1=[33] x 2 = [ 4 3 ] x_2 = \begin{bmatrix} 4 \\ 3 \end{bmatrix} x2=[43] x 3 = [ 1 1 ] x_3 = \begin{bmatrix} 1 \\ 1 \end{bmatrix} x3=[11],该数据集的的 Gram 矩阵就是:

关于感知机算法的对偶形式,💬 举例如下:

与原始形式一样,感知机学习算法的对偶形式也是收敛的,且由于选取初值的不同或误分类点的选取次数不同,存在多个解

📚 References

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飞天小牛肉

您的鼓励是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值