zoukankan      html  css  js  c++  java
  • 在线学习(Online Learning)

     原题目叫做The perception and large margin classifiers,其实探讨的是在线学习。这里将题目换了换。以前讨论的都是批量学习(batch learning),就是给了一堆样例后,在样例上学习出假设函数h。而在线学习就是要根据新来的样例,边学习,边给出结果。

          假设样例按照到来的先后顺序依次定义为clip_image002。X为样本特征,y为类别标签。我们的任务是到来一个样例x,给出其类别结果y的预测值,之后我们会看到y的真实值,然后根据真实值来重新调整模型参数,整个过程是重复迭代的过程,直到所有的样例完成。这么看来,我们也可以将原来用于批量学习的样例拿来作为在线学习的样例。在在线学习中我们主要关注在整个预测过程中预测错误的样例数。

          拿二值分类来讲,我们用y=1表示正例,y=-1表示负例。回想在讨论支持向量机中提到的感知算法(perception algorithm)。我们的假设函数为

          clip_image003

          其中x是n维特征向量,clip_image005是n+1维参数权重。函数g用来将clip_image007计算结果映射到-1和1上。具体公式如下:

          clip_image008

          这个也是logistic回归中g的简化形式。

          现在我们提出一个在线学习算法如下:

          新来一个样例clip_image010,我们先用从之前样例学习到的clip_image012来得到样例的预测值y,如果clip_image014(即预测正确),那么不改变clip_image005[1],反之

          clip_image016

          也就是说,如果对于预测错误的样例,clip_image005[2]进行调整时只需加上(实际上为正例)或者减去(实际负例)样本特征x值即可。clip_image005[3]初始值为向量0。这里我们关心的是clip_image018的符号,而不是它的具体值。调整方法非常简单。然而这个简单的调整方法还是很有效的,它的错误率不仅是有上界的,而且这个上界不依赖于样例数和特征维度。

    下面定理阐述了错误率上界:

          定理(Block and Novikoff

          给定按照顺序到来的clip_image002[1]样例。假设对于所有的样例clip_image020,也就是说特征向量长度有界为D。更进一步,假设存在一个单位长度向量clip_image022clip_image024。也就是说对于y=1的正例,clip_image026,反例clip_image028,u能够有clip_image030的间隔将正例和反例分开。那么感知算法的预测的错误样例数不超过clip_image032

          根据前面对SVM的理解,这个定理就可以阐述为:如果训练样本线性可分,并且几何间距至少是clip_image030[1],样例样本特征向量最长为D,那么感知算法错误数不会超过clip_image032[1]。这个定理是62年提出的,63年Vapnik提出SVM,可见提出也不是偶然的,感知算法也许是当时的热门。

    下面主要讨论这个定理的证明:

          感知算法只在样例预测错误时进行更新,定义clip_image034是第k次预测错误时使用的样本特征权重,clip_image036 初始化为0向量。假设第k次预测错误发生在样例clip_image038上,利用clip_image034[1]计算clip_image040值时得到的结果不正确(也就是说clip_image042,调换x和clip_image005[4]顺序主要是为了书写方便)。也就是说下面的公式成立:

          clip_image043

          根据感知算法的更新方法,我们有clip_image045。这时候,两边都乘以u得到

          clip_image046

          两个向量做内积的时候,放在左边还是右边无所谓,转置符号标注正确即可。

          这个式子是个递推公式,就像等差数列一样f(n+1)=f(n)+d。由此我们可得

          clip_image047

          因为初始clip_image005[5]为0。

          下面我们利用前面推导出的clip_image049clip_image020[1]得到

    clip_image050

          也就是说clip_image052的长度平方不会超过clip_image034[2]与D的平方和。

          又是一个等差不等式,得到:

          clip_image053

          两边开根号得:

          clip_image054

          其中第二步可能有点迷惑,我们细想u是单位向量的话,

          clip_image055

          因此上面的不等式成立,最后得到:

          clip_image056

          也就是预测错误的数目不会超过样本特征向量x的最长长度与几何间隔的平方。实际上整个调整过程中clip_image005[6]就是x的线性组合。

          整个感知算法应该是在线学习中最简单的一种了,目前发现online learning挺有用的,以后多多学习。

    转自 http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020173.html

  • 相关阅读:
    C++高精度运算类bign (重载操作符)
    Spring4.0支持Groovy配置
    统计Oracle数据库文件的大小
    ThinkPHP pdo连接Oracle的配置写法,提示报错
    【PHP缩略图类】手机照片不能生成缩略图问题以及解决方式
    ping and traceroute(tracert)
    HDU-1053-Entropy(Huffman编码)
    Python学习之四【变量】
    linux mysql
    xorm
  • 原文地址:https://www.cnblogs.com/renly/p/3116467.html
Copyright © 2011-2022 走看看