机器学习原理及公式推导(二)感知机

1、感知机模型

       假设输入空间是 X R n X\in R^n ,输出空间是 Y = { + 1 , 1 } Y=\{+1,-1\} ,由输入空间到输出空间的如下函数称为感知机。
f ( x ) = s i g n ( w x + b ) f(x)=sign(w\cdot x+b)        其中 w R n w\in R^n b R b\in R s i g n sign 是符号函数,即
s i g n ( x ) = { + 1 , x 0 1 , x 0 sign(x)=\left\{\begin{array}{rcl}+1,&{x\ge0}\\-1,&{x\le0} \end{array} \right.        感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型(linear classification model),即函数集合 { f f ( x ) = w x + b } \{f|f(x)=w\cdot x+b\}

2、感知机学习策略

       模型已经明确了,根据上一章的知识,接下来要确定一个能够评价模型好坏的策略,即定义一个损失函数。经验损失函数一个很自然的选择是误分类点的个数,但这样的损失函数不是参数 w w b b 的连续可导函数,不易优化。因此采用误分类点到超平面 S S 的总距离作为损失函数,这里的超平面指的是 w x + b = 0 w\cdot x+b=0 对应于特征空间 R n R^n 的超平面。
       首先写出输入空间 R n R^n 中任一点 x 0 x_0 到超平面 S S 的距离
1 w w x 0 + b \frac{1}{||w||}|w\cdot x_0+b|        其中 w ||w|| w w L 2 L_2 范数。
       对于误分类的数据 ( x i , y i ) (x_i,y_i) 来说,若 y i = 1 y_i=1 ,则 w x i + b < 0 w\cdot x_i+b<0 ;若 y i = 1 y_i=-1 ,则 w x i + b > 0 w\cdot x_i+b>0 。所以对误分类点来说, y i ( w x i + b ) > 0 -y_i(w\cdot x_i+b)>0 恒成立。
       这样,误分类点 ( x i , y i ) (x_i,y_i) 到超平面 S S 的距离是
1 w y i ( w x i + b ) -\frac{1}{||w||}y_i(w\cdot x_i+b)        那么设误分类点集合为 M M ,所有误分类点到超平面 S S 的总距离为
1 w x i M y i ( w x i + b ) -\frac{1}{||w||}\sum_{x_i\in M}y_i(w\cdot x_i+b)        不考虑分母 w ||w|| ,就能得到感知机的损失函数定义为
L ( w , b ) = x i M y i ( w x i + b ) L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)        为什么可以不考虑 w ||w|| ?因为感知机是误分类点驱动的,而 w ||w|| 不影响 y i ( w x i + b ) -y_i(w\cdot x_i+b) 的符号,即不影响点 ( x i , y i ) (x_i,y_i) 的分类正误;用梯度下降法求解时, w ||w|| 也不会影响梯度的方向。

3、感知机学习算法

       给定一个训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ,   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}        求参数 w w b b ,使其为以下损失函数极小化问题的解
min w , b L ( w , b ) = x i M y i ( w x i + b ) \min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b)        具体采用随机梯度下降法(stochastic gradient descent)进行求解。首先任意选取一个超平面 w 0 w_0 b 0 b_0 ,若误分类点集合 M M 是固定的,则损失函数 L ( w , b ) L(w,b) 的梯度为
w L ( w , b ) = x i M y i x i \nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i b L ( w , b ) = x i M y i \nabla_bL(w,b)=-\sum_{x_i\in M}y_i        随机梯度下降就是随机选取一个误分类点 ( x i , y i ) (x_i,y_i) ,对 w w b b 进行更新
w w + η y i x i w\gets w+\eta y_ix_i b b + η y i b\gets b+\eta y_i        式中 η \eta 是步长,即学习率(learning rate),这样不断迭代可以使 L ( w , b ) L(w,b) 不断减小,直到为0。
       现在考虑算法的收敛性,为便于推导将 b b 并入权重向量 w w 中,记作 w ^ = ( w T , b ) T \hat w=(w^T,b)^T ,同时将输入向量加进常数1,记作 x ^ = ( x T , 1 ) T \hat x=(x^T,1)^T 。这样, x ^ R n + 1 \hat x\in R^{n+1} w ^ R n + 1 \hat w\in R^{n+1} ,有 w ^ x ^ = w x + b \hat w\cdot \hat x=w\cdot x+b
       可以引出下述 N o v i k o f f Novikoff 定理:
       设训练数据集 T T 是线性可分的,则
       (1)存在满足条件 w ^ o p t = 1 ||\hat w_{opt}||=1 的超平面 w ^ o p t x ^ = 0 \hat w_{opt}\cdot \hat x=0 将训练数据集完全正确分开;且存在 γ > 0 \gamma>0 ,对所有 i = 1 , 2 ,   , N i=1,2,\cdots,N
