林轩田机器学习基石笔记(第7节)——PLA算法

机器学习的流程如下图,我们的目标是找到 f f ,但是我们不知道 f 长啥样,但是我们有一堆数据 D D ,现在我们要用数据 D 进行训练,然后会得到一个假设集Hypothesis,接着我们再设计一条演算法,该演算法的任务就是从假设集Hypothesis中找到一个 g g ,使得 gf .
这里写图片描述

现在回到上一节提到的信用卡发卡问题,我们计算客户是否符合发卡要求的公式是 h(x)=sign(W0+W1X1+W2X2) h ( x ) = s i g n ( W 0 + W 1 X 1 + W 2 X 2 ) ,但是我们其实不知道具体的 W0+W1X1+W2X2 W 0 + W 1 X 1 + W 2 X 2 到底长啥样,它表现在平面上有无限种可能,也就是有无限条线。现在我们的目标就是找到一条合适的线 g g ,把所有的结果进行一个分类(圈圈叉叉都分在不同的两边),如下图:
这里写图片描述

那么如何下手呢?首先我们从一条线开始,令这条线为W0,然后以这条线为基准,不停的旋转修正它,直到把所有的圈圈和叉叉都分在不同的两边为止。

这里我们需要用到向量的加减的相关知识,下面是向量加减法的运算法则:
这里写图片描述

接下来我们就要用上面的数学知识去找到合适的线,直到能够把所有的圈圈叉叉都分在不同的两边。具体的方法如下:
这里写图片描述
如上图,假设现在我们需要的值是+1,但是我们所拥有的 W W X进行 sgin(WX) s g i n ( W X ) 运算后却不等于+1,即 yn(t)sign(WTtXn(t)) y n ( t ) ≠ s i g n ( W t T X n ( t ) ) ,根据符号函数的定义(符号函数sign,假设 y=sign(x) 当x>0,y=+1;当x=0,y=0;x<0,y=-1),我们知道这是由于向量 W W X之间的夹角太大,我们需要把它们的夹角变小,这样才能够更接近我们的需要。

相反,如果我们需要的是-1,而实际上向量 W W X之间的夹角又太小,所以我们需要做减法把向量间的夹角变大,如下图:
这里写图片描述

通过这种方式进行筛选 g g 的算法叫做PLA,即Perceptron Learning AIgorithm.

以下就是在林轩田老师的视频中旋转图的其中一个画面,我这里只拿出一张来解释其中的含义:
这里写图片描述
如上图,W(t)表示我们当前拥有的向量,它的法向量就是我们所需要的那条最终的线 g g ,显然没有符合我们的需求,因为Xg还在红色的那一边,所以我们从原点 O O 连接X0作为向量 X X ,这说明W(t) Xg X g 太远了,我们需要让它们的夹角更小,于是就两个向量相加得到 W(t+1) W ( t + 1 ) ,然后又对 W(t+1) W ( t + 1 ) 做一条法向量,观察其是否能够把圈圈叉叉都分在不同的两边,如果是,那就表示我们找到了一条适合的 g g ,如果不是就继续下一轮运算。这样不断的循环往复,直至能够把所有的圈圈叉叉都分在不同的两边为止才停止运算,最后拿到正确的 g

但是问题来了,这样的循环什么时候停止?要知道平面上可是有无限多条线!并且,我们真能保证 gf g ≈ f 吗?答案是不能!所以下面的课我们要解决这些问题。

本节到此结束,下节继续。

===========================懵逼分割线===========================

欢迎大家加入Q群讨论:463255841

===========================懵逼分割线===========================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值