感知机算法原理

微信公众号:数据挖掘与分析学习

感知机是一种二分类的线性模型。输入为数据的特征向量,输出为对应的类别,在感知机中取+1和-1。感知机通过寻找一个超平面,将特征空间进行先行划分,正确分离为正负两类。通过导入基于误分类的损失函数,利用梯度下降来最小化损失函数,从而求得感知机模型。利用感知机模型对新的输入数据进行预测分类。感知机算法简单、易于实现,是神经网络和支持向量机的基础。

1.感知机模型

输入:x,特征向量

输出:{+1,-1},类别

由输入到输出的函数如下:

上式称为感知机,其中,w,b为感知机模型参数,也就是我们待求的参数。通常称w为权重,b为偏置。表示内积。Sign表示:

        

感知机模型的假设空间是定在特征空间上的所有线性分类模型,即函数集合

感知机的集合解释如下:线性方程

对于特征空间中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。超平面将特征空间划分为两部分,分别为正类和负类。因此S称为分离超平面。

感知机的学习根据训练数据集:

T={(x1,y1),(x2,y2),...,(xN,yN)},yi={+1,-1}

求得感知机模型的参数w,b.然后根据参数对新的输入进行计算预测。

 

2.感知机学习策略

2.1 数据集的线性可分

给定数据集:

输入:T={(x1,y1),(x2,y2),...,(xN,yN)},yi={+1,-1}

输出:yi={+1,-1}

如果存在超平面S:

能够将数据集的正负实例点正确的划分到超平面两侧,则对于yi=+1的实例i,有

;

对于yi=-1的实例i,有。则称数据集T为线性可分数据集

 

2.2 学习策略

目标:寻找一个超平面,将训练数据集正确地划分为正负实例点。也就是要定义一个损失函数并将其最小化。

损失函数:误分类点到超平面S的距离之和,任一点到平面的距离为:

其中,||w||是w的L2范数。

对于误分类数据(xi,yi)来说:

因此,误分类点xi到超平面的距离为:

假设误分类点集合为M,则所有误分类点到超平面S的距离之和为:

不考虑1/||w||,就得到感知机学习的损失函数: 

显然,损失函数L(w,b)是非负的,如果没有误分类点,损失函数值为0.而且误分类点越少,离超平面越近,损失函数值就越小。

 

3.学习算法

最小化损失函数:

采用随机梯度下降法求解。损失函数L(w,b)的梯度为:

随机选取一个误分类点(xi,yi)对w,b进行更新:

其中,是学习率。通过迭代不断减小损失函数。

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值