PLA算法总结及其证明
2015-03-04 20:34
393 查看
PLA算法总结及其证明
PLA(Perception Learning Algorithm)适用于二维及高维的线性可划分问题。问题的答案只有同意或者不同意。例如银行可以根据顾客的个人信息来判断是否给顾客发放信用卡。将顾客抽象为一个向量X,包括姓名、年龄、年收入、负债数等。同时设定各个属性所占的比例向量W,对于正相关的属性设置相对较高的比例如年收入,对于负相关的属性设置较低的比例如负债数。y表示是否想该用户发放了信用卡。通过求X和W的内积减去一个阀值,若为正则同意发放信用卡,否则不发放信用卡。我们假设存在着一个从X到Y的映射f,PLA算法就是用来模拟这个映射,使得求出的函数与f尽可能的相似,起码在已知的数据集上一致。
PLA算法即用来求向量W,使得在已知的数据中机器做出的判断与现实完全相同。当X为二维向量时,相当于在平面上画出一条直线将所有的点分成两部分,一部分同意发送,另外的不同意。内积可以表示成:
进一步可化简成
其中x0=1,w0=-threshold。
y=1表示在给定的数据中,给该用户发放了信用卡,-1表示未发放。
PLA先假定W为0向量,然后找到一个不满足条件的点,调整W的值,依次进行迭代使得最终可以将两部分完全分开。W的调整方案如下:
第一种,在给定的已知数据中向该用户发放了数据,但算法给出的结果是不发放,说明两个向量的内积为负,需要调整向量使得二者的值为正,此时y=1。示意图为
则调整后的W’=W+X=W+Xy。
第二种情况是原本没有发放但算法显示应该发放,此时y=-1。示意图为
则调整后的W’=W-X=W+Xy。
对于线性可分的数据集,PLA算法是可收敛的。证明如下:
存在完美的Wf使得
所以
t表示经过第t次调整。
两个向量的内积增大说明两个向量越来越相似或者向量的长度增大。向量W(t+1)的长度可以表示为
因为第t次发现不合格才会调整,所以得到
可以得到如下公式:
这说明每次调整后,向量的长度增加有限。不妨设
带入上一公式得到
因此,W(t)最终是收敛的。到此已经证明了PLA算法最终可以停止。下面求该算法需要调整多少步才能停止。
由上述过程可以得到以下两个不等式:
根据余弦值最大为1,可以得到
。
该文主要是学习了台湾大学机器学习课程之后自己的一些总结,第一次写博客,有问题还请大家多多指正。算法的实现在接下来继续总结出来。
PLA(Perception Learning Algorithm)适用于二维及高维的线性可划分问题。问题的答案只有同意或者不同意。例如银行可以根据顾客的个人信息来判断是否给顾客发放信用卡。将顾客抽象为一个向量X,包括姓名、年龄、年收入、负债数等。同时设定各个属性所占的比例向量W,对于正相关的属性设置相对较高的比例如年收入,对于负相关的属性设置较低的比例如负债数。y表示是否想该用户发放了信用卡。通过求X和W的内积减去一个阀值,若为正则同意发放信用卡,否则不发放信用卡。我们假设存在着一个从X到Y的映射f,PLA算法就是用来模拟这个映射,使得求出的函数与f尽可能的相似,起码在已知的数据集上一致。
PLA算法即用来求向量W,使得在已知的数据中机器做出的判断与现实完全相同。当X为二维向量时,相当于在平面上画出一条直线将所有的点分成两部分,一部分同意发送,另外的不同意。内积可以表示成:
进一步可化简成
其中x0=1,w0=-threshold。
y=1表示在给定的数据中,给该用户发放了信用卡,-1表示未发放。
PLA先假定W为0向量,然后找到一个不满足条件的点,调整W的值,依次进行迭代使得最终可以将两部分完全分开。W的调整方案如下:
第一种,在给定的已知数据中向该用户发放了数据,但算法给出的结果是不发放,说明两个向量的内积为负,需要调整向量使得二者的值为正,此时y=1。示意图为
则调整后的W’=W+X=W+Xy。
第二种情况是原本没有发放但算法显示应该发放,此时y=-1。示意图为
则调整后的W’=W-X=W+Xy。
对于线性可分的数据集,PLA算法是可收敛的。证明如下:
存在完美的Wf使得
所以
t表示经过第t次调整。
两个向量的内积增大说明两个向量越来越相似或者向量的长度增大。向量W(t+1)的长度可以表示为
因为第t次发现不合格才会调整,所以得到
可以得到如下公式:
这说明每次调整后,向量的长度增加有限。不妨设
带入上一公式得到
因此,W(t)最终是收敛的。到此已经证明了PLA算法最终可以停止。下面求该算法需要调整多少步才能停止。
由上述过程可以得到以下两个不等式:
根据余弦值最大为1,可以得到
。
该文主要是学习了台湾大学机器学习课程之后自己的一些总结,第一次写博客,有问题还请大家多多指正。算法的实现在接下来继续总结出来。
相关文章推荐
- [转]PLA算法总结及其证明
- LRU算法总结及其C算法实现
- 算法总结系列之八:复读机的故事-散列表及其在.NET中的应用浅析(上集)
- 迪杰斯特拉(Dijkstra)算法描述及其正确性证明
- 台大机器学习课程——PLA演算法介绍、证明
- Miller-Rabin素数检测优化算法及其证明
- 算法系列——二分查找算法及其变体总结
- PLA算法总结及其证明
- 及其学习领域典型算法及思想总结
- 机器学习总结(lecture 2)算法:感知机学习算法 (PLA)
- 【算法】排序算法及其应用总结
- 判断一个正整数是否是2的N次方的简洁算法及其证明
- 一道博弈的面试题及其算法正确性证明
- PLA算法总结——Percetron Learning Algorithm(机器学习基石2)
- LRU算法总结及其C算法实现
- Floyd判圈算法(龟兔赛跑算法, Floyd's cycle detection)及其证明
- QuickSort及其变种算法的总结
- 感知器学习算法PLA的收敛性证明
- [算法导论]Floyd-Warshall算法及其证明[DP的经典应用]
- 机器学习总结2_感知机算法(PLA)