知错能改的感知机(Perceptron)

感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此导入了基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机是神经网络与支持向量机的基础。

划重点:简单说就是个二分类的线性分类模型,感知机学习,就是通过训练数据集,求得感知机模型,即求的模型参数。

感知机模型

  • 由输入空间到输出空间的如下函数称为感知机:

![](http://www.forkosh.com/mathtex.cgi? f(x)=sign(w.x+b))w叫做权值(weight)或权值向量,b叫做偏置(bias)。

  • 感知机模型的原理:给每一个属性一个权重w,对属性值和权重的乘积求和,将这个值和一个阀值(0/1)进行比较,可以判定比如是否录用这个应聘者。

  • 感知机的几何解释:线性方程.
    线性分类器的几何表示:直线、平面、超平面。

  • 对应于特征空间Rn中的一个超平面S,其中w是超平面的法向量[注],b是超平面的截距。这个超平面将特征空间划分为两个部分,位于两部分的点分别被分为正、负两类。因此,超平面S称为分离超平面(separating hyperplanes)。

注:比如在二维平面里,分界是一条直线的情形下,y=wTx,那么分界线对应的y取值都是0,此时对于这条线来说,w就是分界线的法向量。

感知机是咋学习的,为啥说它是知错能改?

1>假设数据集线性可分,感知机的学习目标是求得一个能够将训练集正实例点和负实例点完全正确分开的超平面。为了找到这个超平面,即确定感知机模型参数w,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。

损失函数的一个自然选择是误分类点的总数,但是损失函数不是w,b的连续可导函数,不易优化。损失函数的另一个选择是计算误分类点到超平面的总距离。 输入空间中任一点x0x0到超平面S的距离为:

任一点到超平面距离

感知机sign(w.x+b)学习的损失函数定义为(重点):

损失函数

一个特定样本的损失函数,在误分类的时候该函数是w和b的线性函数,而正确分类的时候是0,因此损失函数时w和b的连续可导函数。

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

2>感知机学习算法转化为求解感知机损失函数的最优化问题,最优化的方法是随机梯度下降法。

学习算法:
输入:训练数据集T、学习率α
输出:w,b;感知机模型f(x)=sign(w.x + b)
(1)选取初值w0,b0
(2)在训练集中选取数据(xi,yi)
(3)如果yi(w.xi + b) <= 0,使用随机梯度下降法更新w和b
(4)转至(2),直至训练集中没有误分类点(重复的将误分类的点一直更新)

任意选取一个超平面w0,b0w0,b0,然后用梯度下降法不断地极小化目标函数

梯度

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



其中η是步长,又称为学习速率。这样通过迭代可以期待损失函数L(w,b)不断减小,直到0.

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

  • 刚开始,随便一点,开始两个相同类型连线即法向量,作垂线得到初始的分类平面(线)


    初始(来源:台湾国立大学林老师课程)
  • 当检测到错误后,通过旋转开始修正,得到优化的分类


  • 不断检测,直到没有错误


    最后

但是这个PLA算法真的会停吗?

分两种情况讨论:数据线性可分;数据线性不可分

注意PLA 停止的条件是,对任何数据分类都正确,显然数据线性不可分时PLA 无法停止,那么我们可以用Pocket算法,运用贪心思想找到一个比较好的。

数据线性可分:

一定存在完美的w(记为wf), 使得所有的(xi, yi), yi = sign(wf*xi).可知:

下面证明在数据线性可分时,简单的感知机算法会收敛。(这个是根据林老师的定义给的,我感觉比较清晰,详细的可以看《统计学习方法》第二章)


而且量向量夹角余弦值不会大于1,可知T 的值有限。T=1,即向量内积为1,两向量重合,由此,我们证明了简单的PLA 算法可以收敛。

数据线性不可分:

Pocket Algorithm当数据线性不可分时(存在噪音),简单的PLA 算法显然无法收敛。我们要讨论的是如何得到近似的结果。我们希望尽可能将所有结果做对,即:

寻找wg 是一个NP-hard 问题!只能找到近似解。算法如下:


Pocket Algorithm

与简单PLA 的区别:迭代有限次数(提前设定);随机地寻找分错的数据(而不是循环遍历);只有当新得到的w 比之前得到的最好的wg 还要好时,才更新wg(这里的好指的是分出来的错误更少)。由于计算w 后要和之前的wg 比较错误率来决定是否更新wg, 所以pocket algorithm 比简单的PLA 方法要低效。

关于对偶形式以及两种算法代码实现可以参见:

感知机-码农场
Reference:
《统计学习方法》第二章
《机器学习基石》台湾国立大学第8,9

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容

  • 【概述】 1、感知机模型特征:感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。 2、感知机策...
    sealaes阅读 3,091评论 2 3
  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 39,885评论 12 145
  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 10,937评论 0 7
  • 为什么明白了很多道理却依然过不好这一生?有个人的回答特别漂亮,原话是这样的: “因为在你过活的每一天里,弄明白一百...
    贤聊时光阅读 411评论 0 1
  • 积绪难平久,独寻古镇游。 堂前观偶戏,榭上赏银钩。 酒巷人声陌,歌台瑟曲幽。 贪杯不胜力,怯上木雕楼。 金舟老师点...
    偲瞳阅读 527评论 0 4