感知机模型

目录

一、感知机模型

1.1定义(感知机)

1.2几何解释

二、损失函数

三、学习算法

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

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

一、感知机模型

1.1定义(感知机)

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

f(x)=sign(w*x+b)

称为感知机。

w、b:感知机模型参数

w\in R^n:权值或权值向量

b\in R:偏置

sign(x)=\begin{cases} +1\text{,} x>=0 \\ -1\text{, } x<0 \end{cases}

感知机是一种线性分类模型,属于判别模型。

1.2几何解释

        线性方程w*x+b=0对应于特征空间R^n中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分成两个部分。位于两部分的点(特征向量)划分为正、负两类。因此,超平面S称为分离超平面。

二、损失函数

        误分类点到超平面S的总距离。

        输入空间R^n中任一点x_{0}到超平面S的距离:

\frac{1}{\left | \left |w \right | \right |}\left | w*x_{0}+b \right |

这里\left | \left | w \right | \right |是w的L_{2}范数。

        对于误分类的数据\left ( x_{i},y_{i} \right )来说,-y_{i}\left ( w*x_{i}+b \right )>0成立,所以误分类点x_{i}到超平面S的距离是

-\frac{1}{\left | \left | w \right | \right |}y_{i}\left ( w*x_{i}+b \right ),

则所有误分类点到超平面S的总距离为

-\frac{1}{\left | \left | w \right | \right |}\sum_{x_{i}\in M}^{}y_{i}\left ( w*x_{i}+b \right )

不考虑\frac{1}{\left | \left | w \right | \right |},就可以得到感知机学习的损失函数。

L\left ( w,b \right )=-\sum_{x_{i}\in M}^{}y_{i}\left ( w*x_{i}+b \right )

        其中,M是误分类点的集合。

        感知机学习的策略是在假设空间中选取使损失函数最小的模型参数w,b,即感知机模型。

三、学习算法

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

输入:训练数据集T=\left \{ \left ( x_{1},y_{1} \right ),\left ( x_{2},y_{2} \right ),...,\left ( x_{N},y_{N} \right ) \right \},其中x_{i}\in X,y_{i}\in Y=\left \{ -1,+1 \right \},i=1,2,...,N;学习率\eta \left ( 0<\eta \leqslant 1 \right )

输出:w,b;

感知机模型:f(x)=sign(w*x+b)

(1)选取初值w_{0},b_{0}

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

(3)如果y_{i}\left ( w*x_{i}+b \right )\leqslant 0(被误分类)

w=w+\eta y_{i}x_{i}

b=b+\eta y_{i}

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

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

对偶形式的基本思想:将w和b表示为实例x_{i}和标记y_{i}的线性组合的形式,通过求解其系数而求得w和b。对于感知机来说,简单来说,就是用α去记录每个y_{i},x_{i}要加多少次,最后一次加上去就好了。

我们假设样本点\left ( x_{i},y_{i} \right )在更新过程中使用了n_{i}次。因此从原始的学习过程中可以得到,最后学习到的w和b可以分门表示为:

w=\sum_{N}^{1}n_{i}\eta y_{i}x_{i}=\sum_{N}^{1}\alpha _{i} y_{i}x_{i}                (1)

b=\sum_{N}^{1}n_{i}\eta y_{i}=\sum_{N}^{1}\alpha _{i} y_{i}                      (2)

考虑n_{i}的含义:如果n_{i}的值越大,意味着这个样本点经常被误分类。什么样的点容易被误分类,很明显是离超平面很近的点。超平面稍微移动一点,这个点就由正变负,或者由负变正。

\alpha =n_{i}\eta

输入:训练数据集T=\left \{ \left ( x_{1},y_{1} \right ),\left ( x_{2},y_{2} \right ),...,\left ( x_{N},y_{N} \right ) \right \},其中x_{i}\in X,y_{i}\in Y=\left \{ -1,+1 \right \},i=1,2,...,N;学习率\eta \left ( 0<\eta \leqslant 1 \right )

输出:\alpha ,b

感知机模型:f(x)=sign(\sum_{j=1}^{N}\alpha _{j}y_{j}x_{j}*x+b)

其中\alpha =(\alpha_{1}, \alpha_{2},... \alpha_{N} )^{T}

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

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

(3)如果y_{i}(\sum_{j=1}^{N}\alpha _{j}y_{j}x_{j}*x_{i}+b)\leqslant 0(被误分类)

\alpha _{i}\leftarrow \alpha _{i}+\eta

b\leftarrow b+\eta y_{i}

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

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

G=\left [ x_{i}*x_{j} \right ]_{N*N}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值