y i ( w ^ o p t x ^ i ) γ y_i(\hat w_{opt}\cdot \hat x_i)\ge\gamma        (2)令 R = max 1 i N x ^ i R=\max_{1\le i\le N}||\hat x_i|| ,则感知机算法的误分类次数 k k 满足不等式
k ( R γ ) 2 k\le(\frac{R}{\gamma})^2        定理(1)的证明比较简单,由于训练数据集线性可分,存在超平面可将训练数据集完全正确分开,取此超平面为 w ^ o p t x ^ i = 0 \hat w_{opt}\cdot \hat x_i=0 ,由于对有限的 i = 1 , 2 ,   , N i=1,2,\cdots,N 均有
y i ( w ^ o p t x ^ i ) > 0 y_i(\hat w_{opt}\cdot \hat x_i)>0        所以存在
γ = min i { y i ( w ^ o p t x ^ i ) } \gamma=\min_i\{y_i(\hat w_{opt}\cdot \hat x_i)\}        使得
y i ( w ^ o p t x ^ i ) γ y_i(\hat w_{opt}\cdot \hat x_i)\ge\gamma        针对定理(2),令 w ^ k 1 \hat w_{k-1} 是第 k k 个误分类实例之前的扩充权重向量,若 ( x i , y i ) (x_i,y_i) 是被 w ^ k 1 \hat w_{k-1} 误分类的数据,则 w w b b 的更新是
w ^ k w ^ k 1 + η y i x ^ i \hat w_k\gets \hat w_{k-1}+\eta y_i\hat x_i        这里省略了从 w w 推至 w ^ \hat w 的过程,不过比较简单。下面推导两个不等式中的第一个:
w ^ k w ^ o p t = ( w ^ k 1 + η y i x ^ i ) w ^ o p t = w ^ k 1 w ^ o p t + η y i w ^ o p t 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_i        根据定理(1), y i w ^ o p t x ^ i γ y_i\hat w_{opt}\cdot\hat x_i\ge\gamma ,因此上式可得
w ^ k w ^ o p t w ^ k 1 w ^ o p t + η γ k η γ \hat w_k\cdot\hat w_{opt}\ge\hat w_{k-1}\cdot\hat w_{opt}+\eta\gamma\ge\cdots\ge k\eta\gamma        又由于 w ^ k w ^ o p t w ^ k w ^ o p t ||\hat w_k\cdot\hat w_{opt}||\le||\hat w_k||\cdot||\hat w_{opt}|| ,而 w ^ o p t = 1 ||\hat w_{opt}||=1 ,即
w ^ k k η γ ||\hat w_k||\ge k\eta\gamma        接着推导第二个不等式:
w ^ k 2 = w ^ k 1 + η y i x ^ i 2 = w ^ k 1 2 + 2 η y i w ^ k 1 x ^ i + η 2 y i 2 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        由于 ( x i , y i ) (x_i,y_i) w ^ k 1 \hat w_{k-1} 的误分类点,因此
y i w ^ k 1 x ^ i < 0 y_i\hat w_{k-1}\cdot\hat x_i<0        又由于 y i { 1 , 1 } y_i\in \{1,-1\} ,即 y i 2 = 1 y_i^2=1 ,可得到下面的不等式
w ^ k 2 w ^ k 1 2 + η 2 x ^ i 2 w ^ k 1 2 + η 2 R 2 k η 2 R 2 ||\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        将得到的两个不等式结合,可得
k η γ w ^ k k η R k\eta\gamma\le||\hat w_k||\le\sqrt{k}\eta R        即
k ( R γ ) 2 k\le(\frac{R}{\gamma})^2        定理表明,误分类的次数 k k 是有上界的,即经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。
       上述使用随机梯度下降法进行迭代的方法属于原始形式,其与对偶形式相对应。对误分类点 ( x i , y i ) (x_i,y_i) ,原始形式通过
w w + η y i x i w\gets w+\eta y_ix_i b b + η y i b\gets b+\eta y_i        逐步修改 w w b b ,可假设初值 w 0 w_0 b 0 b_0 均为0,这样最后学习到的 w w b b 可以表示为
w = i = 1 N α i y i x i w=\sum_{i=1}^N\alpha_iy_ix_i b = i = 1 N α i y i b=\sum_{i=1}^N\alpha_iy_i        式中, α i = n i η \alpha_i=n_i\eta n i n_i 为第 i i 个点由于误分类而进行更新的次数。
       因此感知机模型可以写作
f ( x ) = s i g n ( j = 1 N α j y j x j x + j = 1 N α j y j ) f(x)=sign(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+\sum_{j=1}^N\alpha_jy_j)        在迭代过程中,选取数据 ( x i , y i ) (x_i,y_i) ,若 y i ( j = 1 N α j y j x j x i + j = 1 N α j y j ) 0 y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x_i+\sum_{j=1}^N\alpha_jy_j)\le0 ,按如下规则更新 α i \alpha_i 即可
α i α i + η \alpha_i\gets\alpha_i+\eta        在对偶形式的感知机模型中,训练实例仅以内积的形式出现,即式中的 x j x x_j\cdot x ,可以预先将训练集的内积计算出来,以矩阵的形式存储,这个矩阵就是 G r a m Gram 矩阵
G = [ x i x j ] N × N G=[x_i\cdot x_j]_{N\times N}

猜你喜欢

转载自blog.csdn.net/u013899126/article/details/89497070