1、感知机模型
假设输入空间是
X∈Rn,输出空间是
Y={+1,−1},由输入空间到输出空间的如下函数称为感知机。
f(x)=sign(w⋅x+b) 其中
w∈Rn,
b∈R,
sign是符号函数,即
sign(x)={+1,−1,x≥0x≤0 感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model),即函数集合
{f∣f(x)=w⋅x+b}。
2、感知机学习策略
模型已经明确了,根据上一章的知识,接下来要确定一个能够评价模型好坏的策略,即定义一个损失函数。经验损失函数一个很自然的选择是误分类点的个数,但这样的损失函数不是参数
w与
b的连续可导函数,不易优化。因此采用误分类点到超平面
S的总距离作为损失函数,这里的超平面指的是
w⋅x+b=0对应于特征空间
Rn的超平面。
首先写出输入空间
Rn中任一点
x0到超平面
S的距离
∣∣w∣∣1∣w⋅x0+b∣ 其中
∣∣w∣∣是
w的
L2范数。
对于误分类的数据
(xi,yi)来说,若
yi=1,则
w⋅xi+b<0;若
yi=−1,则
w⋅xi+b>0。所以对误分类点来说,
−yi(w⋅xi+b)>0恒成立。
这样,误分类点
(xi,yi)到超平面
S的距离是
−∣∣w∣∣1yi(w⋅xi+b) 那么设误分类点集合为
M,所有误分类点到超平面
S的总距离为
−∣∣w∣∣1xi∈M∑yi(w⋅xi+b) 不考虑分母
∣∣w∣∣,就能得到感知机的损失函数定义为
L(w,b)=−xi∈M∑yi(w⋅xi+b) 为什么可以不考虑
∣∣w∣∣?因为感知机是误分类点驱动的,而
∣∣w∣∣不影响
−yi(w⋅xi+b)的符号,即不影响点
(xi,yi)的分类正误;用梯度下降法求解时,
∣∣w∣∣也不会影响梯度的方向。
3、感知机学习算法
给定一个训练数据集
T={(x1,y1),(x2,y2),⋯,(xN,yN)} 求参数
w与
b,使其为以下损失函数极小化问题的解
w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b) 具体采用随机梯度下降法(stochastic gradient descent)进行求解。首先任意选取一个超平面
w0、
b0,若误分类点集合
M是固定的,则损失函数
L(w,b)的梯度为
∇wL(w,b)=−xi∈M∑yixi
∇bL(w,b)=−xi∈M∑yi 随机梯度下降就是随机选取一个误分类点
(xi,yi),对
w与
b进行更新
w←w+ηyixi
b←b+ηyi 式中
η是步长,即学习率(learning rate),这样不断迭代可以使
L(w,b)不断减小,直到为0。
现在考虑算法的收敛性,为便于推导将
b并入权重向量
w中,记作
w^=(wT,b)T,同时将输入向量加进常数1,记作
x^=(xT,1)T。这样,
x^∈Rn+1,
w^∈Rn+1,有
w^⋅x^=w⋅x+b。
可以引出下述
Novikoff定理:
设训练数据集
T是线性可分的,则
(1)存在满足条件
∣∣w^opt∣∣=1的超平面
w^opt⋅x^=0将训练数据集完全正确分开;且存在
γ>0,对所有
i=1,2,⋯,N
yi(w^opt⋅x^i)≥γ (2)令
R=max1≤i≤N∣∣x^i∣∣,则感知机算法的误分类次数
k满足不等式
k≤(γR)2 定理(1)的证明比较简单,由于训练数据集线性可分,存在超平面可将训练数据集完全正确分开,取此超平面为
w^opt⋅x^i=0,由于对有限的
i=1,2,⋯,N均有
yi(w^opt⋅x^i)>0 所以存在
γ=imin{yi(w^opt⋅x^i)} 使得
yi(w^opt⋅x^i)≥γ 针对定理(2),令
w^k−1是第
k个误分类实例之前的扩充权重向量,若
(xi,yi)是被
w^k−1误分类的数据,则
w、
b的更新是
w^k←w^k−1+ηyix^i 这里省略了从
w推至
w^的过程,不过比较简单。下面推导两个不等式中的第一个:
w^k⋅w^opt=(w^k−1+ηyix^i)⋅w^opt=w^k−1⋅w^opt+ηyiw^opt⋅x^i 根据定理(1),
yiw^opt⋅x^i≥γ,因此上式可得
w^k⋅w^opt≥w^k−1⋅w^opt+ηγ≥⋯≥kηγ 又由于
∣∣w^k⋅w^opt∣∣≤∣∣w^k∣∣⋅∣∣w^opt∣∣,而
∣∣w^opt∣∣=1,即
∣∣w^k∣∣≥kηγ 接着推导第二个不等式:
∣∣w^k∣∣2=∣∣w^k−1+ηyix^i∣∣2=∣∣w^k−1∣∣2+2ηyiw^k−1⋅x^i+η2yi2∣∣x^i∣∣2 由于
(xi,yi)是
w^k−1的误分类点,因此
yiw^k−1⋅x^i<0 又由于
yi∈{1,−1},即
yi2=1,可得到下面的不等式
∣∣w^k∣∣2≤∣∣w^k−1∣∣2+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2R2≤⋯≤kη2R2 将得到的两个不等式结合,可得
kηγ≤∣∣w^k∣∣≤k
ηR 即
k≤(γR)2 定理表明,误分类的次数
k是有上界的,即经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。
上述使用随机梯度下降法进行迭代的方法属于原始形式,其与对偶形式相对应。对误分类点
(xi,yi),原始形式通过
w←w+ηyixi
b←b+ηyi 逐步修改
w与
b,可假设初值
w0与
b0均为0,这样最后学习到的
w与
b可以表示为
w=i=1∑Nαiyixi
b=i=1∑Nαiyi 式中,
αi=niη,
ni为第
i个点由于误分类而进行更新的次数。
因此感知机模型可以写作
f(x)=sign(j=1∑Nαjyjxj⋅x+j=1∑Nαjyj) 在迭代过程中,选取数据
(xi,yi),若
yi(∑j=1Nαjyjxj⋅xi+∑j=1Nαjyj)≤0,按如下规则更新
αi即可
αi←αi+η 在对偶形式的感知机模型中,训练实例仅以内积的形式出现,即式中的
xj⋅x,可以预先将训练集的内积计算出来,以矩阵的形式存储,这个矩阵就是
Gram矩阵
G=[xi⋅xj]N×N