【02】When can ML?二元分类(是非问题)-PLA
本讲主要介绍了二元分类问题的一解决方法【PLA - Perceptron Learning Algorithm 感知器算法(知错能改算法,一种线性分类器)】,后续延伸简单介绍了一种【Pocket Algorithm 口袋算法】
-
PLA 感知器算法介绍
-
PLA 的算法可行性证明
-
PLA 算法优缺点及后续问题
一 PLA介绍
应用:银行信用卡申办审核!
-
数据,提取特征
-
算法设计
- 向量形式表现
举例 2维空间
- 算法思想
1 期望:g 越接近 内在的模式 f (不可知)就越好
2 必需:在所给的数据集上,训练得到的g 要接近 f
3 困难:如何在无限多个假设H中找到那个好的假设 g
4 想法:就是从一个初始的g0开始,慢慢修正,知道满足要求
- PLA算法迭代进程:
1 关于修正的理解:【几何上理解】w* x向量乘积,为正,说明2个向量的夹角小于90度,为-则,角度则大于90度。所以可以很好理解,为什么在目标y=1时,实际得到的为负,我们就需要使得w向量与x的夹角变小。同理,y=-1时的修正
2 w可以看作为得到的分类线(面)的一个法向量【高等数学-平面的法向量】,这样,在后面迭代可以直观的来理解了
- PLA 最终算法流程:
可以自己编程实现:尽量将代码控制在20-30行内。
- PLA算法问题:
1 算法一定能收敛么?停止?(下面有证明)
2 算法得到的g 一定约= f么?在给定数据集D上是的,在其他数据集上就一定可以么?如果不收敛怎么办?
对于上面的问题2,Andrew讲解的ML,设置训练机,交叉验证集和测试集来解决,一定可以。
二 PLA 可行性问题
- 条件:线性可分(不可分就不行了哦)
- 可行证明
1、w接近理想的(从向量乘积的几何方面考虑)
2、上面的这种接近不是因为w向量的长度产生的影响
3、证明常数T
三 PLA 算法优缺点及后续问题
-
优点:简单,便于实现
-
缺点:
1、只能用于线性可分,另外我们不知道
2、数据的模式不可知,及目标的Wf我们是不知道的,就像证明的图片中的Wf一样,你事先有不知道,那你怎么计算他如何停下来
加入噪声后
这个程序很难,目前还没有设计出来!
口袋算法Pocket Algorithm
主要与PLA的不同,每一次都比较所有的w产生的误差,看哪个误差小,就选择那个w。
总结
文章主要介绍了感知器算法,思想流程及其存在的不足,自己的思考问题的时候,也可以以这样的流程走下去思考问题。
本节结束自己完成PLA算法的编程!这是目的。