《统计学习方法》学习笔记2——感知机

一、感知机模型

1、感知机定义:假设输入空间(特征空间)是\chi \subseteq R^{n},输出空间是\tau =\left \{ +1,-1 \right \}。输入x\in \tau表示实例的特征向量,对应于输入空间的点;输出y表示实例的类别。由输入空间到输出空间的如下函数

\large f\left ( x \right )=sign\left ( \omega \cdot x+b \right )

称为感知机。\large \omega \in R^{n}  称为权值(weight)或权值向量(weight vector),\large b\in R  叫做偏置(bias)。\large \omega \cdot x  表示两者的内积。sign是符号函数:

\large sign=+1, x\geq 0 ,sign=-1,x< 0  。

感知机的几何解释:线性方程   \large \omega \cdot x+b=0 对应于特征空间中的一个超平面S,其中 \large \omega 是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两个部分。这两部分的点分别称为正、负两类。因此,超平面S称为分离超平面,如下图所示。

下图

感知机学习主要为了求得 \large \omega 和 b ,感知机预测:通过学习得到的感知机模型,对于新的输入实例给出其对应的输出类别。

二、感知机学习策略

1、数据集的线性可分性:给定数据集  \large T=\left \{ \left ( x _{1} ,y_{1}\right ),\left ( x _{2} ,y_{2}\right ),...\left ( x _{n} ,y_{n}\right ) \right \left \right\}  ,其中,x_{i}\in \chi = R^{n}y_{i}\in\tau = \left \{ +1,-1 \right \} ,i=1,2,...N  ,如果存在某个超平面S:\large \omega \cdot x+b=0 ,能够将数据的正负实例完全正确地划分到超平面的两侧,即对所有的\large y_{i}=+1  的实例 i,有\large \omega \cdot x_{i}+b> 0 ,对所有\large y_{i}=-1的实例 i,有\large \omega \cdot x_{i}+b< 0 , 则称数据集T为线性可分数据集。否则,称数据集T线性不可分。

2、感知机学习的目标是为了求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。为了找出这样的超平面(即确定\large \omega和b),需要确定一个学习策略,即定义损失函数并将损失函数最小化。

        损失函数是误分类点到超平面S的距离:\large \frac{\left | \omega \cdot x_{0}+b \right |}{\left \| \omega \right \|}    ,其次,对于误分类的数据 \large \left ( x_{i},y_{i} \right ) 来说,- \large y_{i}\left ( \omega \cdot x_{i}+b\right )>0 。因为当\large \omega \cdot x_{i}+b> 0 ,\large y_{i}=-1,当\large \omega \cdot x_{i}+b< 0 ,\large y_{i}=1 。因此,误分类点到超平面的距离为:\large -\frac{\left | \omega \cdot x_{0}+b \right |}{\left \| \omega \right \|}。假设超平面S的误分类点集合为M。那么,所有误分类点到超平面S的总距离为:  \large -\frac{1}{\left \| \omega \right \| }\sum_{x_{i}\in M}y_{i}\left ( \omega \cdot x_{i}+b \right ) ,不考虑\large -\frac{1}{\left \| \omega \right \| } ,得损失函数为:

给定数据集: \large T=\left \{ \left ( x _{1} ,y_{1}\right ),\left ( x _{2} ,y_{2}\right ),...\left ( x _{n} ,y_{n}\right ) \right \left \right\}  ,其中,x_{i}\in \chi = R^{n}y_{i}\in\tau = \left \{ +1,-1 \right \} ,i=1,2,...N  ,感知机\dpi{100} \large sign\left ( \omega \cdot x+b \right )学习的损失函数定义为:\large L\left ( \omega ,b \right )=-\sum_{x_{i}\in M}y_{i}\left ( \omega \cdot x_{i}+b \right )    ,这个损失函数就是感知机学习的经验风险函数。

三、感知机的数学表达

输入:训练数据集\large T=\left \{ \left ( x _{1} ,y_{1}\right ),\left ( x _{2} ,y_{2}\right ),...\left ( x _{n} ,y_{n}\right ) \right \left \right\}  ,其中,x_{i}\in \chi = R^{n}y_{i}\in\tau = \left \{ +1,-1 \right \} ,i=1,2,...N;学习率\large \eta\large 0<\eta\leq 1);

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

(1)选取初值\large \omega _{0},b_{0}

(2)在训练集中选取数据\large \left ( x_{i},y_{i} \right ) 

(3)如果\large y_{i}\left ( \omega \cdot x_{i}+b\right )\leq 0   

        \large \omega \leftarrow \omega +\eta y_{i}x_{i}

      \large b\leftarrow b+\eta y_{i}

(4)转到(2),直至训练集中没有误分点。

 四、算法的收敛性

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

       为了便于叙述与推导,将偏置 b 并入权重 \omega ,记作 \hat{w}=\left(w^{\top}, b\right)^{T} ,同样也将输入向量加以扩充,加入常数1,记作 \hat{x}=\left(x^{T}, 1\right)^{T} 。这样,\hat{x} \in \mathbf{R}^{n+1}, \quad \hat{w} \in \mathbf{R}^{n+1}  ,显然,\hat{w} \cdot \hat{x}=w \cdot x+b  。

定理 (Novikoff):  设训练数据集  T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\}  ,是线性可分的,其中x_{i} \in \mathcal{X}=\mathbf{R}^{n}, \quad y_{i} \in \mathcal{Y}=\{-1,+1\}, \quad i=1,2, \cdots, N ,则

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

                                                              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 _{1<i<N}\left\|\hat{x}_{i}\right\|  ,则感知机算法在训练数据集上的误分类次数k满足不等式

                                                                                          k \leqslant\left(\frac{R}{\gamma}\right)^{2}

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

对偶形式的原理,将  \omega  和 b 表示为实例 x_{i} 和标记 y_{i} 的线性组合的形式。

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

输入:线性可分的数据集  T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} ,其中 x_{i} \in \mathbf{R}^{n}, y_{i} \in\{-1,+1\}, \quad i=1,2, \cdots, N ;学习率\eta(0<\eta \leqslant 1) ;

输出:a,b;感知机模型     f(x)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right)  。

其中 \alpha=\left(\alpha_{1}, \alpha_{2}, \cdots, \alpha_{N}\right)^{T} 。

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

(2)在训练集中选择数据 \left(x_{i}, y_{i}\right) 

(3) 如果 y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0  

       \begin{array}{l}{\alpha_{i} \leftarrow \alpha_{i}+\eta} \\ {b \leftarrow b+\eta y_{i}}\end{array}

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值