机器学习爱好者

感知机算法及收敛性证明

2019-06-15  本文已影响0人  单调不减

1、感知机算法简述

感知机算法其实已经很熟悉了,这次看《统计学习方法》权当复习一遍,然后有一个point对我来说是新的——感知机算法实际上采用了随机梯度下降。这其实是一个很显然的点,但我之前看到的资料都是直接说明了超平面参数的更新方式,并从几何直观上解释了这样做是为了让超平面向误分样本点的方向旋转,而未从梯度的角度来解释,这里补充一下这个角度。

感知机(perceptron)是二分类线性分类模型,其输入空间(特征空间)是X\subseteq R^n,输出空间是Y=\{+1,-1\},由输入空间到输出空间的如下函数:

f(x)=sign(w\cdot x+b)

称为感知机。w\in R^nb\in R分别是感知机的权值和偏置。

感知机的损失函数定义为所有误分类点到超平面的距离之和,即:

L(w,b)=-\sum_{x_i\in M}y_i (w\cdot x_i+b)

其中M表示误分类点的集合,若M固定,则损失函数梯度为:

\bigtriangledown_w L(w,b)=-\sum_{x_i\in M}y_i x_i

\bigtriangledown_b L(w,b)=-\sum_{x_i\in M}y_i

采用随机梯度下降法,每次随机选取一个误分类点(x_i,y_i),对w,b进行更新:

w\leftarrow w+\eta y_i x_i

b\leftarrow b+\eta y_i

其中\eta(0<\eta\leq 1)称为学习率。

感知机算法流程如下:

(1)选取初值w_0,b_0
(2)在训练集中选取数据(x_i,y_i)
(3)如果y_i(w\cdot x_i+b)\leq 0,则更新参数:

w\leftarrow w+\eta y_i x_i

b\leftarrow b+\eta y_i

(4)转至(2)直至训练集中无误分点。

2、感知机算法收敛性证明

所谓感知机算法的收敛性,就是说只要给定而分类问题是线性可分的,那么按上述感知机算法进行操作,在有限次迭代后一定可以找到一个可将样本完全分类正确的超平面。

首先,为了方便推导,我们将偏置b并入权重向量w,记作\hat{w}=(w^T,b)^T,同样将输入向量加以扩充,记作\hat{x}=(x^T,1)^T,显然,\hat{w}\cdot\hat{x}=w\cdot x+b

既然样本是线性可分的,我们可以假设有一个满足条件||\hat{w}_{opt}||=1的超平面\hat{w}_{opt}将样本点完全正确分开,且存在\gamma>0,对所有i=1,2,\dots,N,有:

y_i(\hat{w}_{opt}\cdot \hat{x}_i)\geq \gamma

R=\max_{1\leq i\leq N}||\hat{x}_i||,则感知机算法在训练集上误分类次数k满足:

k\leq ( \frac{R}{\gamma})^2

证明:

\begin{aligned} \hat{w}_k\cdot \hat{w}_{opt} & = \hat{w}_{k-1}\cdot \hat{w}_{opt}+\eta y_i \hat{w}_{opt}\cdot x_i\\ & \geq \hat{w}_{k-1}\cdot \hat{w}_{opt}+\eta \gamma\\ & \geq \dots \\ & \geq k\eta \gamma \end{aligned}

\begin{aligned} ||\hat{w}_k||^2&=||\hat{w}_{k-1}+\eta y_i x_i||^2\\ &=||\hat{w}_{k-1}||^2+\eta^2||x_i||^2+2\eta\hat{w}_{k-1}y_i x_i\\ &\leq ||\hat{w}_{k-1}||^2+\eta^2 R^2\\ &\leq \dots\\ &\leq k\eta^2 R^2\\ \end{aligned}

结合上述两个结论,可以得到:

k\eta \gamma\leq\hat{w}_k\cdot \hat{w}_{opt}\leq||\hat{w}_k|| ||\hat{w}_{opt}||\leq \sqrt{k}\eta R

\Rightarrow k\leq(\frac{R}{\gamma})^2

从而感知机算法的收敛性得证。

上一篇 下一篇

猜你喜欢

热点阅读