统计学习方法第二版 学习笔记 第二章 感知机

一、统计学习三要素

1.1 模型

        感知机是二分类线性分类模型,属于判别模型,对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面w \cdot x + b = 0。其输出为实例的类别,取-1+1二值,模型预测值由以下函数给出:

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

其中,sign是符号函数,即

sign(x) = \left\{\begin{matrix} 1, & x\ge 0\\ -1, & x < 0 \end{matrix}\right.

1.1.1 模型的假设空间

        定义在特征空间中的所有线性分类模型,即函数集合\left \{ f|f(x) = w \cdot x + b \right \}

1.2 策略---经验风险最小化 

        感知机算法假设数据集是线性可分的,采用基于误分类的损失函数,其含义是误分类点到超平面S的总距离:

-\sum_{x_i \in M}\frac{1}{\left \| w \right \| } y_i(w\cdot x_i + b)

其中,- y_i (w \cdot x_i + b) > 0,\,\,\,\,\, \left |y_i \right | = 1, \ M是所有误分类点的集合

        由于点到直线的距离可以进行归一化,因此,可以去掉\frac{1}{\left \| w \right \|},得到感知机的损失函数如下:

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

        感知机采用经验风险最小化的策略,将求解模型参数转换成求解使损失函数最小的参数的最优化问题,即

min_{w, b} - \sum _{x_i \in M} y_i (w \cdot x_i + b)

1.3 算法---随机梯度下降法

        感知机模型采用随机梯度下降法求解模型参数,包括原始形式和对偶形式两种方式。首先,随机选取一个超平面w_0, \ b_0,一次随机选取一个误分类点使其梯度下降。

        通过对上述最优化问题的参数求偏导,可得到参数w, \, b的梯度如下:

 \bigtriangledown L_w = -\sum_{x_i \in M} y_i \cdot x_i

\bigtriangledown L_b = -\sum_{x_i \in M} y_i

1.3.1 原始形式

        输入:训练数据集T,其中,y_i \in \mathcal{Y} = \{ -1, +1\};学习率\eta \, (0 < \eta \leq 1)

        输出:w, \, b;感知机模型f(x) = sign(w \cdot x + b)

        训练过程:

        ① 选取初始值w_0, \, b_0

        ② 在训练集中选取数据(x_i, \, y_i)

        ③ 如果y_i(w \cdot x_i + b) \leq 0

w \leftarrow w + \eta y_i \cdot x_i

b \leftarrow b + \eta y_i

        ④ 转至②,直至训练集中没有误分类点。

        直观解释:当有一个实例点的误分类,即位于分离超平面的错误一侧时,则调整w, \, b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,直至超过该误分类点使其被正确分类。

(1) 算法的收敛性

        对于线性可分数据集感知机学习算法原始形式收敛,即经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。

        记\hat{w} = (w^T, b)^T\hat{x} = (x^T, 1)^T,则\hat{w} \cdot \hat{x} = w \cdot x + b

        Novikoff定理:假设训练数据集是线性可分的,y_i \in \mathcal{Y} = \{-1, \, +1\},则

        (1)存在满足条件\left \| \hat{w}_{opt} \right \| = 1的超平面\hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b_{opt} = 0将训练数据集完全正确分开;且存在\gamma > 0,对所有i = 1, \, 2, \, ... \, , N

y_i \cdot (\hat{w}_{opt} \cdot \hat{x}) = y_i (w_{opt} \cdot x_i + b_{opt}) \geqslant \gamma

        (2)令R = max_{1 \le i \le N} \left \| \hat{x}_i \right \|,则感知机算法在训练数据集上的误分类次数k满足不等式

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

        证明:

        (1)由于训练数据集是线性可分的,则存在超平面可将训练数据集完全正确分开,取此超平面为\hat{w}_{opt} \cdot \hat{x} = w_{opt} \cdot x + b_{opt} = 0,使\left \| \hat{w}_{opt} \right \| = 1。由于对有限的i=1, 2, \, ...\, , N,均有

y_i (\hat{w}_{opt} \cdot \hat{x}_i) = y_i(w_{opt} \cdot x_i + b_{opt}) > 0

所以存在

\gamma = min_{i} \{y_i(w_{opt} \cdot x_i + b_{opt}) \}

使

y_i(\hat{w}_{opt} \cdot \hat{x_i}) = y_i(w_{opt} \cdot x_i + b_{opt}) \geq \gamma

        (2)感知机算法从\hat{w}_0 = 0开始,如果实例被误分类,则更新权重。令\hat{w}_{k-1}是第k个误分类实例之前的扩充向量,即

\hat{w}_{k-1} = (w_{k-1}^T, b_{k-1})^T

则第k个误分类实例的条件是

y_i(\hat{w}_{k-1} \cdot \hat{x}_i) = y_i(w_{k-1} \cdot x_i + b_{k-1}) \leq 0

(x_i, y_i)是被\hat{w}_{k-1}误分类的数据,则wb的更新是

w_k \leftarrow w_{k-1} + \eta y_i x_i

b_k \leftarrow b_{k-1} + \eta y_i

\hat{w}_k = \hat{w}_{k-1} + \eta y_i \hat{x}_i

由此可得如下不等式1:

\begin{aligned} \hat{w}_k \cdot \hat{w}_{opt} &= \hat{w}_{k-1} \cdot \hat{w}_{opt} + \eta y_i \hat{w}_{opt} \cdot \hat{x}_i \\ & \geq \hat{w}_{k-1} \cdot \hat{w}_{opt} + \eta \gamma \\ &\geq \hat{w}_{k-2} \cdot \hat{w}_{opt} + 2\eta \gamma \\ &\geq ... \\ &\geq k\eta \gamma \end{}

不等式2:

\begin{aligned} \left \| \hat{w}_k \right \|^2 &= \left \| \hat{w}_{k-1} \right \|^2 + \eta ^2 \left \| \hat{x}_i \right \|^2 + 2\eta y_i \hat{w}_{k-1} \cdot \hat{x}_i \\ &\leq \left \| \hat{w}_{k-1} \right \|^2 + \eta ^2 R ^2 \\ &\leq \left \| \hat{w}_{k-2} \right \|^2 + 2 \eta ^2 R ^2 \\ &\leq ... \\ &\leq k \eta ^2 R ^2 \end{}

又不等1和不等式2,可得:

k^2\eta ^2 \gamma ^2 \leq \left \| \hat{w}_k \right \|^2 \leq k\eta ^2 R^2

从而

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

        定理表明,误分类的次数k是有上届的,经过有限次搜索可以找到将训练数据完全正确分开的分离超平面。也就是说,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。

1.3.2 对偶形式

        SVM的对偶形式通过使用拉格朗日乘子解原始最优化问题的对偶问题得到;感知机没有约束条件,因此没有拉格朗日对偶形式,其通过梯度下降法解最优化问题得到其对偶形式。    

        感知机对偶形式的基本想法是将wb表示为实例x_i和标记y_i的线性组合的形式,通过求解其系数而求得wb

        假设原始形式中的初值w_0, \, b_0均为0,则w, \, b可以分别表示为:

w = \sum_{i=1}^{N}\alpha _i y_i x_i

b = \sum_{i=1}^{N}\alpha _i y_i


其中,\alpha _i = n_i \eta \geq 0n_i表示第i个实例点由于误分类而进行更新的次数;当\eta =1时,\alpha _i等价于n_i。实例点更新次数越多,意味着它离分离超平面越近,也就越难正确分类,也即该实例点对学习结果影响越大。

         (1)对偶形式的表示     

        输入:训练数据集T,其中,y_i \in \mathcal{Y} = \{ -1, +1\};学习率\eta \, (0 < \eta \leq 1)

        输出:\alpha , \, b;感知机模型f(x) = sign(\sum_{j=1}^{N} \alpha _j y_j x_j \cdot x + b),其中,\alpha = (\alpha _1, \alpha _2, \, ... \, , \alpha _N)^T

        训练过程:

        (1)\alpha \leftarrow 0, \, b\leftarrow 0

        (2)在训练集中选取数据(x_i, \, y_i)

        (3)如果y_i (\sum_{j=1}^{N}\alpha_j y_jx_j \cdot x_i + b) \geq 0

\alpha_i \leftarrow \alpha_i + \eta

b \leftarrow b + \eta y_i

        (4)转至(2)直至没有错误分类数据。

        对偶形式中训练实例仅以内积的形式出现。为了方便期间,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵,如下:

\mathbf{G} = \left [ x_i \cdot x_j \right ]_{N \times N}

二、感知机算法的特点

        优点:简单,易于实现,是神经网络与支持向量机的基础。

        缺点

        (1)存在多个解,依赖于初值的选择,也依赖于误分类点的选择顺序;为了得到唯一的超平面,需要对分离超平面增加约束条件,这就是支持向量机的新想法;

        (2)当数据集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

        (3)感知机是线性模型,不能表示复杂的函数,如异或。

附录

1. 感知机算法的对偶形式是如何推导出来的? - 知乎

你可能感兴趣的:(统计机器学习第二版学习笔记,分类,算法)