您的位置:首页 > 其它

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,可以得到







该文主要是学习了台湾大学机器学习课程之后自己的一些总结,第一次写博客,有问题还请大家多多指正。算法的实现在接下来继续总结出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息