线性模型(1):Perceptron Learning Algorithm (PLA)
此笔记源于台湾大学林轩田老师《机器学习基石》《机器学习技法》
(一)
PLA算法是基本的binary Classification算法。
一个基本的问题是,对于银行,假设我知道用户的年龄、性别、工作、工资,那么应不应该发信用卡给他?
那么它在二维空间里就是一条分割平面的直线。
如何从拥有无限多h的H中选择g?
上述算法的一种实现是:
从上述算法中可以知道:(以二维空间为例)如果没有一条直线能够完全的分开数据点,即:输入数据不是线性可分的,那么上述算法永远不会停止。一种解决方法是:
(二)
假设我们的输入数据是线性可分的,那么这个算法有:
(1)随着迭代次数的增加,Wt越来越完美,直到可以完全分割输入数据集D;
(2)迭代多少次才能完全分开数据集D呢?也即:PLA算法的收敛速度是多少呢?
其中 const= ρ/R,R与ρ为:
下面是证明:
PLA算法小结(优缺点)
(三)Weight Pocket Algorithm
因为我们的错误衡量标准多种多样,当我们更换错误衡量标准如下时: