机器学习笔记(2-2)--林轩田机器学习基石课程

Perceptron Learning Algorithm

在上一节中,给出了 hepothesis 之后,我们就要考虑如何找到 g 。从此出发,在这一小节,林老师带我们见识了第一个机器学习演算法,‘Perceptron Learning Algorithm’ 即PLA,翻译过来就是感知学习算法,林老师也叫这个机器学习算法为“知错能改”算法。

我们来看一下这个算法的主要原理:
上一节中提到了,其实向量 x 与 权重向量 w 内积就是一个将空间分割成两部分的超平面(也因为只能分为两部分,所以“感知器”只能用来解决回答是或否的问题),所以,PLA的过程,就是一个不断修正这个超平面的位置,使得所有数据处于它应该位于的平面某一侧。

而这一过程是一个迭代修正的过程,每一步只修正一个错误点(但是同时可能会有新的错误出现),最后使得所有点都正确。修正过程如下:


找到某一个错误之后,为什么步骤二能起到修正作用呢,再看下图:


我们可以看到,如果 y 的值应该为+1,但是它 xw 的内积却是负的,说明 xw 的向量夹角大于90度,所以过程只要让新的 ww+yx 即可。同理有 y 的值应该为-1的情况。

但是,到这里就有疑问:

  1. 这样执行的迭代修正过程一定会终止吗?
  2. 可行的 g 一定存在吗?
  3. 如果有错误数据存在,PLA还是正确的吗?

你可能感兴趣的:(机器学习笔记(2-2)--林轩田机器学习基石课程)