计算学习理论介绍
来源:互联网 发布:猴赛雷微信软件 编辑:程序博客网 时间:2024/06/10 23:04
现今,机器学习和神经网络已经广为人知。每年有无数篇论文发表,光顶会NIPS每年就有四百篇左右的论文发表。各种应用包括机器翻译、机器阅读等领域都在快速发展。但是,我觉得,我们做研究的人不能被这些表象所迷惑,真正来说,机器学习(后面机器学习就泛指机器学习、神经网络以及深度学习等等)实际上仍然处于初期中期阶段,简单地从时间上来看,距今连一百年都没有。
对于任何学科,理论都是基石,然而机器学习却表现得很让人担心,因为其理论发展速度和其应用发展速度极其不匹配。虽然机器学习在各个领域都取得了不错的成就,但是其理论发展仍然处于探索之中,这种情况不得不让人忧心。
为什么说理论重要?就以机器学习而言,理论的作用有两个,一个作用是理论保证机器学习能够达到预期的效果,为各个机器学习算法提供理论保证,另一个作用是为机器学习算法的设计和使用提供指导,比如一个新算法理论证明是不可靠的,或者只有在一定条件下可靠的,比如理论证明了一个算法如果要达到一定的效果需要多少样本,需要什么样的样本等等。
机器学习的理论一般称之为计算学习理论。计算学习理论最成熟最古老的是PAC(Probably Approximately Correct,可能近似正确)学习框架(这里我把VC维和Rademacher复杂度也归类到这套理论里),最早由Valiant在1984年提出,经过这么多年的发展已经非常完善,但问题是这套理论有一定的限制性,对算法的设计和使用的指导作用也有限。目前来说,计算学习理论里发展比较好的是基于稳定性(stability)的理论和基于鲁棒性(robustness)的理论。这两套理论的适用性比PAC更广泛,理论解释也更为清晰,同时,也对算法的设计和使用有不错的指导性。
关于学习计算学习理论,个人有以下推荐。
最好先把PAC理论完整地学会,然后再去学习Stability理论,最后学习Robustness理论,虽然这三套理论没有必然的先后的关系,但是个人认为这样学习有很多好处。
学习PAC理论推荐书籍《Foundations of Machine Learning》,作者Mehryar Mohri,Afshin Rostamizadeh,Ameet Talwalkar,同时作者在纽约大学有同名的课程《Foundations of Machine Learning》,以这本书作为教材,可以结合着看。另外,作者还有一门课程《Advanced Machine Learning》是更高一级的,建议把前面的学完可以学下这个。这本书是2012年出版的,所以只包含了一部分stability理论的介绍,没有robustness理论。关于计算学习理论的另一本书籍是《Understanding Machine Learning:From Theory To Algorithms》,作者Shai Shalev-Shwartz,Shai Ben-David,基本内容都差不多,但个人还是建议看前一本。
学习Stability理论没有什么推荐书籍,因为这个理论的奠基性工作在2002年才发表,随后2006年,2010年才基本完善,所以只能看论文。纯理论学习的论文主要有
Olivier Bousquet, Andre Elisseeff, 2002,Stability and Generalization
Sayan Mukherjee, Partha Niyogi, Tomaso Poggio, Ryan Rifkin, 2006, Learning theory: stability is sufficient for generalization and necessary and sufficient for consistency of empirical risk minimization
Shai Shalev-Shwartz, Ohad Shamir, Nathan Srebro, Karthik Sridharan, 2010, Learnability, Stability and Uniform Convergence
主要论文就这三篇,另外还有针对各种算法的理论分析,这个可以自己去找,或者待我看完整理一下。
Robustness理论我也才刚开始学,目前在看一篇2015年的论文Analysis and Design of Optimization Algorithms via Integral Quadratic Constraints,作者为Laurent Lessard, Benjamin Recht, Andrew Packard。其余的暂时也不清楚要看哪些论文,等我全部看完再整理更新一下。
- 计算学习理论介绍
- 计算学习理论PAC模型
- 7 计算学习理论
- 机器学习---计算学习理论
- 计算学习理论笔记
- 计算学习理论基础
- Chapter 7 计算学习理论
- 计算学习理论、统计学习基础理论
- 学习理论
- 机器学习笔记(十二)计算学习理论
- KNN演算法--通俗易懂的机器学习理论介绍
- 30分钟了解PAC学习理论——计算学习理论第一讲
- 机器学习(周志华)_第十二章 计算学习理论
- 周志华《Machine Learning》学习笔记(14)--计算学习理论
- 周志华《Machine Learning》学习笔记(14)--计算学习理论
- 周志华 《机器学习》之 第十二章(计算学习理论)概念总结
- 建构主义学习理论
- 深度学习理论
- Node中的require和import用法详细介绍
- 对AutoResetEvent和ManualResetEvent的理解
- 设计模式的应用场景(4)--原型模式
- TabLayout的简单使用
- Android 设置渐变左右
- 计算学习理论介绍
- LyricView是一个强大而灵活的自定义视图,可以在Android的音乐播放器中显示歌词
- springmvc实现多字段查询
- Cannot change version of project facet Dynamic web module to 3.1报错解决
- mysql oracle
- JQuery UI的简单使用
- Javamail实现自动发送邮件
- 随记——CCNode中各个函数的作用介绍--转载
- Lambok的安装及使用