虽然我们证明了PLA最终会停下来,但是PLA存在以下几个问题:
1、PLA假设的前提是数据线性可分,但是很多情况下都是线性不可的;
2、即使PLA最终停下来,但是我们并不知道它什么时候会停下来。
由于现实情况的复杂性,我们一般情况下我们几乎找不到完美的线性可分的数据,所以这时候计算机科学家们想到了一个办法,那就是找到一条线,这条线所犯的错误最少,用它来替代精准的线。数学表达式如下:
上面的式子表示我们找到一条线,计算该线段在已知的数据中犯错的总和,然后我们把所有的线都进行对比,那犯错最小的那条作为Wg.
那我们要如何进行运算呢?这里引出一个新的算法叫:Pocket AIgorithm(口袋算法)
这个算法的具体做法是,首先我们持有一条线W,然后用其他线来与W进行对比,如果比W犯错更少,我们就丢掉W,持有它。如法炮制运行下去,直到我们觉得测试的数据够多了,我们就可以停止了。这样有很大的机会可以拿到一条犯错相对更少的线,作为最终的结果。
相对于PLA算法,Pocket算法不好之处是花费的时间更多,因为PLA只需要证明一个点犯错就表示线不合适了,但是Pocket算法还要把所有犯错的点都找出来,并相加对比,所以花费时间更多。
本节比较简单,收工!
===========================懵逼分割线===========================
欢迎大家加入Q群讨论:463255841
===========================懵逼分割线===========================