林轩田机器学习基石感知机算法(二)

上一章节我们介绍了机器学习的第一个学习算法PLA,以此向大家介绍具体的H是什么样的。这一节我们将向大家介绍神奇的PLA如何自动确定w和threshhold(如何自动在平面中选择划分线)。

 

 

首先我们想:平面上有那么多条直线,那么我们要挑选出来的g要有哪些特点才算好呢?

 

之前章节告诉我们:好的g接近于上帝视角的f。可是我们不是先知,没有办法知道理想f长什么样。

 

但我们可以逆向思考:虽然我们不知道f长什么样,但给我们训练模型的数据有着f的踪迹,即我们学习出来的g不仅能在测试数据中表现良好,在之前训练数据中也应该不差。于是这也给了我们一个启发即:理想下g(xn)=f(xn)=yn。

 

上一节我们讲过,为了简化式子而把threshhold化为w0,于是算法的关键都在w向量上。

 

那么有了这条逆向思考的前提下,我们想到一个办法便是先随机初始化一个w向量(我们用下标n表示第n次修改,初始化视为w0),通过不断修改w的表现来使得g在之前训练数据上表现良好,从而不断接近f。这便是PLA算法的思想。

 

 

那么什么时候才要修改w的表现呢?当然是用w来算的阈值与对于训练数据结果yn不同时,参见上图①式(我们也称为犯错)。而难点是我们知道w错了,可是要怎么修改它呢?

 

上图②式和右边的画面给出了解释,而很多小伙伴表示看不懂,其实是因为他们忽略了一个点:两个向量内积的大小与夹角有关:

A·B = |A| × |B| × cosθ 。

 

当正式结果yn=1而我们预测出-1时,很明显我们算得的值偏小,这说明内积小,也说明w与x夹角偏大(因为算的是x与w的内积,180度内,角度越大cos越小),为了修正它我们需要将内积调大,于是我们想到将w于x夹角调小,于是根据向量加法有②式(秒在yn是+1)。当yn=-1时情况类似。

 

 

于是我们来看看具体PLA的实现,它的核心思想是不断修改错误,直到一整圈(全部数据点在同一个w测试下都不犯错)都不再有错后停止。

 

还不太了解的小伙伴也不用担心,后头会在算法实践中给出代码(按捺不住的也可以自己搜代码,撸一遍就懂了)。

 

接下来我们用图来看看PLA的工作情况。

 

 

上图中红蓝交界线与w是垂直的,因为这条交界线的判断依准是w与x内积为0,而内积为0代表两个向量垂直。

 

接下来我们可能又有疑问了:不断修改w且要保证一圈w都不犯错,这...你怎么知道PLA一定会停下来呢?

 

 

但是在看过后节内容后,你便可以知道当PLA满足一定的条件时它是一定可以停下来的,而且有严格的数学证明。

 

下一节我们将讲述PLA停止的数学证明,小伙伴信得过数学的话,了解保证它停的条件就可以了,当然多看看证明也不是坏事哈。

 

 

作者:西瓜大榴莲 | 图片来源于网络 

    关注我们 | 获取更多系统性好文章 | 从零开始

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值