统计学习方法——感知机

(二分类)线性模型:

                输入空间 :x\subseteq R^{n};                     输入: x=\left ( x^{\left ( 1 \right )},x^{\left ( 2 \right )},\cdots ,x^{\left ( n \right )} \right )^{T}\in X

                输出空间:Y=\left \{ +1,-1 \right \};      输出:y\in Y

                感知机:   f(x)=sign(w\cdot x+b)=\left\{\begin{matrix} +1, w\cdot x+b\geq 0& \\ -1,w\cdot x+b< 0& \end{matrix}\right.

其中,w=(w^{(1)},w^{(2)},\cdots ,w^{(n)})^{T}\in R^{n}称为权值(weight),b\in R称为偏置(Bias),

w\cdot x表示内积     w\cdot x=w^{(1)}x^{(1)}+w^{(2)}x^{(2)}+\cdots +w^{(n)}x^{(n)}

                 假设空间:  F=\left \{ f|f(x)=w\cdot x+b \right \}

学习策略

数据集的线性可分性

给定数据集:T=\left \{ \left ( x_{1} ,y_{1}\right ),\left ( x_{2} ,y_{2}\right ) ,\cdots ,\left ( x_{n} ,y_{n}\right )\right \}

若存在某个超平面S     :w\cdot x+b=0

能够将数据集的正负实例点完全正确的划分到超平面两侧,即

                                 \left\{\begin{matrix} y_{i}=+1& \\ y_{i}=-1& \end{matrix}\right.      则    \begin{matrix} w\cdot x_{i} +b> 0 & \\ w\cdot x_{i} +b< 0& \end{matrix}

那么,称T为线性可分数据集;否则,称T为线性不可分。

\forall x_{0}\in R^{n}S 的距离:   \frac{1}{\left \| w \right \|}\left | w\cdot x_{0} +b\right |

  • x_{0}是正确分类点,则    \frac{1}{\left \| w \right \|}\left | w\cdot x_{0} +b\right |=\left\{\begin{matrix} \frac{w\cdot x_{0}+b}{\left \| w \right \|} ,y_{0}=+1& \\ -\frac{w\cdot x_{0}+b}{\left \| w \right \|} ,y_{0}=-1& \end{matrix}\right.
  • x_{0}是错误分类点,则   \frac{1}{\left \| w \right \|}\left | w\cdot x_{0} +b\right |=\left\{\begin{matrix} \frac{w\cdot x_{0}+b}{\left \| w \right \|} ,y_{0}=+1& \\ -\frac{w\cdot x_{0}+b}{\left \| w \right \|} ,y_{0}=-1& \end{matrix}\right.=\frac{-y_{0}(w\cdot x_{0}+b)}{\left \| w \right \|}
  • 误分类点x_{i}S的距离:\frac{-y_{i}(w\cdot x_{i}+b)}{\left \| w \right \|}
  • 所有误分类点到S的距离:\frac{-1}{\left \| w \right \|}\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b)    其中,M代表所有误分类点的集合。
  • 损失函数:L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b)

梯度下降法:

梯度指:某一函数在该点处最大的方向导数,沿着该方向可取得最大的变化率。\triangledown =\frac{\partial f(\theta )}{\partial \theta }

f(\theta )是凸函数,可通过梯度下降法进行优化:\theta ^{(k+1)}=\theta ^{(k)}-\eta \triangledown f(\theta ^{(k)})

梯度下降法的算法:

输入:目标函数f(\theta ),   步长\eta,    计算精度\epsilon ;

输出:f(\theta )的极小点\theta ^{*}

  1. 选取初始值\theta ^{0}\in R^{n}, 置k=0
  2. 计算f(\theta ^{(k)})
  3. 计算梯度\triangledown f(\theta ^{(k)})
  4. \theta ^{(k+1)}=\theta ^{(k)}-\eta \triangledown f(\theta ^{(k)}),计算f(\theta ^{(k+1)})。当\left \| f(\theta ^{(k+1)})-f(\theta ^{(k)}) \right \|< \varepsilon或者\left \| \theta ^{(k+1)} -\theta ^{(k)}\right \|< \varepsilon时,停止迭代,令\theta ^{*}=\theta ^{(k+1)}
  5. 否则,置k=k+1,转到第3步。

原理:可用泰勒展开f(\theta )\approx f(\theta ^{(k)})+(\theta -\theta ^{(k)})\triangledown f(\theta ^{(k)})

  • \theta -\theta ^{(k)的单位向量用v表示,\eta {}'为标量。   \theta -\theta ^{(k)}={\eta }'v
  • 重新表达,f(\theta )\approx f(\theta ^{(k)})+{\eta }'v\triangledown f(\theta ^{(k)})
  • 更新\theta使函数值变小,f(\theta )-f(\theta ^{(k)})\approx {\eta }'v\cdot \triangledown f(\theta ^{(k)})< 0\Rightarrow v\cdot \triangledown f(\theta ^{(k)})< 0
  • 互为反向,v=-\frac{\triangledown f(\theta ^{(k)})}{\left \| \triangledown f(\theta ^{(k)}) \right \|}
  • 更新\theta\theta ^{(k+1)}=\theta ^{(k)}-{\eta }'\frac{\triangledown f(\theta ^{(k)})}{\left \| \triangledown f(\theta ^{(k)}) \right \|}
  • 化简:\theta ^{(k+1)}=\theta ^{(k)}-\eta \triangledown f(\theta ^{(k)})

原始形式

损失函数:L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}(w\cdot x_{i}+b)

梯度:  \triangledown _{w}L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}x_{i}   ;              \triangledown _{b}L(w,b)=-\sum_{x_{i}\in M}^{}y_{i}   

参数更新:

  • 批量梯度下降法(Batch Gradient Descent):每次迭代时使用所有误分类点来进行参数更新。   

              w\leftarrow w+\eta \sum_{x_{i}\in M}^{}y_{i}x_{i} ;              b\leftarrow b+\eta \sum_{x_{i}\in M}^{}y_{i}  其中,\eta (0< \eta \leq 1)代表步长。

  • 随机梯度下降法(Stochastic Gradient Descent):每次随机选取一个误分类点。迭代速度会比批量梯度下降法快。

                w\leftarrow w+\eta y_{i}x_{i}       ;                b\leftarrow b+\eta 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 X\subseteq R^{n},     y\in Y=\left \{ +1,-1 \right \};    步长\eta (0< \eta \leq 1)

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

  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步,直到训练集中没有误分类点。

不同的顺序可以得到不同分离超平面

对偶形式

  • 在原始形式中,若(x_{i},y_{i})为误分类点,可如下更新参数:w\leftarrow w+\eta y_{i}x_{i};  b\leftarrow b+\eta y_{i}
  • 假设初始值w_{0}=0,b_{0}=0,对误分类点(x_{i},y_{i})通过上述公式更新参数,修改n_{i}次之后,w,b的增量分别为\alpha _{i}y_{i}x_{i}\alpha _{i}y_{i},其中\alpha _{i}=n_{i}\eta
  • 最后学习到的参数为   w=\sum_{i=1}^{N}\alpha _{i}y_{i}x_{i};      b=\sum_{i=1}^{N}\alpha _{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 X\subseteq R^{n},     y\in Y=\left \{ +1,-1 \right \};    步长\eta (0< \eta \leq 1)

 输出 :wb; 感知机模型f(x)=sign(\sum_{j=1}^{N}\alpha _{j}y_{j}x_{j}\cdot x+b),  其中\alpha =(\alpha _{1},\alpha _{2},\cdots ,\alpha _{N})^{T}

  1. 选取初始值\alpha ^{\left \langle 0 \right \rangle}=(0,0,\cdots ,0)^{T},b^{\left \langle 0 \right \rangle}=0;
  2. 于训练集中随机选取数据(x_{i},y_{i})
  3. f(x)=sign(\sum_{j=1}^{N}\alpha _{j}y_{j}x_{j}\cdot x+b)\leq 0,    \alpha _{i}\leftarrow \alpha _{i}+\eta;   b\leftarrow b+\eta y_{i}
  4. 转到第2步,直到训练集中没有误分类点。

我们将迭代条件展开来:y_{i}=\sum_{j=1}^{N}\alpha _{j}y_{j}x_{j}\cdot x+b=y_{i}\left [ (\alpha _{1}y_{1}x_{1}+\alpha _{2}y_{2}x_{2}+\cdots +\alpha _{N}y_{N}x_{N})\cdot x_{i}+b \right ]=y_{i}(\alpha _{1}y_{1}x_{1}\cdot x_{i}+\alpha _{2}y_{2}x_{2}\cdot x_{i}+\cdots +\alpha _{N}y_{N}x_{N}\cdot x_{i}+b)\leq 0

为了计算方便,可以令Gram矩阵:G=\left [ x_{i}\cdot x_{j} \right ]_{N\times N}=\begin{bmatrix} x_{1}\cdot x_{1} & x_{1}\cdot x_{2} & \cdots & x_{1}\cdot x_{N} \\ x_{2}\cdot x_{1}& x_{2}\cdot x_{2} & \cdots &x_{2}\cdot x_{N} \\ \vdots & \vdots & &\vdots \\ x_{N}\cdot x_{1}&x_{N}\cdot x_{2} & \cdots & x_{N}\cdot x_{N} \end{bmatrix}

收敛性:

定理

\hat{w}=(w^{T},b)^{T},\hat{x}=(x^{T},1)T为扩充之后,则分离超平面可以写为  \hat{w}\cdot \hat{x}=0

若训练集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 X\subseteq R^{n}y\in Y=\left \{ +1,-1 \right \},则

  • 存在满足条件\left \| \hat{w}_{opt} \right \|=1(最优的扩充权重向量)的超平面\hat{w}_{opt}\cdot \hat{x}=0可将T完全正确分开;且\exists \gamma > 0,对所有i=1,2,\cdots ,Ny_{i}(\hat{w}_{opt}\cdot \hat{x})\geq \gamma

证明:  因为T线性可分

             所以\exists超平面\hat{w}\cdot \hat{x}=w\cdot x +b_{opt}=0T完全正确分开。(不妨令\left \| \hat{w}_{opt} \right \|=1

            那么,对有限的i=1,2,\cdots ,N均有y_{i}(\hat{w}_{opt}\cdot \hat{x}_{i})=y_{i}(w_{opt}\cdot x_{i}+b_{opt})> 0

            记\gamma =min_{i}\left \{ y_{i}(w_{opt}\cdot x_{i}+b_{opt}) \right \},则有y_{i}(\hat{w}_{opt}\cdot \hat{x}_{i})=y_{i}(w_{opt}\cdot x_{i}+b_{opt})\geq \gamma

  • R=max_{1\leq i\leq N}\left \| \hat{x}_{i} \right \|,则感知机算法在T上的误分类次数 k满足不等式k\leq (\frac{R }{\gamma })^{2}

证明:假设\hat{w}_{0}=0,若实例被误分类,则更新权重。令\hat{w}_{k-1}为第k个误分类实例之前的扩充权重向量,即\hat{w}_{k-1}=(w^{T}_{k-1},b_{k-1})     

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})为第k个误分类实例,更新参数,\left\{\begin{matrix} w_{k}\leftarrow w_{k-1}+\eta y_{i}x_{i} & \\ b_{k}\leftarrow b_{k-1}+\eta y_{i}& \end{matrix}\right.\Rightarrow \hat{w}_{k}=w_{k-1}+\eta y_{i}x_{i}

为了证明迭代次数是有限的,下面推导两个不等式

\left\{\begin{matrix} \hat{w}_{k} \cdot \hat{w}_{opt}\geq k\eta \gamma & \\ \left \| \hat{w} \right \|^{2}\leq k\eta ^{2}R^{2}& \end{matrix}\right.

证明:

1.\hat{w}_{k} \cdot \hat{w}_{opt}\geq k\eta \gamma\hat{w}_{k} \cdot \hat{w}_{opt}=(\hat{w}_{k-1}+\eta y_{i}\hat{x}_{i})\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 \cdots \cdots \geq \hat{w}_{1}\cdot \hat{w}_{opt}+(k-1)\eta \gamma \cdots \cdots \geq \hat{w}_{0}\cdot \hat{w}_{opt}+k\eta \gamma=k\eta \gamma

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

\left \| \hat{w} \right \|^{2}=\left \| \hat{w}_{k-1}+\eta y_{i}\hat{x}_{i} \right \|^{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}\leq \left \| \hat{w}_{k-1} \right \|^{2}+\eta ^{2}\left \| \hat{x}_{i} \right \|^{2}\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}\cdots \cdots \leq \left \| \hat{w}_{1} \right \|^{2}+(k-1)\eta ^{2}R^{2}\leq \left \| \hat{w}_{0} \right \|^{2}+k\eta ^{2}R^{2}=k\eta ^{2}R^{2}

结合所得两个不等式,\left\{\begin{matrix} \hat{w}_{k} \cdot \hat{w}_{opt}\geq k\eta \gamma & \\ \left \| \hat{w} \right \|^{2}\leq k\eta ^{2}R^{2}& \end{matrix}\right.\Rightarrow k\eta \gamma \leq \hat{w}_{k}\cdot \hat{w}_{opt}\leq \left \| \hat{w}_{k} \right \|\left \| \hat{w}_{opt} \right \|\leq \sqrt{k}\eta R

所以k\eta \gamma \leq \sqrt{k}\eta R\Rightarrow k^{2}\gamma ^{2}\leq kR^{2}             于是,有k\leq (\frac{\gamma }{R})^{2}

算法具有收敛性:对于线性可分的T,经过有限次搜索,可得将T完全正确分开的分离超平面。

算法也具有依赖性:不同的初值选择,或者迭代过程中不同的误分类点选择顺序,可能会得到不同的分离超平面。

对于线性不可分的T,算法不收敛,迭代结果会发生震荡。

为得到唯一分离超平面,需增加约束条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值