机器学习笔记(二)感知器perceptron

一、感知器介绍

以银行给用户发信用卡为例:

x为用户的特征向量每一维度代表一个特征,例如年龄、收入、工作年限、负债情况等,y为发给信用卡的情况,+1代表发,-1代表不发

感知器的模型为

以二维特征空间为例:

其中 w0 + w1x1 + w2x2 = 0 为二维平面的分割线

二、算法实现(Perceptron Learning Algorithm,PLA)

对于t轮迭代的过程中,每一轮迭代,都可以找到数据样本(特征向量)在现有的权重wt下的输出结果与原来标签不相同,表示样本数据犯了错误

用犯错的样本更新权重

样本标签为正,wx乘积为负,即w与x两个向量的夹角大于90度(过大,要小于90度),w和x相加的向量小于90度,此时w+yx=w+x(由于y=+1)

样本标签为负,wx乘积为正,即w与x两个向量的夹角小于90度(过小,要大于90度),w和x相减的向量小于90度,此时w+yx=w-x(由于y=-1)

所以无论wx的乘积的正负,只有样本犯错,更新方法均为

将这一轮权重wt与yx的和作为下一轮的权重,知道没有错误的样本出现,迭代结束

三、算法证明

对于线性可分的数据,PLA算法最终才能停止,数据不是线性可分,则PLA算法(不允许有错误样本的情况)不能停止

假设对于线性可分的数据资料存在一个理想的wf,可以把数据完美的分开:

则可得到yn和wf*xn是同号的,可知yn*wf*xn > 0,对于数据中的任何一个点,在迭代过程中:

成立,则在更新的过程中可知:

wf*w(t+1)是越来越大,即w(t+1)与wf越来越接近,要找的函数越来越接近理想函数

在有错误分类样本数据的情况下,yn和wf*xn是异号的,有:

又更新权重的公式可得:

则可知,每次更新的权重不大于,即错误样本的权重更新有限制

可得

由于

的最大值为1,可知迭代次数T的最大为,即T在有限次的情况下会停止算法。

四、数据非线性可分的情况

在现实中,数据资料往往不是线性可分的,并且事先不知道资料是否线性可分,PLA算法不能用于直接的数据,并且数据在含有噪声的情况下,就算是线性可分的数据往往变得线性不可分

所以,退一步,找到一条数据样本错误分类最小的线,作为最终的函数:

这是一个NP-hard问题

更新权重后,比较wt和w(t+1)两种情况下的错误,如果错误较少则更新权重,跑过足够多的迭代次数后结束算法。

 

转载于:https://www.cnblogs.com/zsw900610/p/6826919.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值