第二章 感知机模型(Perceptron)
感知机相关定义
-
定义 2.1 (感知机)
假设输入空间(特征空间) 是 X ⊆ R n \mathcal{X} \subseteq \mathbf{R}^{n} X⊆Rn, 输出空间是 Y = { + 1 , − 1 } \mathcal{Y}=\{+1,-1\} Y={+1,−1} 。输入 x ∈ X x \in \mathcal{X} x∈X 表示实例的特征向量, 对应于输入空间(特征空间)的点; 输出 y ∈ Y y \in \mathcal{Y} y∈Y 表示实例的类别。由输入空间到输出空间的如下函数:
f ( x ) = sign ( w ⋅ x + b ) f(x)=\operatorname{sign}(w \cdot x+b) f(x)=sign(w⋅x+b)
称为感知机。其中, w w w 和 b b b 为感知机模型参数, w ∈ R n w \in \mathbf{R}^{n} w∈Rn 叫作权值(weight) 或权值向 量 (weight vector), b ∈ R b \in \mathbf{R} b∈R 叫作偏置 (bias), w ⋅ x w \cdot x w⋅x 表示 w w w 和 x x x 的内积。 sign \operatorname{sign} sign 是符号 函数, 即
sign ( x ) = { + 1 , x ⩾ 0 − 1 , x < 0 \operatorname{sign}(x)=\left\{\begin{array}{cc} +1, & x \geqslant 0 \\ -1, & x<0 \end{array}\right. sign(x)={+1,−1,x⩾0x<0
感知机是一种线性分类模型, 属于判别模型。感知机模型的假设空间是定义在 特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier), 即函数集合 { f ∣ f ( x ) = w ∙ x + b } \{f \mid f(x)=w \bullet x+b\} {f∣f(x)=w∙x+b} 。 -
定义 2.2 (数据集的线性可分性)
给定一个数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } = { ( x i , y i ) } i = 1 N \begin{aligned} T& = \left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} \\ & = \left\{ (x_i,y_i)\right\}_{i=1}^N \end{aligned} T={(x1,y1),(x2,y2),⋯,(xN,yN)}={(xi,yi)}i=1N
其中, x i ∈ X = R n , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ⋯ , N x_{i} \in \mathcal{X}=\mathbf{R}^{n}, y_{i} \in \mathcal{Y}=\{+1,-1\}, i=1,2, \cdots, N xi∈X=Rn,yi∈Y={+1,−1},i=1,2,⋯,N, 如果存在某个超平面 S S S
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧, 即对所有 y i = + 1 y_{i}=+1 yi=+1 的实例 i i i, 有 w ⋅ x i + b > 0 w \cdot x_{i}+b>0 w⋅xi+b>0, 对所有 y i = − 1 y_{i}=-1 yi=−1 的实例 i i i, 有 w ⋅ x i + b < 0 w \cdot x_{i}+b<0 w⋅xi+b<0, 则 称数据集 T T T 为线性可分数据集 ( linearly separable data set ); 否则, 称数据集 T T T 线性 不可分。 -
损失函数:
误分类点到超平面的距离为感知机学习算法的损失函数,感知机学习算法是误分类点驱动的
-
任意一点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 到超平面距离:
1 ∥ w ∥ ∣ w ⋅ x 0 + b ∣ \frac{1}{\|w\|}\left|w \cdot x_{0}+b\right| ∥w∥1∣w⋅x0+b∣
其中 ∥ w ∥ \|w\| ∥w∥ 是 w 的2范数
∥ w ∥ = ∑ i = 1 N w i 2 \|w\| = \sqrt{\sum\limits_{i=1}^N}{w_i^2} ∥w∥=i=1∑Nwi2 -
误分类点到超平面距离:
对于误分类的数据 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 来说,
− y i ( w ⋅ x i + b ) > 0 -y_{i}\left(w \cdot x_{i}+b\right)>0 −yi(w⋅xi+b)>0
成立。因为当 w ⋅ x i + b > 0 w \cdot x_{i}+b>0 w⋅xi+b>0 时, y i = − 1 y_{i}=-1 yi=−1; 而当 w ⋅ x i + b < 0 w \cdot x_{i}+b<0 w⋅xi+b<0 时, y i = + 1 y_{i}=+1 yi=+1 。因此, 误 分类点 x i x_{i} xi 到超平面 S S S 的距离是
− 1 ∥ w ∥ y i ( w ⋅ x i + b ) -\frac{1}{\|w\|} y_{i}\left(w \cdot x_{i}+b\right) −∥w∥1yi(w⋅xi+b)
这样, 假设超平面 S S S 的误分类点集合为 M M M, 那么所有误分类点到超平面 S S S 的总 距离为
− 1 ∥ w ∥ ∑ x , ⊂ M y i ( w ⋅ x i + b ) -\frac{1}{\|w\|} \sum_{x, \subset M} y_{i}\left(w \cdot x_{i}+b\right) −∥w∥1x,⊂M∑yi(w⋅xi+b) -
损失函数
∥ w ∥ \|w\| ∥w∥是常数,不考虑,则感知机损失函数
L ( w , b ) = − ∑ x , ⊂ M y i ( w ⋅ x i + b ) L(w,b) = - \sum_{x, \subset M} y_{i}\left(w \cdot x_{i}+b\right) L(w,b)=−x,⊂M∑yi(w⋅xi+b)
其为 M M M为误分类点集合
-
原始形式
-
算法 2.1 (感知机学习算法的原始形式)
输入
: 训练数据集 T = { ( x i , y i ) } i = 1 N T=\left\{ (x_i,y_i)\right\}_{i=1}^N T={(xi,yi)}i=1N, 其中 x i ∈ X = R n , y i ∈ x_{i} \in \mathcal{X}=\mathbf{R}^{n}, y_{i} \in xi∈X=Rn,yi∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯ , N \mathcal{Y}=\{-1,+1\}, i=1,2, \cdots, N Y={−1,+1},i=1,2,⋯,N; 学习率 η ( 0 < η ⩽ 1 ) \eta(0<\eta \leqslant 1) η(0<η⩽1);
输出:
w , b w, b w,b; 感知机模型 f ( x ) = sign ( w ⋅ x + b ) f(x)=\operatorname{sign}(w \cdot x+b) f(x)=sign(w⋅x+b) 。
(1) 选取初值 w 0 , b 0 w_{0}, b_{0} w0,b0;
(2) 在训练集中选取数据 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi);
(3) 如果 y i ( w ⋅ x i + b ) ⩽ 0 y_{i}\left(w \cdot x_{i}+b\right) \leqslant 0 yi(w⋅xi+b)⩽0,使用随机梯度下降更新如下
w ← w + η y i x i ( 控制旋转 ) b ← b + η y i ( 控制平移 ) \begin{aligned} w \leftarrow w+\eta y_{i} x_{i}\quad(控制旋转) \\ b \leftarrow b+\eta y_{i} \quad\quad(控制平移) \end{aligned} w←w+ηyixi(控制旋转)b←b+ηyi(控制平移)
(4) 转至 (2), 直至训练集中没有误分类点。 -
梯度下降求解
min w , b L ( w , b ) = − ∑ x , ⊂ M y i ( w ⋅ x i + b ) ⇒ ∇ w L ( w , b ) = ∂ L ( w , b ) ∂ w = − ∑ x , ⊂ M y i x i ∇ b L ( w , b ) = ∂ L ( w , b ) ∂ b = − ∑ x , ⊂ M y i \begin{aligned} \min_{w,b} L(w,b) & = - \sum_{x, \subset M} y_{i}\left(w \cdot x_{i}+b\right)\\ \Rightarrow \quad \nabla_wL(w,b) & = \frac{\partial L(w,b)}{\partial w} = - \sum_{x, \subset M} y_i x_i \\ \nabla_b L(w,b) & = \frac{\partial L(w,b)}{\partial b} = - \sum_{x, \subset M} y_i \\ \end{aligned} w,bminL(w,b)⇒∇wL(w,b)∇bL(w,b)=−x,⊂M∑yi(w⋅xi+b)=∂w∂L(w,b)=−x,⊂M∑yixi=∂b∂L(w,b)=−x,⊂M∑yi因为负梯度方向是函数降速最快的方向,所以更新时用的是负梯度,那么w,b更新为
w ← w − ( η ⋅ ∇ w L ( w , b ) ) = w − η ⋅ ( − ∑ x , ⊂ M y i x i ) b ← b − ( η ⋅ ∇ b L ( w , b ) ) = b − η ⋅ ( − ∑ x , ⊂ M y i ) ⇒ w ← w + η ⋅ ∑ x , ⊂ M y i x i b ← b + η ⋅ ∑ x , ⊂ M y i \begin{aligned} w\quad \leftarrow \quad w - (\eta \cdot \nabla_wL(w,b) )& = w - \eta \cdot (- \sum_{x, \subset M} y_ix_i) \\ b\quad \leftarrow \quad b - (\eta \cdot \nabla_bL(w,b) )& = b - \eta \cdot (- \sum_{x, \subset M} y_i) \\ \Rightarrow \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad \quad w \quad& \leftarrow \quad w +\eta \cdot \sum_{x, \subset M} y_ix_i \\ b \quad& \leftarrow \quad b +\eta \cdot \sum_{x, \subset M} y_i \end{aligned} w←w−(η⋅∇wL(w,b))b←b−(η⋅∇bL(w,b))⇒wb=w−η⋅(−x,⊂M∑yixi)=b−η⋅(−x,⊂M∑yi)←w+η⋅x,⊂M∑yixi←b+η⋅x,⊂M∑yi
因为梯度下降每次更新需要计算所有点,时间空间耗费大,所以感知机算法使用的是随机梯度下降,即从初始开始每次只去一个点进行更新,所以更新公式为
⇒ w ← w + η ⋅ ∑ x , ⊂ M y i x i b ← b + η ⋅ ∑ x , ⊂ M y i \begin{aligned} \Rightarrow \quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad \quad w \quad& \leftarrow \quad w +\eta \cdot \sum_{x, \subset M} y_ix_i \\ b \quad & \leftarrow \quad b +\eta \cdot \sum_{x, \subset M} y_i \end{aligned} ⇒wb←w+η⋅x,⊂M∑yixi←b+η⋅x,⊂M∑yi
对偶形式
-
算法 2.2 (感知机学习算法的对偶形式)
输入:
线性可分的数据集 T = { ( x i , y i ) } i = 1 N T=\left\{ (x_i,y_i)\right\}_{i=1}^N T={(xi,yi)}i=1N, 其中 x i ∈ R n , y i ∈ x_{i} \in \mathbf{R}^{n}, y_{i} \in xi∈Rn,yi∈ { − 1 , + 1 } , i = 1 , 2 , ⋯ , N \{-1,+1\}, i=1,2, \cdots, N {−1,+1},i=1,2,⋯,N; 学习率 η ( 0 < η ⩽ 1 ) \eta(0<\eta \leqslant 1) η(0<η⩽1);
输出:
α , b \alpha, b α,b; 感知机模型 f ( x ) = sign ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right) f(x)=sign(∑j=1Nαjyjxj⋅x+b), 其中 α = \alpha= α= ( α 1 , α 2 , ⋯ , α N ) T \left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{N}\right)^{\mathrm{T}} (α1,α2,⋯,αN)T
(1) α ← 0 , b ← 0 \alpha \leftarrow 0, b \leftarrow 0 α←0,b←0
(2) 在训练集中选取数据 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi);
(3) 如果 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ⩽ 0 y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0 yi(∑j=1Nαjyjxj⋅xi+b)⩽0,
α i ← α i + η b ← b + η y i \begin{aligned} \alpha_{i}& \leftarrow & \alpha_{i}+\eta \\ b &\leftarrow& b+\eta y_{i} \end{aligned} αib←←αi+ηb+ηyi
(4) 转至 (2) 直到没有误分类数据。 -
GRAM矩阵
对偶形式中训练实例仅以内积的形式出现,可预先将训练集中实例之间的内积计算出来并一矩阵形式存储,这个矩阵就是GRAM矩阵,具体形式为n维欧式空间中任意个向量的内积所组成的矩阵
设 X X X 为特征矩阵, X = ( x 1 , x 2 , ⋯ , x n ) T X=({x}_{1} , {x}_{2} , \cdots ,{x}_{n})^T X=(x1,x2,⋯,xn)T
G = [ x i ⋅ x j ] N × N = X T X = [ x 1 T x 2 T ⋮ x n T ] [ x 1 x 2 ⋯ x n ] = [ x 1 T x 1 x 1 T x 2 ⋯ x 1 T x n x 2 T x 1 x 2 T x 2 ⋯ x 2 T x n x n T x 1 x n T x 2 ⋯ x n T x n ] \begin{aligned} G&=\left[x_{i} \cdot x_{j}\right]_{N \times N} \\ &=X^{T} X\\ &=\left[\begin{array}{c} {x}_{1}^{T} \\ {x}_{2}^{T} \\ \vdots \\ {x}_{n}^{T} \end{array}\right]\left[\begin{array}{llll} {x}_{1} & {x}_{2} \cdots & {x}_{n} \end{array}\right]\\ &=\left[\begin{array}{cccc} {x}_{1}^{T} {x}_{1} & {x}_{1}^{T} {x}_{2} & \cdots & {x}_{1}^{T} {x}_{n} \\ {x}_{2}^{T} {x}_{1} & {x}_{2}^{T} {x}_{2} & \cdots & {x}_{2}^{T} {x}_{n} \\ {x}_{n}^{T} {x}_{1} & {x}_{n}^{T} {x}_{2} & \cdots & {x}_{n}^{T} {x}_{n} \end{array}\right] \end{aligned} G=[xi⋅xj]N×N=XTX=⎣ ⎡x1Tx2T⋮xnT⎦ ⎤[x1x2⋯xn]=⎣ ⎡x1Tx1x2Tx1xnTx1x1Tx2x2Tx2xnTx2⋯⋯⋯x1Txnx2TxnxnTxn⎦ ⎤ -
对偶形式的基本想法是, 将 w w w 和 b b b 表示为实例 x i x_{i} xi 和标记 y i y_{i} yi 的线性组合的形式, 通过求解其系数而求得 w w w 和 b b b 。不失一般性, 在算法 2.1 2.1 2.1 中可假设初始值 w 0 , b 0 w_{0}, b_{0} w0,b0 均为 0 。对误分类点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 通过
w ← w + η y i x i b ← b + η y i \begin{aligned} w &\leftarrow w+\eta y_{i} x_{i} \\ b &\leftarrow b+\eta y_{i} \end{aligned} wb←w+ηyixi←b+ηyi
逐步修改 w , b w, b w,b, 设修改 n n n 次, 则 w , b w, b w,b 关于 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 的增量分别是
α i y i x i \alpha_{i} y_{i} x_{i} αiyixi和
α i y i \alpha_{i} y_{i} αiyi,这里 α i = n i η \alpha_{i}=n_{i} \eta αi=niη. 这样, 从学习过程不难看出, 最后学习到的 w , b w, b w,b 可以分别表示为
w = ∑ i = 1 N α i y i x i b = ∑ i = 1 N α i y i \begin{gathered} w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} \\ b=\sum_{i=1}^{N} \alpha_{i} y_{i} \end{gathered} w=i=1∑Nαiyixib=i=1∑Nαiyi
这里, α i ⩾ 0 , i = 1 , 2 , ⋯ , N \alpha_{i} \geqslant 0, i=1,2, \cdots, N αi⩾0,i=1,2,⋯,N, 当 η = 1 \eta=1 η=1 时, 表示第 i i i 个实例点由于误分而进行更新的 次数。实例点更新次数越多, 意味着它距离分离超平面越近, 也就越难正确分类。换 句话说, 这样的实例对学习结果影响最大。
算法的收敛性
-
对于线性可分数据集感知机学习算法原始形式收敛, 经过有限次迭 代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型,即对于线性可分数据集,感知机学习算法一定可以得到一个存在的超平面 w x + b = 0 wx+b=0 wx+b=0可以把训练集完全分开,其中的 w w w记为 w o p t w_{opt} wopt, b b b记为 b o p t b_{opt} bopt,则分离超平面为
w o p t x + b o p t = 0 w_{opt}x+b_{opt}=0 woptx+bopt=0
将偏置 b b b 并入权重向量 w = ( w 1 , w 2 , . . . , w n ) w=(w_1,w_2,...,w_n) w=(w1,w2,...,wn)(行向量), 记作
w ^ = ( w T , b ) T = ( w 1 , w 2 , . . . , w n , b ) \begin{aligned} \hat{w}&=\left(w^{\mathrm{T}}, b\right)^{\mathrm{T}} \\ &= (w_1,w_2,...,w_n,b) \end{aligned} w^=(wT,b)T=(w1,w2,...,wn,b)
同样也将 输入向量 x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T(列向量)加以扩充, 加进常数 1 , 记作
x ^ = ( x T , 1 ) T = ( x 1 , x 2 , . . . , x n , 1 ) T \begin{aligned} \hat{x}&=&\left(x^{\mathrm{T}}, 1\right)^{\mathrm{T}} \\ &=&(x_1,x_2,...,x_n,1)^T \end{aligned} x^==(xT,1)T(x1,x2,...,xn,1)T
综合
{ w ^ = ( w T , b ) T x ^ = ( x T , 1 ) T \left\{ \begin{aligned} \hat{w}&=\left(w^{\mathrm{T}}, b\right)^{\mathrm{T}} \\ \hat{x}&=\left(x^{\mathrm{T}}, 1\right)^{\mathrm{T}}\\ \end{aligned} \right. ⎩ ⎨ ⎧w^x^=(wT,b)T=(xT,1)T这样, x ^ ∈ R n + 1 , w ^ ∈ R n + 1 \hat{x} \in \mathbf{R}^{n+1}, \hat{w} \in \mathbf{R}^{n+1} x^∈Rn+1,w^∈Rn+1 。显 然 w ^ ⋅ x ^ = w ⋅ x + b \hat{w} \cdot \hat{x}=w \cdot x+b w^⋅x^=w⋅x+b
-
定理 2.1 (Novikoff)
设训练数据集 T = { ( x i , y i ) } i = 1 N T=\left\{ (x_i,y_i)\right\}_{i=1}^N T={(xi,yi)}i=1N 是线 性可分的, 其中 x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , ⋯ , N x_{i} \in \mathcal{X}=\mathbf{R}^{n}, y_{i} \in \mathcal{Y}=\{-1,+1\}, i=1,2, \cdots, N xi∈X=Rn,yi∈Y={−1,+1},i=1,2,⋯,N, 则
(1) 存在满足条件 ∥ w ^ o p t ∥ = 1 \left\|\hat{w}_{\mathrm{opt}}\right\|=1 ∥w^opt∥=1 的超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0 w^opt⋅x^=wopt⋅x+bopt=0 将训练数 据集完全正确分开; 且存在 γ > 0 \gamma>0 γ>0, 对所有 i = 1 , 2 , ⋯ , N i=1,2, \cdots, N i=1,2,⋯,N
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ⩾ γ y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \geqslant \gamma yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)⩾γ
(2) 令 R = max 1 ⩽ i ⩽ N ∥ x ^ i ∥ R=\max _{1 \leqslant i \leqslant N}\left\|\hat{x}_{i}\right\| R=max1⩽i⩽N∥x^i∥, 则感知机算法 2.1 2.1 2.1 在训练数据集上的误分类次数 k k k 满足 不等式
k ⩽ ( R γ ) 2 k \leqslant\left(\frac{R}{\gamma}\right)^{2} k⩽(γR)2 -
定理证明:
(1)、因为训练数据集是线性可分,所以存在 ∥ w ^ o p t ∥ = 1 \left\|\hat{w}_{\mathrm{opt}}\right\|=1 ∥w^opt∥=1的超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0 w^opt⋅x^=wopt⋅x+bopt=0可将训练数 据集完全正确分开, 那么对于任意样本实例 X i X_i Xi, i = 1 , 2 , ⋯ , N i=1,2, \cdots, N i=1,2,⋯,N, 均有
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) > 0 y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right)>0 yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)>0
所以存在
γ = min i { w ^ o p t ⋅ x ^ i } = min i { y i ( w o p t ⋅ x i + b o p t ) } \begin{aligned} \gamma&=\min _{i}\left\{ \hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i} \right\}\\ &=\min _{i}\left\{y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right)\right\} \end{aligned} γ=imin{w^opt⋅x^i}=imin{yi(wopt⋅xi+bopt)}
即 γ \gamma γ为所有实例中 w ^ o p t ⋅ x ^ i \hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i} w^opt⋅x^i最小的,有
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ⩾ γ ⇒ y i ( w ^ o p t ⋅ x ^ i ) ≥ γ \begin{aligned} y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)&=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \geqslant \gamma \\ \Rightarrow y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)&\geq \gamma \end{aligned} yi(w^opt⋅x^i)⇒yi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)⩾γ≥γ(2)、 感知机算法从 w ^ 0 = 0 \hat{w}_{0}=0 w^0=0 开始, 如果实例被误分类, 则更新权重。令 w ^ k − 1 \hat{w}_{k-1} w^k−1 是第 k k k 个误分类实例之前的扩充权重向量, 即
w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \hat{w}_{k-1}=\left(w_{k-1}^{\mathrm{T}}, b_{k-1}\right)^{\mathrm{T}} w^k−1=(wk−1T,bk−1)T
则第 k k k 个误分类实例的条件是
y i ( w ^ k − 1 ⋅ x ^ i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) ⩽ 0 y_{i}\left(\hat{w}_{k-1} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{k-1} \cdot x_{i}+b_{k-1}\right) \leqslant 0 yi(w^k−1⋅x^i)=yi(wk−1⋅xi+bk−1)⩽0
若 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 是被 w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \hat{w}_{k-1}=\left(w_{k-1}^{\mathrm{T}}, b_{k-1}\right)^{\mathrm{T}} w^k−1=(wk−1T,bk−1)T 误分类的数据, 则 w w w 和 b b b 的更新是
{ w k ← w k − 1 + η y i x i b k ← b k − 1 + η y i \left\{ \begin{aligned} w_{k} &\leftarrow w_{k-1}+\eta y_{i} x_{i} \\ b_{k} &\leftarrow b_{k-1}+\eta y_{i} \end{aligned} \right. {wkbk←wk−1+ηyixi←bk−1+ηyi
即
{ w k ← w k − 1 + η y i x i b k ← b k − 1 + η y i w ^ = ( w T , b ) T x ^ = ( x T , 1 ) T ⇒ w ^ k = ( w k T , b k ) T = ( ( w k − 1 + η y i x i ) T , ( b k − 1 , η y i ) ) T = ( ( w k − 1 T + η y i x i T ) , ( b k − 1 , η y i ) ) T = ( ( w k − 1 T , b k − 1 ) + ( η y i x i T , η y i ) ) T = ( ( w k − 1 T , b k − 1 ) + η y i ⋅ ( x i T , 1 ) ) T = ( w k − 1 T , b k − 1 ) T + η y i ⋅ ( x i T , 1 ) T = w ^ k − 1 + η y i x ^ i \left\{ \begin{aligned} w_{k} &\leftarrow w_{k-1}+\eta y_{i} x_{i} \\ b_{k} &\leftarrow b_{k-1}+\eta y_{i}\\ \hat{w}&=\left(w^{\mathrm{T}}, b\right)^{\mathrm{T}} \\ \hat{x}&=\left(x^{\mathrm{T}}, 1\right)^{\mathrm{T}}\\ \end{aligned}\right. \\ \begin{aligned} \Rightarrow \quad \hat{w}_k \quad &= \left(w_k^{\mathrm{T}}, b_k\right)^{\mathrm{T}} \\ &=\left( (w_{k-1}+\eta y_ix_i)^T,(b_{k-1},\eta y_i) \right)^T \\ &=\left( (w_{k-1}^T+\eta y_ix_i^T),(b_{k-1},\eta y_i) \right)^T\\ &=\left( (w_{k-1}^T,b_{k-1})+(\eta y_ix_i^T,\eta y_i) \right)^T \\ &=\left( (w_{k-1}^T,b_{k-1})+\eta y_i\cdot(x_i^T,1) \right)^T \\ &=(w_{k-1}^T,b_{k-1})^T+\eta y_i\cdot(x_i^T,1)^T \\ &=\hat{w}_{k-1}+\eta y_{i} \hat{x}_{i} \end{aligned} ⎩ ⎨ ⎧wkbkw^x^←wk−1+ηyixi←bk−1+ηyi=(wT,b)T=(xT,1)T⇒w^k=(wkT,bk)T=((wk−1+ηyixi)T,(bk−1,ηyi))T=((wk−1T+ηyixiT),(bk−1,ηyi))T=((wk−1T,bk−1)+(ηyixiT,ηyi))T=((wk−1T,bk−1)+ηyi⋅(xiT,1))T=(wk−1T,bk−1)T+ηyi⋅(xiT,1)T=w^k−1+ηyix^i
下面推导两个不等式-
w ^ k ⋅ w ^ o p t ⩾ k η γ \hat{w}_{k} \cdot \hat{w}_{\mathrm{opt}} \geqslant k \eta \gamma w^k⋅w^opt⩾kηγ
w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i w ^ o p t ⋅ x ^ i \begin{aligned} \hat{w}_{k} \cdot \hat{w}_{\mathrm{opt}} &=\hat{w}_{k-1} \cdot \hat{w}_{\mathrm{opt}}+\eta y_{i} \hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i} \\ \end{aligned} w^k⋅w^opt=w^k−1⋅w^opt+ηyiw^opt⋅x^i
由于
y i ( w ^ o p t ⋅ x ^ i ) ≥ γ y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)\geq \gamma yi(w^opt⋅x^i)≥γ
所以
w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i w ^ o p t ⋅ x ^ i ⩾ w ^ k − 1 ⋅ w ^ o p t + η γ ⩾ w ^ k − 2 ⋅ w ^ o p t + 2 η γ ⩾ ⋯ ⩾ k η γ \begin{aligned} \hat{w}_{k} \cdot \hat{w}_{\mathrm{opt}} &=\hat{w}_{k-1} \cdot \hat{w}_{\mathrm{opt}}+\eta y_{i} \hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i} \\ & \geqslant \hat{w}_{k-1} \cdot \hat{w}_{\mathrm{opt}}+\eta \gamma \\ &\geqslant \hat{w}_{k-2} \cdot \hat{w}_{\mathrm{opt}}+2 \eta \gamma \\ &\geqslant \cdots \\ &\geqslant k \eta \gamma \end{aligned} w^k⋅w^opt=w^k−1⋅w^opt+ηyiw^opt⋅x^i⩾w^k−1⋅w^opt+ηγ⩾w^k−2⋅w^opt+2ηγ⩾⋯⩾kηγ -
∥ w ^ k ∥ 2 ⩽ k η 2 R 2 \left\|\hat{w}_{k}\right\|^{2} \leqslant k \eta^{2} R^{2} ∥w^k∥2⩽kη2R2
{ γ ≤ y i ( w ^ o p t ⋅ x ^ i ) w ^ k = w ^ k − 1 + η y i x ^ i ∥ a + b ∥ 2 = ( a + b ) T ⋅ ( a + b ) = ∥ a ∥ 2 + 2 a b + ∥ b ∥ 2 R = max 1 ≤ i ≤ n ∥ x x ^ i ∥ ⇒ ∥ w ^ k ∥ 2 = ∥ w ^ k − 1 + η y i x ^ i ∥ 2 = ∥ w ^ k − 1 ∥ 2 + 2 η y i w ^ k − 1 ⋅ x ^ i + η 2 ∥ x ^ i ∥ 2 ∵ y i ∈ { − 1 , 1 } , 对误分类点, y i = − 1 , ∴ 2 η y i w ^ k − 1 ⋅ x ^ i < 0 ⩽ ∥ w ^ k − 1 ∥ 2 + η 2 ∥ x ^ i ∥ 2 ⩽ ∥ w ^ k − 1 ∥ 2 + η 2 R 2 ⩽ ∥ w ^ k − 2 ∥ 2 + 2 η 2 R 2 ⩽ ⋯ ⩽ k η 2 R 2 \left\{ \begin{aligned} \gamma &\leq y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right) \\ \hat{w}_k &= \hat{w}_{k-1}+\eta y_{i} \hat{x}_{i} \\ \|a+b\|^2 &= (a+b)^T\cdot(a+b)\\ &= \|a\|^2+2ab+\|b\|^2 \\ R &= \max_{1\leq i\leq n} \|x \hat{x}_i\| \end{aligned}\right. \\ \begin{aligned} \Rightarrow \quad \quad \quad \quad \left\|\hat{w}_{k}\right\|^{2} &=\|\hat{w}_{k-1}+\eta y_{i} \hat{x}_{i}\|^2 \\ &=\left\|\hat{w}_{k-1}\right\|^{2}+2 \eta y_{i} \hat{w}_{k-1} \cdot \hat{x}_{i}+\eta^{2}\left\|\hat{x}_{i}\right\|^{2} \\ \\ &\because y_i \isin \{-1,1\},对误分类点,y_i=-1,\therefore 2 \eta y_{i} \hat{w}_{k-1} \cdot \hat{x}_{i} < 0 \\ \\ & \leqslant\left\|\hat{w}_{k-1}\right\|^{2}+\eta^{2}\left\|\hat{x}_{i}\right\|^{2} \\ & \leqslant\left\|\hat{w}_{k-1}\right\|^{2}+\eta^{2} R^{2} \\ & \leqslant\left\|\hat{w}_{k-2}\right\|^{2}+2 \eta^{2} R^{2} \\ &\leqslant \cdots \\ & \leqslant k \eta^{2} R^{2} \end{aligned} ⎩ ⎨ ⎧γw^k∥a+b∥2R≤yi(w^opt⋅x^i)=w^k−1+ηyix^i=(a+b)T⋅(a+b)=∥a∥2+2ab+∥b∥2=1≤i≤nmax∥xx^i∥⇒∥w^k∥2=∥w^k−1+ηyix^i∥2=∥w^k−1∥2+2ηyiw^k−1⋅x^i+η2∥x^i∥2∵yi∈{−1,1},对误分类点,yi=−1,∴2ηyiw^k−1⋅x^i<0⩽∥w^k−1∥2+η2∥x^i∥2⩽∥w^k−1∥2+η2R2⩽∥w^k−2∥2+2η2R2⩽⋯⩽kη2R2
结合这两个不等式
{ w ^ k ⋅ w ^ o p t ⩾ k η γ ∥ w ^ k ∥ 2 ⩽ k η 2 R 2 柯西不等式 : α ⋅ β ≤ ∥ α ∥ ⋅ ∥ β ∥ ⇒ k η γ ⩽ w ^ k ⋅ w ^ opt ⩽ ∥ w ^ k ∥ ∥ w ^ opt ∥ = ∥ w ^ k ∥ ∵ ∥ w ^ opt ∥ = 1 , 为了得到唯一超平面 ⇒ k η γ = ∥ w ^ k ∥ ⩽ k η 2 R 2 ⇒ k ⩽ ( R γ ) 2 \left\{ \begin{aligned} \hat{w}_{k} \cdot \hat{w}_{\mathrm{opt}} &\geqslant k \eta \gamma \\ \left\|\hat{w}_{k}\right\|^{2} &\leqslant k \eta^{2} R^{2} \\ 柯西不等式:\alpha \cdot \beta &\leq \|\alpha\| \cdot \|\beta\| \end{aligned}\right. \\ \begin{aligned} \Rightarrow \quad\quad\quad\quad k \eta \gamma &\leqslant \hat{w}_{k} \cdot \hat{w}_{\text {opt }} \\ &\leqslant \left\|\hat{w}_{k}\right\|\left\|\hat{w}_{\text {opt }}\right\| \\ & = \|\hat{w}_{k}\| \\ &\because \|\hat{w}_{\text {opt }}\| = 1,为了得到唯一超平面 \\ \Rightarrow \quad\quad\quad\quad k \eta \gamma &= \|\hat{w}_{k}\| \\ & \leqslant \sqrt{k\eta^2R^2} \\ \Rightarrow \quad\quad\quad\quad k &\leqslant\left( \frac{R}{\gamma} \right)^2 \end{aligned} ⎩ ⎨ ⎧w^k⋅w^opt∥w^k∥2柯西不等式:α⋅β⩾kηγ⩽kη2R2≤∥α∥⋅∥β∥⇒kηγ⇒kηγ⇒k⩽w^k⋅w^opt ⩽∥w^k∥∥w^opt ∥=∥w^k∥∵∥w^opt ∥=1,为了得到唯一超平面=∥w^k∥⩽kη2R2⩽(γR)2
证明完毕 -
-
定理表明, 误分类的次数 k k k 是有上界的, 经过有限次搜索可以找到将训练数据完 全正确分开的分离超平面。也
就是说, 当训练数据集线性可分时, 感知机学习算法原 始形式迭代是收敛的,这里只证明原始形态的算法收敛性,与原始形态一样,对偶形式迭代也是收敛的,也存在多个解
。但是感知机学习算法存在许多解, 这些解既依赖 于初值的选择, 也依赖于迭代过程中误分类点的选择顺序。为了得到唯一的超平面, 需要对分离超平面增加约束条件(比如约束平面法向量模长为1 ∥ w ^ o p t ∥ = 1 \|\hat{w}_{opt}\| = 1 ∥w^opt∥=1)。 当训练集线性不可分时, 感知机学习算法不收敛, 迭代结果会发生震荡。