Learning Theory
来源:互联网 发布:淘宝视觉设计毕业论文 编辑:程序博客网 时间:2024/06/04 23:24
我想如今机器学习 (Machine Learning) 的重要性(不论是在学术界还是在工业界)已经不用再多强调了,比如说 2010 年的图灵奖得主 Leslie Valiant 就是学习理论 (Learning Theory) 的一位先驱大牛,正是他提出了“可能近似正确” (Probably Approximately Correct, PAC) 模型——每次念一念 PAC 的中文翻译就觉得好玩,不过 PAC 模型及其变种确实是如今学习理论里最为广泛使用的框架之一,而且正是 PAC 模型催生了现在应用超级广泛的 boosting 算法。学习理论中的两大巨头: PAC 模型和 Vapnik 的 Statistical Learning Theory (SLT) ,各自都拥有一个在实际中得到广泛认可和应用的算法(boosting 和 SVM),应该也不是偶然吧! 不过这些八卦以后有机会再提吧。
另一个例子则是现在如火如荼的 Stanford 的在线机器学习课程 ml-class ,具体的注册人数是多少我现在找不到统计数字了,不过看起来 Stanford 的这次开创性的尝试确实是非常令人鼓舞的吧!如此的成功也许也是大多数人所始料未及的吧,开设的课程也从原来的机器学习、人工智能和数据库三门一下子增加了诸如自然语言处理、计算机安全、博弈论等课以及其他专业的各种课程。
回到机器学习,开设 ml-class 的 Andrew Ng 本身也是机器学习领域里的一位新星人物,和许多做纯科研的人不同的是,他的许多工作有“看得见摸得着”的很实际的东西,其中很著名的就是一个叫做 LittleDog 的机器狗,能走能跑能跳,可以应付各种复杂地形,平衡性超好,用脚踹都踹不翻;他的另一个很好玩的项目就是无人驾驶直升机(千万不要因为天上障碍物少、不会堵车,就觉得无人驾驶直升机比无人驾驶汽车要来得简单啊 ^_^),可以完成许多高难度的特技飞行动作。这些 robot/agent 相关的东西和机器学习的一大交集就是一个叫做增强学习 (Reinforcement Learning, RL) 的模型,实际上这已经是一个相当“古老”的 topic 了,理论和算法上都已经有相当的成果,不过传统的 RL 算法通常都有相当 aggressive 的“探索”环境的过程,而这在像机器人控制,特别是直升机控制方面有可能是不太现实的,极端的情况下某个高难度的“探索性”步骤有可能会使直升机 crash 掉。为了解决这个问题,Andrew Ng 提出了所谓的学徒学习 (Apprenticeship learning),通过人类示范的方法来引导机器进行学习。当然这里牵涉到的不仅仅是“模仿”而已,从理论上可以证明,学徒可以学得和老师差不多的 performance ,当老师的示范带有“启发性”的信息的时候,学徒甚至可以超过老师。因为这次并不是专门要讲学徒学习或者增强学习,所以我不得不用非常模糊的词语(“差不多”、“启发性”之类的)糊弄过去,然而实际上模型和各种性能保证都是有严格的数学描述的,如果感兴趣的话,可以去看 Ng 的论文(至少需要先了解一些 Markov Decision Process 的基础知识) 。当然,除了理论保证之外,学徒学习还被成功地应用到了无人驾驶直升机的控制上。无论如何,像这种从实际问题出发,理论结合实践的研究方式,真的是非常令人振奋的啊!
实际上对于机器学习这个话题来说,除了 Reinforcement Learning 和传统的 Artificial Intelligence 似乎看起来关系比较密切之外,其他的一些机器学习中研究的问题似乎相对于传统 AI ,反而更接近其他一些领域一点。比如我曾经被问及机器学习和统计分析有什么区别——实际上我对统计分析并不是很了解,我想它应该主要就是用概率统计的方法去分析数据的一门学科吧,看起来确实和机器学习很像(特别是现在“机器学习”已经快要等价于“统计学习”了的时候),然而后来我渐渐地发现其实还是有一些差别的,或者说,干脆就是不一样吧。统计分析的主要目的应该是去分析或者解释存在的数据,例如,用某个概率模型,从数据去估计分布的参数,并计算置信度之类的。
而机器学习,虽然看起来也比较类似,但是本质的区别在于,机器学习的目的不在于分析当前数据,而是在于对未来的预测。当然这种分类并不是很严格的,比如机器学习中的用于 density estimation 的最大似然方法,就是寻找最能“解释”当前数据的概率分布模型。但是,比如说,一个专攻油画的人也能画一些素描,总不至于因此就认为素描和油画是一样的吧。对于这个具体的例子来说,即便同样是在做 density estimation ,统计分析里可能通常都会假设数据确实是满足某个具体的带参数的分布,从而去研究如何更精确更健壮地估计对应的参数的问题(例如试验设计);而机器学习则通常不会假设数据的真实分布是符合某个参数的概率模型的,或者甚至完全不做任何限制,而在这样的背景下,普通的最大似然是否真的可行呢?要达到给定的精读需要多少数据点、多少计算量?这些才是机器学习所关心的问题。
另一个很相关的领域是 Optimization ,因为优化和确实在机器学习中非常重要,特别是涉及到要解决具体问题的时候,最后通常都会需要解一个优化问题。所以看起来好像是机器学习就完全成了“提出目标函数”、“找到优化方法”两步曲了。诚然,一个有用的算法,能够高效地解出来当然是必要的,然而也并不能因此就把机器学习和优化等同起来或者甚至看成是优化的一个子问题,这就跟不能把所有用到数学的学科全都和数学等同起来一样嘛,何况机器学习中还有一些和优化关系不大的重要问题。
接下来我们不妨来看一下最经典的 Supervised Learning 问题的设定,来大致了解一下机器学习问题中所关心的问题是什么样的。用
这里最基本的假设是
不过也有将这个要求加以放松的情况,对于刚才的例子,虽然欧洲人和亚洲人的模型并不完全一样,但是可能有一些相似之处(毕竟大家都属于同一个物种),所以,在训练数据的模型和测试数据的模型不相同但是“相差不大”的时候,是否仍然能进行学习呢?这就是 Domain Adaptation 所考虑的问题:如何来 formulate 两个模型之间的相似性,以及在满足什么样的相似性的情况下,该问题的 learnable 的,能达到什么样的 performance 等等,不过在这里暂时不展开讲了,对这个问题感兴趣的同学可以参考最近的一本书《Dataset Shift in Machine Learning》。这种涉及到多个不同数据源(模型)的学习问题还有 transfer learning 、multi-task learning 之类的。
除了放弃要求训练数据和测试数据来自同一个分布之外,还有更宽松的模型完全不要求数据是 IID 地采样自某个特定的概率分布。比如在 online learning 中就是如此,这使得模型更加宽松并且能应用到更加广泛的一类问题中,不过抛弃了概率分布之后也就无从谈及 expected loss 之类的概念了(因为“期望”的定义需要有概率分布的存在),所以关于
为了衡量所学得的
不过
用于衡量
具体到分类问题和 0-1 loss ,我们有
这里
具体来说,在刚才勾勒出来的世界观设定中,我们的目的已经很明确了:找一个使得
在结束之前,我们再对世界设定做一些细节上的补充:主要是定义一个 Bayes error
或许应该叫做 Bayes Risk 更合适一点吧……不过名字什么的无所谓了,总之
不论你如何取
于是
注意 regression function
除了以上的分析之外,regression function 实际上还可以帮助我们确定出实现最优 Risk 的那个 classifier ,定义如下:
这个 classifier
于是我们有
最后的非负是因为:如果
最后,需要说明的是,实际的机器学习过程中,我们通常是在某个函数空间
因此,实际中我们都会使用更小的性质更好的函数空间来进行学习,例如所有的线性分类器,或者由某个核函数所诱导的 Reproducing Kernel Hilbert Space 之类的。此时
这个是我们在
最后,总结一下:这次我们给出了最简单的 supervised learning 问题的基本框架,并定义了学习问题的目标(寻找 Risk 最小的函数)以及所能达到的理论最优值
- Learning Theory
- Learning Theory
- learning theory
- Game theory learning log
- 学习理论(Learning Theory)
- Learning Theory---误差理论(Error Theory)
- Learning Theory(Error Theory) 学习笔记
- Learning theory 机器学习原理
- Understanding Machine Learning: From Theory to Algorithms
- Learning from data: Theory of Generalization
- Linear Programming Learning Notes (5) Duality Theory
- Resources for Reinforcement Learning: Theory and Practice
- 斯坦福公开课Machine Learning笔记(六)--Learning Theory
- 「Machine Learning」Learning Theory from CS229 Lecture Notes
- Information Theory in Data Mining & Decision Trees learning
- Machine Learning Foundation Lecture 06 Theory of Generalization学习笔记
- CalTech machine learning, video 6 note,theory of generalization
- CS281: Advanced Machine Learning 第二节 probability theory 概率论
- Throwable学习
- onbeforeunload与onunload事件
- stl queue
- centos firefox中文乱码问题
- 浅谈一下驱动开发中的硬编码
- Learning Theory
- python实现lol解说抽奖
- Android应用程序资源的查找过程分析
- 路人测试VS研发思维
- NYOJ58 最少步数 【深搜】+【广搜】
- Hibernate主键生成策略
- 查看Eclipse版本号及各个版本区别
- 处理URL传递中文乱码问题
- android源码分析--- 语言切换机制