统计学习方法——第2章 感知机模型

感知机(perception)是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型

2.1 感知机模型

f(x)=sign(wx+b) f(x)=\operatorname{sign}(w \cdot x+b)

wwbb为感知机模型参数,wRnw \in \mathbf{R}^{n}叫做权重或权值向量,bRb \in \mathbf{R}叫做偏置,wxw\cdot x表示内积。

几何解释

线性方程wx+b=0w\cdot x + b = 0对应于特征空间 Rn\mathbf{R}^{n}的一个超平面SS,其中ww是超平面的法向量,bb是超平面的截距。这个超平面SS将特征空间划分为正负两类样本的空间。SS称为分离超平面。

线性可分性:如果存在某个超平面SS能够将正实例点和负实例点完全正确地划分到超平面两侧,则数据集具有线性可分性。

定理(Novikoff):设训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T = \{ (x_1, y_1), (x_2, y_2), ... , (x_N, y_N)\}是线性可分的,其中xiX=Rnx_{i} \in \mathcal{X}=\mathbf{R}^{n},yiY={1,+1}y_{i} \in \mathcal{Y}=\{-1,+1\},则:

(1)存在满足条件w^opt=1||\hat w_{opt}|| = 1的超平面w^optx^=woptx+bopt=0\hat{w}_{\mathrm{opt}} \cdot \hat{x}=w_{\mathrm{opt}} \cdot x+b_{\mathrm{opt}}=0将数据集完全正确分开;且存在γ>0\gamma >0,满足:
yi(w^optx^i)=yi(woptxi+bopt)γ 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
(2)令R=max{x^i}R = max\{||\hat x_i||\},则感知算法在训练数据集上的误分类次数kk满足不等式:
k(Rγ)2 k \leqslant\left(\frac{R}{\gamma}\right)^{2}

2.2 感知机学习策略

对于误分类点(xi,yi)(x_i,y_i), 当wx+b>0w\cdot x+b >0时,yi=1y_i=-1;当wx+b<0w\cdot x+b <0时,yi=+1y_i=+1,所以有:
yi(wx+b)>0 -y_i(w\cdot x + b ) > 0
误分类点(xi,yi)(x_i,y_i)到超平面SS的距离为:
d=yi(wx+b)w d = -\dfrac{y_i(w\cdot x + b)}{||w||}
设所有误分类点到超平面SS的集合为MM,则总距离(忽略1w\dfrac{1}{||w||}) 为:
ds=xiMyi(wx+b) d_s = -\sum_{x_i \in M}y_i(w\cdot x +b)
因此,感知机sign(wx+b)\operatorname{sign}(w \cdot x+b)的损失函数定义为:
L(w,b)=xiMyi(wx+b) L(w,b) = -\sum_{x_i \in M}y_i(w\cdot x + b)

即感知机学习的是经验风险最小化的损失函数(经验风险函数)。

2.3 原始形式的感知机学习算法

感知机学习算法是误分类驱动,采用随机梯度下降(SGD)算法。随机选取超平面(w0,b0)(w_0,b_0),采用梯度下降算法最小化损失函数。对于误分类点(xi,yi)(x_i,y_i),满足:yi(wx+b0)y_i(w\cdot x + b \leqslant 0),采用如下更新方式:

ww的梯度计算:wL(w,b)=xiMyixi\nabla_{w} L(w, b)=-\sum_{x_{i} \in M} y_{i} x_{i};更新公式:ww+ηyixiw \leftarrow w+\eta y_{i} x_{i}

bb的梯度计算:bL(w,b)=xiMyi\nabla_{b} L(w, b)=-\sum_{x_{i} \in M} y_{i};更新公式:bb+ηyib \leftarrow b+\eta y_{i}

:感知机学习由于采用不同的初值或选取不同的误分类点,解可以不同。由Novikoff定理可知,误分类次数kk存在上界,经过有限次搜索可以找到将训练数据集完全分开的分离超平面,即当数据集线性可分时,感知学习算法是收敛的。为了得到唯一超平面,需要对超平面添加约束条件,即线性支持向量机。当训练数据集线性不可分时,感知机学习算法不收敛,迭代结果会发生振荡。

2.4 对偶形式的感知机学习算法

感知机模型:
f(x)=sign(j=1Nαjyjxjx+b) f(x)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right)
其中α=(α1,α2, ,αN)T\alpha=\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{N}\right)^{\mathrm{T}}αi=niη\alpha_{i}=n_{i} \eta,对于yi(j=1Nαjyjxjxi+b)0y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0,采用如下更新公式:

ww+ηyixiw \leftarrow w+\eta y_{i} x_{i},最终学习的w=i=1Nαiyixiw=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}

bb+ηyib \leftarrow b+\eta y_{i},最终学习的b=i=1Nαiyib=\sum_{i=1}^{N} \alpha_{i} y_{i}

为了方便,可以预定义并存储实例间内积矩阵,即Gram Matrix:G=[xixj]N×NG=\left[x_{i} \cdot x_{j}\right]_{N\times N}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章