PLA算法总结及其证明
http://m.blog.****.net/article/details?id=45232891
分类: 机器学习
PLA(Perception Learning Algorithm)适用于二维及高维的线性可划分问题。问题的答案只有同意或者不同意。例如银行可以根据顾客的个人信息来判断是否给顾客发放信用卡。将顾客抽象为一个向量X,包括姓名、年龄、年收入、负债数等。同时设定各个属性所占的比例向量w,对于正相关的属性设置相对较高的比例如年收入,对于负相关的属性设置较低的比例如负债数。y表示是否想该用户发放了信用卡。通过求x和w的内积减去一个阀值threshold,若为正则同意发放信用卡,否则不发放信用卡。我们假设存在着一个从X到Y的映射f,PLA算法就是用来模拟这个映射,使得求出的函数与f尽可能的相似,起码在已知的数据集(即样本上)上一致。
PLA算法即用来求向量W,使得在已知的数据中机器做出的判断与现实完全相同。当X为二维向量时,相当于在平面上画出一条直线将所有的点分成两部分,一部分同意发送,另一部分的不同意。内积可以表示成:
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL3dpem1hbm4tdGstcGljLnUucWluaXVkbi5jb20vYmxvZy1wZXJjZXB0cm9uLWZvcm11bGEtMi5wbmc%3D.png?w=700&webp=1)
其中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)。示意图为
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MDg1MzQwODI1.jpg?w=700&webp=1)
则调整后的wt+1= wt + ys(i)xi。
第二种,在给定的已知数据中向该用户发放了数据,即ys(i)样本中第i个数据为-1,但算法给出的结果是不发放(即:h(xi) 大于0),说明两个向量的内积为正,需要调整w向量使得两条向量更远离,此时令调整系数为样本的ys(i)。示意图为
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MDg1NTE0Nzk4.jpg?w=700&webp=1)
则调整后的wt+1= wt + ys(i)xi。
对于线性可分的数据集,PLA算法是可收敛的
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cHM6Ly9pbWFnZXMwLmNuYmxvZ3MuY29tL2Jsb2cvMTE1Mjc3LzIwMTMxMi8wMzIzNTUyMy1kOGUzZjIwZDhiNDM0OGUyYjRhNjA2OWFiYjlmMWZiNS5wbmc%3D.png?w=700&webp=1)
两个向量的内积增大说明两个向量越来越相似或者向量的长度增大
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwNDIzMjM1NzExNDYy.jpg?w=700&webp=1)
图片上 ||wt+1||2 <= ||wt||2 +
max{1 <=i<= n | ||yixi||2} 其中,yi的值域为正负1
max{1 <=i<= n | ||yixi||2} 其中,yi的值域为正负1
因此 ||wt+1||2 <= ||wt||2 +
max{1 <=i<= n | ||xi||2}
max{1 <=i<= n | ||xi||2}
这说明每次调整后,向量的长度增加有限。不妨设
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwNDIzMjM1MzAwNjM4.jpg?w=700&webp=1)
带入上一公式得到
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MDkxOTI2Mzky.jpg?w=700&webp=1)
因此,W(t)最终是收敛的。到此已经证明了PLA算法最终可以停止。
下面求该算法需要调整多少步才能停止
由上述过程可以得到以下两个不等式:
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MTAxMDE5ODkx.jpg?w=700&webp=1)
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MDk1NjQ4OTk3.jpg?w=700&webp=1)
根据余弦值最大为1,可以得到
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MTAxMTUwMzk1.jpg?w=700&webp=1)
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MTAxMDQ1MjA1.jpg?w=700&webp=1)
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwNDI0MDA0NTMwMTgx.jpg?w=700&webp=1)
因此
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwNDI0MDA1NDU1MDI2.jpg?w=700&webp=1)
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTUwMzA1MTAxNDE3NjIw.jpg?w=700&webp=1)
该文主要是学习了*大学机器学习课程之后自己的一些总结,第一次写博客,有问题还请大家多多指正。算法的实现在接下来继续总结出来。
以上改自:http://blog.****.net/dreamermonkey/article/details/44065255
另一份证明同样很清楚:
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cHM6Ly9pbWFnZXMwLmNuYmxvZ3MuY29tL2Jsb2cvMTE1Mjc3LzIwMTMxMi8wMzIzNTUyNC0yMjYwYjk0NWIwNjE0OTcxYWM5YTNlMmRjZjVjZjhhNS5wbmc%3D.png?w=700&webp=1)
![[转]PLA算法总结及其证明 [转]PLA算法总结及其证明](https://image.miaokee.com:8440/aHR0cHM6Ly9pbWFnZXMwLmNuYmxvZ3MuY29tL2Jsb2cvMTE1Mjc3LzIwMTMxMi8wMzIzNTUyNS1kNTM2YTk4N2Q2M2Q0N2E3OTIwMmZmYjUyZjVmNTQ4NC5wbmc%3D.png?w=700&webp=1)
以上证明来自:http://www.cnblogs.com/HappyAngel/p/3456762.html