介绍感知机模型, 叙述感知机的学习策略, 特别是损失函数; 最后介绍感知机学习算法,包括原始形式和对偶形式, 证明算法的收敛性.
f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x + b) f(x)=sign(w⋅x+b)是模型函数
w w w和 b b b是模型参数, 分别叫权值和偏置.
感知机是判别模型.假设空间是线性分类器集合
{ f ∣ f ( x ) = w ⋅ x + b } \{f|f(x)=w\cdot x+b \} {f∣f(x)=w⋅x+b}
w ⋅ x + b = 0 w\cdot x + b=0 w⋅x+b=0 确定一个超平面
线性可分数据集的定义
损失函数的定义为 L ( w , b ) = − ∑ y i ( w ⋅ x i + b ) L(w,b)=-\sum y_i(w\cdot x_i + b) L(w,b)=−∑yi(w⋅xi+b)
最优化方法是随机梯度下降法,包括原始形式和对偶形式, 证明在训练数据线性可分的条件下, 感知机学习算法的收敛性.
min w , b L ( w , b ) = − ∑ y i ( w ⋅ x i + b ) \min\limits_{w,b}L(w, b)=-\sum y_i(w\cdot x_i + b) w,bminL(w,b)=−∑yi(w⋅xi+b)
感知机学习算法是误分类驱动的, 具体采用随机梯度下降法. 首先, 选一个超平面, 然后用梯度下降法不断极小化目标函数. 极小化一次随机选一个误分类点使其梯度下降.假设误分类点集合是固定的.梯度的定义
▽ w L ( w , b ) = − ∑ x i ∈ M y i x i \triangledown_w L(w, b) = -\sum\limits_{x_i\in M}y_i x_i ▽wL(w,b)=−xi∈M∑yixi
▽ b L ( w , b ) = − ∑ x i ∈ M y i \triangledown_b L(w, b)=-\sum\limits_{x_i\in M}y_i ▽bL(w,b)=−xi∈M∑yi随机选取一个误分类点 ( x i , y i ) (x_i, y_i) (xi,yi)对参数进行更新.
w ← w + η y i x i w \gets w+ \eta y_i x_i w←w+ηyixi
b ← b + η y i b\gets b + \eta y_i b←b+ηyi
其中的 η \eta η是学习率, 通过迭代可以期待损失函数不断减小, 直到为0.
感知机学习过程如下
上面是原始形式, 感知机学习算法简单且易于实现.
算法的收敛性
经过有限次迭代可以得到一个将训练数据集完全正确划分的超平面及感知机模型.
为了方便推导, 将偏置 b b b加入到权重向量 w w w, 计作 w ^ = ( w T , b ) T \hat{w}=(w^T, b)^T w^=(wT,b)T, 同样也将输入向量扩充, 加入常数1, 记作 x ^ = ( x T , 1 ) T \hat{x}=(x^T, 1)^T x^=(xT,1)T, w ^ ⋅ x ^ = w ⋅ x + b \hat{w}\cdot \hat{x} = w\cdot x + b w^⋅x^=w⋅x+b
如果训练数据集线性可分, 有定理
感知机学习算法的对偶形式
将参数表示为数据点得线性组合形式.
输入的学习率 η \eta η不一定是1.
模型 f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=sign(\sum\limits^N_{j=1}\alpha_jy_jx_j\cdot x + b) f(x)=sign(j=1∑Nαjyjxj⋅x+b)
本章概要