林轩田机器学习基石笔记(第9节)——Pocket AIgorithm(口袋算法)

虽然我们证明了PLA最终会停下来,但是PLA存在以下几个问题:

1、PLA假设的前提是数据线性可分,但是很多情况下都是线性不可的;

2、即使PLA最终停下来,但是我们并不知道它什么时候会停下来。

由于现实情况的复杂性,我们一般情况下我们几乎找不到完美的线性可分的数据,所以这时候计算机科学家们想到了一个办法,那就是找到一条线,这条线所犯的错误最少,用它来替代精准的线。数学表达式如下:

上面的式子表示我们找到一条线,计算该线段在已知的数据中犯错的总和,然后我们把所有的线都进行对比,那犯错最小的那条作为Wg.

那我们要如何进行运算呢?这里引出一个新的算法叫:Pocket AIgorithm(口袋算法)

这个算法的具体做法是,首先我们持有一条线W,然后用其他线来与W进行对比,如果比W犯错更少,我们就丢掉W,持有它。如法炮制运行下去,直到我们觉得测试的数据够多了,我们就可以停止了。这样有很大的机会可以拿到一条犯错相对更少的线,作为最终的结果。

相对于PLA算法,Pocket算法不好之处是花费的时间更多,因为PLA只需要证明一个点犯错就表示线不合适了,但是Pocket算法还要把所有犯错的点都找出来,并相加对比,所以花费时间更多。

本节比较简单,收工!

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

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

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

猜你喜欢

转载自blog.csdn.net/zhangdongren/article/details/81591056
今日推荐