PLA(Perceptron Learning Algorithm)--机器学习基石笔记

问题:用于解决”是非“问题(二分类问题)
难点:能够正确的把数据分开的线有无线多条
理论:初始任选一条线,每次进行转动一定角度,逐步进行修正和更新,最终找到一条线能够把所有的点正确分类-- 知错能改算法
算法过程:
(1)初始化一条线,遍历所有数据,进行分类判定
(2)如果找到一个分类错误的数据,则有:
     
(3)修正过程如下,直到所有点都分类正确算法停止:
     
算法会终止条件:数据是 线性可分
PLA(Perceptron Learning Algorithm)--机器学习基石笔记_第1张图片

算法缺点:
(1)只能对线性可分的数据进行正确分类,然而对于线性不可分的数据会导致算法迭代无法停止;当数据线性可分时,算法的迭代时间也无法预期
(2)不同的初始值和更新顺序会导致最终选择的线可能会不同,算法不稳定。
(3)根据选择的线不同,可能会对训练数据过拟合
算法优点:算法简单,适合高维数据


Pocket Algorithm:PLA算法的改进算法,可以用于解决线性不可分的问题。
原理:采用贪婪机制,将到当前为止最好的结果保存在”口袋“里,如果迭代后更优则更新”口袋“,设置算法的停止条件为设定时间和设定迭代次数。
优点:
(1)可以解决线性不可分问题。
(2)时间可以预期,速度快
缺点:
(1)找到的结果可能不是最优解
(2)需要消耗额外的存储空间和计算

你可能感兴趣的:(机器学习)