NLP学习笔记-感知机

  感知机是一个二类分类的线性分类模型。输入为实例的向量,输出为类别,取值为+1或-1。实际上是将实例通过一个超平面划分为正负两类,属于判别模型。感知机学习旨在求出将训练 数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度 下降法对损失函数进行极小化,求得感知机模型.感知机学习算法具有简单而易 于实现的优点,分为原始形式和对偶形式.

 

感知机模型

  输入空间x为特征向量,输出空间y为1或-1,即对x的分类,由输入到输出的函数为f(x)=sign(w·x+b),称为感知机。b叫做偏置常数,w·x表示w和x的内积,sign是符号函数。

    

  线性方程w·x+b=0对应在空间中的一个超平面S,w是超平面法向量,b是截距,这个面将特征划为两部分。感知机学习就是通过训练集,求得感知机模型中的参数w,b。然后用通过学习的感知机模型,对于新的输入给出输出。

 

感知机学习策略

   

  对于一个数据集T,如果存在一个超平面wx+b=0可以将正负实例点完全正确划分,那么数据集T为线性可分数据集。

  感知机的学习正是寻找这样的平面,为了能找到,需要定义损失函数并使损失函数最小。

   

  损失函数是对于数据集中的误分类点,使用上式计算该点到超平面S的距离,求其总和就得到了感知机学习的损失函数。定义为

    

    其中M为误分类点的集合。误分类点越少,误分类点离超平面越近,损失函数就越小。

 

感知机的学习算法

  感知机的学习算法就是求解损失函数式最优化的问题

  原始形式

    输入训练集T和学习率n;

    输出为w,b;感知机模型为f(x)=sign(w·x+b)

    (1)选取初值w0,b0,一般默认为0。

    (2)在训练集中选取数据x,y

    (3)如果y(w·x+b)≤0,即不符合要求,那么

        w=w+nyx    b=b+ny

    (4)转到(2),直到没有误分类点

 

  对偶形式 

    由原始形式可知,每次错误时w增加nyx,b增加ny,实际上w和b可以写为

    

    若经过m次修改,则a=mn。对偶学习的步骤可以写为

    输入训练集T和学习率n;

    输出为w,b;感知机模型为

    (1)a,b赋值为零

    (2)在训练集中选数据(x,y)

    (3)如果

        a=a+n  b=b+ny

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

 

posted @ 2022-05-06 20:57  wisdom_jie  阅读(94)  评论(0编辑  收藏  举报