【转载】在线学习(Online Learning)

在线学习(Online Learning)

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

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

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

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

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

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

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

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

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

定理(Block and Novikoff

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

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

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

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

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

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

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

因为初始为0。

下面我们利用前面推导出的得到

也就是说的长度平方不会超过与D的平方和。

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

两边开根号得:

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

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

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

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

时间: 2024-08-28 21:57:21

【转载】在线学习(Online Learning)的相关文章

在线学习--online learning

在线学习 online learning Online learning并不是一种模型,而是模型的训练方法.能够根据线上反馈数据,实时快速的进行模型调优,使得模型能够及时反映线上的变化,提高线上预测的准确率. 在线模型的评估之--Mistake Bound 假设有一个模型完全预测正确,Mistake Bound表示的就是找到这个模型最多犯错的次数. 用Halving算法来解决这个问题,算法步骤如下: 所以犯错次数小于等于对模型集合数量求以2为底的对数. 在线模型的评估之--Regret 后悔度

【转载】浅谈深度学习(Deep Learning)的基本思想和方法

浅谈深度学习(Deep Learning)的基本思想和方法 分类: 机器学习 信息抽取 Deep Learning2013-01-07 22:18 25010人阅读 评论(11) 收藏 举报 深度学习(Deep Learning),又叫Unsupervised Feature Learning或者Feature Learning,是目前非常热的一个研究主题. 本文将主要介绍Deep Learning的基本思想和常用的方法. 一. 什么是Deep Learning? 实际生活中,人们为了解决一个问

【转载】机器学习——深度学习(Deep Learning)

机器学习——深度学习(Deep Learning) 分类: Machine Learning2012-08-04 09:49 142028人阅读 评论(70) 收藏 举报 algorithmclassificationfeaturesfunctionhierarchy Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,最近研究了机器学习中一些深度学习的相关知识,本文给出一些很有用的资料和心得. Key Words:有监督学习与无监督学习

在线学习和在线凸优化(online learning and online convex optimization)—FTL算法5

最自然的学习规则是使用任何在过去回合中损失最小的向量. 这与Consistent算法的精神相同,它在在线凸优化中通常被称为Follow-The-Leader,最小化累积损失. 对于任何t: 我们谈到了能最小化累计损失不能说明此算法在在线学习场景是有效,我们需要探究算法的 Regret bound: 采用归纳法证明: 例子1:Online Quadratic Optimization 例子2:Online Linear Optimization 未完,待续...... 下一节将讲述FTRL算法 原

【深度学习Deep Learning】资料大全

转载:http://www.cnblogs.com/charlotte77/p/5485438.html 最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books Deep Learning66 by Yoshua Bengio, Ian Goodfellow and Aaron Courville Neural Networks and Deep Learning42 by Michael Nielsen Deep Learning27 by

各大公司广泛使用的在线学习算法FTRL详解

各大公司广泛使用的在线学习算法FTRL详解 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据流,google先后三年时间(2010年-2013年)从理论研究到实际工程化实现的FTRL(Follow-the-regularized-Leader)算法,在处理诸如逻辑回归之类的带非光滑正则化项(例如1范数,做模型复杂度控制和稀疏化)的凸优化问题上性能非常出色,据闻国内各大互联网公司都第一时间应

[转]在线学习java资料集合

原文链接: fromdev 翻译: ImportNew.com- 赖 信涛译文链接: http://www.importnew.com/11910.html[ 转载请保留原文出处.译者和译文链接.] 本文由 ImportNew - 赖 信涛 翻译自 fromdev.欢迎加入Java小组.转载请参见文章末尾的要求. 你想学习Java吗?来对地方了!这篇文章将会介绍很多高质量的免费资源,包括网页.论坛.电子书和速查表. Java是一种面向对象的编程语言,拥有独立.多线程.安全.动态和健壮的特点.归功

【教育系统】《深度探讨》如何建设千万级网络教育在线学习支持系统?

1) 用户 建设开放性学习环境,用户的统一授权.认证.用户容量成为关键问题,用户通过认证/授权服务管理用户,达到统一的管理,并通过后台负载均衡管理,实现访问用户分流.资源访问分流,实现大用户量的管理. 建设支持超过千万人访问的一站式远程学习支持系统平台. 2) 资源 随着学习环境的建设和发展,资源的海量存储.分类细化已成为关键课题,系统通过虚拟化技术进行存储和相关运算,实现资源存储和调度,用以支撑不同学习过程和教学资源的存储隔离和应用共享. 3) 数据服务 定义和完善接口和服务内容,搭建集成环境

机器学习(Machine Learning)&深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室Jurgen Schmidhuber写的最新版本