[转]PLA算法总结及其证明
2017-03-27 17:23
453 查看
PLA算法总结及其证明
http://m.blog.csdn.net/article/details?id=45232891分类: 机器学习
PLA(Perception Learning Algorithm)适用于二维及高维的线性可划分问题。问题的答案只有同意或者不同意。例如银行可以根据顾客的个人信息来判断是否给顾客发放信用卡。将顾客抽象为一个向量X,包括姓名、年龄、年收入、负债数等。同时设定各个属性所占的比例向量w,对于正相关的属性设置相对较高的比例如年收入,对于负相关的属性设置较低的比例如负债数。y表示是否想该用户发放了信用卡。通过求x和w的内积减去一个阀值threshold,若为正则同意发放信用卡,否则不发放信用卡。我们假设存在着一个从X到Y的映射f,PLA算法就是用来模拟这个映射,使得求出的函数与f尽可能的相似,起码在已知的数据集(即样本上)上一致。
PLA算法即用来求向量W,使得在已知的数据中机器做出的判断与现实完全相同。当X为二维向量时,相当于在平面上画出一条直线将所有的点分成两部分,一部分同意发送,另一部分的不同意。内积可以表示成:
其中x0=1,w0=-threshold。
ys的值域:{+1,-1 }(ys 表示样本中y的值,用于输入到算法进行调整)
结合文中例子:ys=1 表示在给定的样本数据中,给该用户发放了信用卡,ys= -1表示未发放。
PLA先假定W0为向量0,然后找到一个不满足条件的点,调整W的值,依次进行迭代使得最终可以将两部分完全分开。
W的调整方案
注:错误驱动调整第一种,在给定的已知数据中向该用户发放了数据,即ys(i)样本中第i个数据为+1,但算法给出的结果是不发放(即:h(xi) 小于0),说明两个向量的内积为负,需要调整w向量使得两条向量更接近,此时令调整系数为样本的ys(i)。示意图为
则调整后的wt+1= wt + ys(i)xi。
第二种,在给定的已知数据中向该用户发放了数据,即ys(i)样本中第i个数据为-1,但算法给出的结果是不发放(即:h(xi) 大于0),说明两个向量的内积为正,需要调整w向量使得两条向量更远离,此时令调整系数为样本的ys(i)。示意图为
则调整后的wt+1= wt + ys(i)xi。
对于线性可分的数据集,PLA算法是可收敛的
两个向量的内积增大说明两个向量越来越相似或者向量的长度增大
图片上 ||wt+1||2 <= ||wt||2 +
max{1 <=i<= n | ||yixi||2} 其中,yi的值域为正负1
因此 ||wt+1||2 <= ||wt||2 +
max{1 <=i<= n | ||xi||2}
这说明每次调整后,向量的长度增加有限。不妨设
带入上一公式得到
因此,W(t)最终是收敛的。到此已经证明了PLA算法最终可以停止。
下面求该算法需要调整多少步才能停止
由上述过程可以得到以下两个不等式:根据余弦值最大为1,可以得到
等于
因此
即纠正次数
该文主要是学习了台湾大学机器学习课程之后自己的一些总结,第一次写博客,有问题还请大家多多指正。算法的实现在接下来继续总结出来。
以上改自:http://blog.csdn.net/dreamermonkey/article/details/44065255
另一份证明同样很清楚:
以上证明来自:http://www.cnblogs.com/HappyAngel/p/3456762.html
相关文章推荐
- PLA算法总结及其证明
- LRU算法总结及其C算法实现
- LRU算法总结及其C算法实现
- 【算法】排序算法及其应用总结
- 在数组中寻找主要元素的算法及其正确性证明。
- Floyd判圈算法(龟兔赛跑算法, Floyd's cycle detection)及其证明
- 台大机器学习课程——PLA演算法介绍、证明
- 求二叉树中任意两结点的最近共同祖先的算法及其证明
- PLA算法总结及其证明
- 容易理解的快速排序算法及其相关算法的总结(含java实现方法)
- 一道博弈的面试题及其算法正确性证明
- Miller-Rabin素数检测优化算法及其证明
- 迪杰斯特拉(Dijkstra)算法描述及其正确性证明
- PLA算法总结——Percetron Learning Algorithm(机器学习基石2)
- 感知器学习算法PLA的收敛性证明
- 机器学习总结2_感知机算法(PLA)
- 算法系列——二分查找算法及其变体总结
- [算法导论]Floyd-Warshall算法及其证明[DP的经典应用]
- 及其学习领域典型算法及思想总结
- 算法总结系列之八:复读机的故事-散列表及其在.NET中的应用浅析(上集)