1、感知机模型
假设输入空间是X∈RnX\in R^nX∈Rn,输出空间是Y={+1,−1}Y=\{+1,-1\}Y={+1,−1},由输入空间到输出空间的如下函数称为感知机。
f(x)=sign(w⋅x+b)f(x)=sign(w\cdot x+b)f(x)=sign(w⋅x+b) 其中w∈Rnw\in R^nw∈Rn,b∈Rb\in Rb∈R,signsignsign是符号函数,即
sign(x)={+1,x≥0−1,x≤0sign(x)=\left\{\begin{array}{rcl}+1,&{x\ge0}\\-1,&{x\le0} \end{array} \right.sign(x)={+1,−1,x≥0x≤0 感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model),即函数集合{f∣f(x)=w⋅x+b}\{f|f(x)=w\cdot x+b\}{f∣f(x)=w⋅x+b}。
2、感知机学习策略
模型已经明确了,根据上一章的知识,接下来要确定一个能够评价模型好坏的策略,即定义一个损失函数。经验损失函数一个很自然的选择是误分类点的个数,但这样的损失函数不是参数www与bbb的连续可导函数,不易优化。因此采用误分类点到超平面SSS的总距离作为损失函数,这里的超平面指的是w⋅x+b=0w\cdot x+b=0w⋅x+b=0对应于特征空间RnR^nRn的超平面。
首先写出输入空间RnR^nRn中任一点x0x_0x0到超平面SSS的距离
1∣∣w∣∣∣w⋅x0+b∣\frac{1}{||w||}|w\cdot x_0+b|∣∣w∣∣1∣w⋅x0+b∣ 其中∣∣w∣∣||w||∣∣w∣∣是www的L2L_2L2范数。
对于误分类的数据(xi,yi)(x_i,y_i)(xi,yi)来说,若yi=1y_i=1yi=1,则w⋅xi+b<0w\cdot x_i+b<0w⋅xi+b<0;若yi=−1y_i=-1yi=−1,则w⋅xi+b>0w\cdot x_i+b>0w⋅xi+b>0。所以对误分类点来说,−yi(w⋅xi+b)>0-y_i(w\cdot x_i+b)>0−yi(w⋅xi+b)>0恒成立。
这样,误分类点(xi,yi)(x_i,y_i)(xi,yi)到超平面SSS的距离是
−1∣∣w∣∣yi(w⋅xi+b)-\frac{1}{||w||}y_i(w\cdot x_i+b)−∣∣w∣∣1yi(w⋅xi+b) 那么设误分类点集合为MMM,所有误分类点到超平面SSS的总距离为
−1∣∣w∣∣∑xi∈Myi(w⋅xi+b)-\frac{1}{||w||}\sum_{x_i\in M}y_i(w\cdot x_i+b)−∣∣w∣∣1xi∈M∑yi(w⋅xi+b) 不考虑分母∣∣w∣∣||w||∣∣w∣∣,就能得到感知机的损失函数定义为
L(w,b)=−∑xi∈Myi(w⋅xi+b)L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)L(w,b)=−xi∈M∑yi(w⋅xi+b) 为什么可以不考虑∣∣w∣∣||w||∣∣w∣∣?因为感知机是误分类点驱动的,而∣∣w∣∣||w||∣∣w∣∣不影响−yi(w⋅xi+b)-y_i(w\cdot x_i+b)−yi(w⋅xi+b)的符号,即不影响点(xi,yi)(x_i,y_i)(xi,yi)的分类正误;用梯度下降法求解时,∣∣w∣∣||w||∣∣w∣∣也不会影响梯度的方向。
3、感知机学习算法
给定一个训练数据集
T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1,y1),(x2,y2),⋯,(xN,yN)} 求参数www与bbb,使其为以下损失函数极小化问题的解
minw,bL(w,b)=−∑xi∈Myi(w⋅xi+b)\min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b) 具体采用随机梯度下降法(stochastic gradient descent)进行求解。首先任意选取一个超平面w0w_0w0、b0b_0b0,若误分类点集合MMM是固定的,则损失函数L(w,b)L(w,b)L(w,b)的梯度为
∇wL(w,b)=−∑xi∈Myixi\nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i∇wL(w,b)=−xi∈M∑yixi∇bL(w,b)=−∑xi∈Myi\nabla_bL(w,b)=-\sum_{x_i\in M}y_i ∇bL(w,b)=−xi∈M∑yi 随机梯度下降就是随机选取一个误分类点(xi,yi)(x_i,y_i)(xi,yi),对www与bbb进行更新
w←w+ηyixiw\gets w+\eta y_ix_iw←w+ηyixib←b+ηyib\gets b+\eta y_ib←b+ηyi 式中η\etaη是步长,即学习率(learning rate),这样不断迭代可以使L(w,b)L(w,b)L(w,b)不断减小,直到为0。
现在考虑算法的收敛性,为便于推导将bbb并入权重向量www中,记作w^=(wT,b)T\hat w=(w^T,b)^Tw^=(wT,b)T,同时将输入向量加进常数1,记作x^=(xT,1)T\hat x=(x^T,1)^Tx^=(xT,1)T。这样,x^∈Rn+1\hat x\in R^{n+1}x^∈Rn+1,w^∈Rn+1\hat w\in R^{n+1}w^∈Rn+1,有w^⋅x^=w⋅x+b\hat w\cdot \hat x=w\cdot x+bw^⋅x^=w⋅x+b。
可以引出下述NovikoffNovikoffNovikoff定理:
设训练数据集TTT是线性可分的,则
(1)存在满足条件∣∣w^opt∣∣=1||\hat w_{opt}||=1∣∣w^opt∣∣=1的超平面w^opt⋅x^=0\hat w_{opt}\cdot \hat x=0w^opt⋅x^=0将训练数据集完全正确分开;且存在γ>0\gamma>0γ>0,对所有i=1,2,⋯ ,Ni=1,2,\cdots,Ni=1,2,⋯,N
yi(w^opt⋅x^i)≥γy_i(\hat w_{opt}\cdot \hat x_i)\ge\gammayi(w^opt⋅x^i)≥γ (2)令R=max1≤i≤N∣∣x^i∣∣R=\max_{1\le i\le N}||\hat x_i||R=max1≤i≤N∣∣x^i∣∣,则感知机算法的误分类次数kkk满足不等式
k≤(Rγ)2k\le(\frac{R}{\gamma})^2k≤(γR)2 定理(1)的证明比较简单,由于训练数据集线性可分,存在超平面可将训练数据集完全正确分开,取此超平面为w^opt⋅x^i=0\hat w_{opt}\cdot \hat x_i=0w^opt⋅x^i=0,由于对有限的i=1,2,⋯ ,Ni=1,2,\cdots,Ni=1,2,⋯,N均有
yi(w^opt⋅x^i)>0y_i(\hat w_{opt}\cdot \hat x_i)>0yi(w^opt⋅x^i)>0 所以存在
γ=mini{yi(w^opt⋅x^i)}\gamma=\min_i\{y_i(\hat w_{opt}\cdot \hat x_i)\}γ=imin{yi(w^opt⋅x^i)} 使得
yi(w^opt⋅x^i)≥γy_i(\hat w_{opt}\cdot \hat x_i)\ge\gammayi(w^opt⋅x^i)≥γ 针对定理(2),令w^k−1\hat w_{k-1}w^k−1是第kkk个误分类实例之前的扩充权重向量,若(xi,yi)(x_i,y_i)(xi,yi)是被w^k−1\hat w_{k-1}w^k−1误分类的数据,则www、bbb的更新是
w^k←w^k−1+ηyix^i\hat w_k\gets \hat w_{k-1}+\eta y_i\hat x_iw^k←w^k−1+ηyix^i 这里省略了从www推至w^\hat ww^的过程,不过比较简单。下面推导两个不等式中的第一个:
w^k⋅w^opt=(w^k−1+ηyix^i)⋅w^opt=w^k−1⋅w^opt+ηyiw^opt⋅x^i\hat w_k\cdot \hat w_{opt}=(\hat w_{k-1}+\eta y_i\hat x_i)\cdot \hat w_{opt}=\hat w_{k-1}\cdot \hat w_{opt}+\eta y_i\hat w_{opt}\cdot\hat x_iw^k⋅w^opt=(w^k−1+ηyix^i)⋅w^opt=w^k−1⋅w^opt+ηyiw^opt⋅x^i 根据定理(1),yiw^opt⋅x^i≥γy_i\hat w_{opt}\cdot\hat x_i\ge\gammayiw^opt⋅x^i≥γ,因此上式可得
w^k⋅w^opt≥w^k−1⋅w^opt+ηγ≥⋯≥kηγ\hat w_k\cdot\hat w_{opt}\ge\hat w_{k-1}\cdot\hat w_{opt}+\eta\gamma\ge\cdots\ge k\eta\gammaw^k⋅w^opt≥w^k−1⋅w^opt+ηγ≥⋯≥kηγ 又由于∣∣w^k⋅w^opt∣∣≤∣∣w^k∣∣⋅∣∣w^opt∣∣||\hat w_k\cdot\hat w_{opt}||\le||\hat w_k||\cdot||\hat w_{opt}||∣∣w^k⋅w^opt∣∣≤∣∣w^k∣∣⋅∣∣w^opt∣∣,而∣∣w^opt∣∣=1||\hat w_{opt}||=1∣∣w^opt∣∣=1,即
∣∣w^k∣∣≥kηγ||\hat w_k||\ge k\eta\gamma∣∣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||\hat w_k||^2=||\hat w_{k-1}+\eta y_i\hat x_i||^2=||\hat w_{k-1}||^2+2\eta y_i\hat w_{k-1}\cdot\hat x_i+\eta^2y_i^2||\hat x_i||^2∣∣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)(x_i,y_i)(xi,yi)是w^k−1\hat w_{k-1}w^k−1的误分类点,因此
yiw^k−1⋅x^i<0y_i\hat w_{k-1}\cdot\hat x_i<0yiw^k−1⋅x^i<0 又由于yi∈{1,−1}y_i\in \{1,-1\}yi∈{1,−1},即yi2=1y_i^2=1yi2=1,可得到下面的不等式
∣∣w^k∣∣2≤∣∣w^k−1∣∣2+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2R2≤⋯≤kη2R2||\hat w_k||^2\le||\hat w_{k-1}||^2+\eta^2||\hat x_i||^2\le||\hat w_{k-1}||^2+\eta^2R^2\le\cdots\le k\eta^2 R^2∣∣w^k∣∣2≤∣∣w^k−1∣∣2+η2∣∣x^i∣∣2≤∣∣w^k−1∣∣2+η2R2≤⋯≤kη2R2 将得到的两个不等式结合,可得
kηγ≤∣∣w^k∣∣≤kηRk\eta\gamma\le||\hat w_k||\le\sqrt{k}\eta Rkηγ≤∣∣w^k∣∣≤kηR 即
k≤(Rγ)2k\le(\frac{R}{\gamma})^2k≤(γR)2 定理表明,误分类的次数kkk是有上界的,即经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。
上述使用随机梯度下降法进行迭代的方法属于原始形式,其与对偶形式相对应。对误分类点(xi,yi)(x_i,y_i)(xi,yi),原始形式通过
w←w+ηyixiw\gets w+\eta y_ix_iw←w+ηyixib←b+ηyib\gets b+\eta y_ib←b+ηyi 逐步修改www与bbb,可假设初值w0w_0w0与b0b_0b0均为0,这样最后学习到的www与bbb可以表示为
w=∑i=1Nαiyixiw=\sum_{i=1}^N\alpha_iy_ix_iw=i=1∑Nαiyixib=∑i=1Nαiyib=\sum_{i=1}^N\alpha_iy_ib=i=1∑Nαiyi 式中,αi=niη\alpha_i=n_i\etaαi=niη,nin_ini为第iii个点由于误分类而进行更新的次数。
因此感知机模型可以写作
f(x)=sign(∑j=1Nαjyjxj⋅x+∑j=1Nαjyj)f(x)=sign(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+\sum_{j=1}^N\alpha_jy_j)f(x)=sign(j=1∑Nαjyjxj⋅x+j=1∑Nαjyj) 在迭代过程中,选取数据(xi,yi)(x_i,y_i)(xi,yi),若yi(∑j=1Nαjyjxj⋅xi+∑j=1Nαjyj)≤0y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x_i+\sum_{j=1}^N\alpha_jy_j)\le0yi(∑j=1Nαjyjxj⋅xi+∑j=1Nαjyj)≤0,按如下规则更新αi\alpha_iαi即可
αi←αi+η\alpha_i\gets\alpha_i+\etaαi←αi+η 在对偶形式的感知机模型中,训练实例仅以内积的形式出现,即式中的xj⋅xx_j\cdot xxj⋅x,可以预先将训练集的内积计算出来,以矩阵的形式存储,这个矩阵就是GramGramGram矩阵
G=[xi⋅xj]N×NG=[x_i\cdot x_j]_{N\times N}G=[xi⋅xj]N×N