之前我们介绍过
Coursera,里面有内容丰富的各种课程,其中最早出现的就是 Andrew Ng 的
Machine Learning
课了。就在最近不久这个课程刚刚结束了它的第二轮(还是第三轮),如果错过了时间的同学可能要等到明年或者至少下个学期了。虽然任何时候都是可以观看课程视频的,但是如果不按照官方的进度来的话,就无法感受到课程作业的
deadline大家一起学习所带来的动力和紧迫感了吧,而且作业似乎也不能在线提交了。
前几天还有个朋友跟我抱怨怎么那个课这么一下子就结束了,不过这档头有个好消息,就是网上又开了一门机器学习的课程。不过这次的课程不是挂在
Coursera 门下,但是也不是什么“山寨”货。课程链接在这里,虽然我也是今天才知道这个课程,但是毕竟是
Caltech 出品,应该是很不错的,课程网站上说的是“A real Caltech course,
not a watered-down
version”,也就是说这就是他们自己的机器学习课程,考虑到 Caltech
的名头(我想“看到我这篇 blog”、“没听说过 Caltech”和“没看过《The Big Bang
Theory》”这三件事情同时发生的概率应该可以小到忽略不计了
:D),质量上应该是可以得到保证的。引用一下网站上对课程内容的介绍如下。
This is an introductory course on machine learning that covers the basic theory, algorithms, and applications. Machine learning enables computational systems to adaptively improve their performance with experience accumulated from the observed data. It has become one of the hottest fields of study today, with applications in engineering, science, finance, and commerce. The course balances theory and practice, and covers the mathematical as well as the heuristic aspects. The lectures follow each other in a story-like fashion.
形式上,也是看教学视频(和 Coursera
上一样是专门针对在线学习设计的视频,大部分时候是针对 slides
的展示,而不是简单的把普通的课堂录下来),也有课程作业并且是在线提交的形式,当然还有讨论组。不过视频是放在
Youtube 上的,所以 blah blah
blah,然后讨论组似乎是另一个独立的论坛。这些细节上确实不如
Coursera 做得统一,不过我们就暂时不用去管这些细节了,何况 Coursera
也还有挺多毛病,比如他的那个在线播放器虽然能在课堂中间嵌入习题,但是用起来也不太好用,比如如果我想把视频往前
seek
半分钟重新看一下刚才说的什么的话,似乎就要重新缓冲一遍,卡在那里半天;而且有时候放着放着就只有声音了(不知道是不是
Linux 下特有的 bug),画面就定住了,因为画面经常都是静止的 slides
么,有时候过了很久才发现音频里讲的东西和画面已经完全对不上了……
=.=bb
然后,还有一点重要的是:7 月 10
日开始哦,现在已经开放注册了,如果你还在为错过了上一次 Andrew Ng
的课程而后悔的话,千万不要再错过这一次机会了!:D 即使上过
Ng 的课的同学,应该也还是会从中得到收获的吧。对比起来的话,Ng
的课比较偏基础一点,而且介绍了许多 intuitive idea 和 real-world
practice,例如课程最后讲到的在一个实际的 Machine Learning Pipeline
系统中如何去评测和规划应该将精力花在哪些部分,个人觉得是非常有用的,因为似乎我自己所在的实验室中的有些项目有时候就看起来在做一些比较“无用”的功——就是费了很大劲但是对整个系统的性能提升并没有太大的帮助。
而新开的这个课(WARNING:由于我也还没有上过这个课,所以一下内容纯属梦话
:p)因为说是 Caltech 自己用的 Machine Learning
课,所以从难度上来说应该会比 Ng
的那个课稍大一些,也会更深入一些,这一点从课程的 schedule
标题上也可以看到:这里还涉及到了 Theory of Generalization 和 VC
Dimension 等一些内容,应该会比较有趣的。另外主页上的课程 schedule
实际上用颜色标出了每一课标题,三种颜色分别表示 theory
(mathematical)、technique (practical) 和 analysis
(conceptual),可以作为内容分布的参考。
另外这个课程还有一本配套的课本,也是授课教授 Yaser S. Abu-Mostafa
自己写的书,叫做《Learning From
data》,是今年刚出的新书(所以似乎目前既没有影印版也没有电子版……:(),不过当我看到它只有
200
来页的时候就眼睛一亮了,大部头的书总是很难坚持读完啊!:D
顺便提醒一下,叫这个名字的书似乎有好几本,大家不要搞混淆了。
最后,趁这个档头我把机器学习相关的一些书搜集起来做了一个列表放在豆瓣上,主要放一些经典书籍(例如大家喜闻乐见的 ESL、PRML 等)和一些比较新的书(例如这里的这个课本,和 6 月份刚出的有两位 Boosting 之父联袂打造的新书《Boosting: Foundations and Algorithms》等),新书由于还没有经过时间验证是否是经典,所以收录进来的原因通常是作者很牛或者书的内容看起来很有意思等。一方面我会尽量避免滥竽充数地随便把什么书都加进来,但是另一方面我也不会拿什么来担保里面所有书的质量哦,况且有许多书我自己都还没有读过。
Update: 看了第一课的内容,觉得这个课应该会很有意思。lecture 长度大概在一小时左右,还有挺长的 Q&A 环节,至少第一次 lecture 里大家提的问题都是非常犀利的。课程的安排大致是按照这样的顺序来的:
- What is Machine Learning?
- Can we do it?
- How to do it?
- How to do it well?
此外,这里还有 John Langford 的推荐:
Yaser points out some nicely videotaped machine learning lectures at Caltech. Yaser taught me machine learning, and I always found the lectures clear and interesting, so I expect many people can benefit from watching. Relative to Andrew Ng’s ML class there are somewhat different areas of emphasis but the topic is the same, so picking and choosing the union may be helpful. hunch.net
另外 JL 在这里说的“Andrew Ng 的 ML 课程”又和 Coursera 上那个 ml-class 不太一样,前者比后者内容更多也更深一些,感兴趣的同学可以直接点上面的链接进去看一看。
Comments
> 我想看到我这篇 blog、没听说过 Caltech和没看过《The Big Bang Theory》这三件事情同时发生的概率应该可以小到忽略不计了 :D
看到这句时心中一凉……
哇!不会吧?莫非发生了?那把“没看过《The Big Bang Theory》“改成”没听说过《The Big Bang Theory》“呢?(其实我也没看过几集)……
好吧,google 一下发现瓶颈在于不知道 Caltech 这个缩写……
我是用Linux下的Firefox看的COURSERA课程视频,貌似没有出现过图像与声音不同步的问题
我这里有的时候暂停一下过一阵子回来再继续播放的话,就只有声音图像卡住了,极少数时候直接播着播着就卡住了……ps:我是 64 位的系统。
我是fedora 15 32bit chrome, 貌似没有这个bug, 不知道你是linux什么环境?
Arch Linux, 64bit Firefox
您好,首先原谅我没找到留言板什么的。。这能把问题发在这了。。不知道您用过 Thorsten Joachims提供的SVM-Struct工具包吗?我刚刚接触学习Structured learning,现在在学习使用SVM-struct这个软件包,但是在Matlab中,不大明白如何定义Constraint和loss Function,以n-slack为例,在这个函数里,我是要把n个constraints都要定义进去吗?还是说我需要给出一个普遍的算法?如果您能给我几个matlab下用SVM-struct的例子的源码或链接就最好不过了~~?万分感谢~~或者您知道其他的structural SVM在matlab上的实现吗。。我只会matlab。。
你好,不好意思,我没有用过 svm-struct,对 structured learning 也不熟。建议你仔细看一下它提供的文档特别是例子,svm-light 系列好像主要是命令行的接口为主,如果 matlab 接口的文档说得不清楚的话,也许你可以看看官方的命令行版本的接口然后对照一下。
谢谢~
我一直以为博主是一个美女,看了那个简历,发现是个帅哥啊,好吧,哈哈
想问问LZ有没有找到《learning from data》的电子版或者其他可以看的版本(貌似连电子书都没有啊),实在是受不了Yaser S.Abu-Mostafa的口音啊···
作业我都是照着slides做的=。=
他是有些口音,YouTube 上是有字幕的,不过那个字幕不知道是不是 google 的算法自动语音识别得到的,错误很多。电子书我没有找到,你可以搜下看看 Google Books 上可不可以在线预览一部分。
字幕的确错误很多...Yaser在论坛里也说了,字幕只是个笑话
两个课程都上过, coursera那个更偏向于应用, 而且大部分代码都已经写好给你. caltech那个更有深度, 也更理论一些. 课程不提供任何代码, 需要自己写. 感觉上, 先上coursera的课程让自己知道ml到底都能干些什么, 然后再看caltech的从理论上更深入理解效果会更好. 上caltech的课程, learning from data的书有的话更好, 没有也其实无所谓, 课程都已经覆盖了这些内容. 这里有我在上caltech课程的时候用R写的一些代码, 有需要可以看一下. https://github.com/fiveshee...
多谢!目前我刚看到 lecture 3,做第一个习题的时候看到要写个简单的 perceptron,就随手写了一个,到第二次的时候发现之前写的代码还是需要用的,看你整理的这些代码的话估计后面的内容习题也是要经常用前面的东西吧,看来也需要好好整理一下否则很快就弄乱了。
顺便问一个比较跑题的问题,我以前都没用过 R,主要都是 matlab,偶尔用下 numpy/scipy,不知道 R 和 Matlab/Octave 这类的比起来有什么优缺点呢?
R与Matlab相比, 最大的优点就是免费. 使用上不会有太大区别, 总之你明白如何使用矩阵运算避免循环就抓到关键点了. 我上那课程的时候代码也都是matlab写的, 后来花了两三天学了一下R然后, 用它重写一遍代码. 另外, 道听途说R在ML相关的领域使用比较广泛, 不少相关工作会要求用R.
嗯,免费确实是一大优点,这个在版权意识全无的国内几乎倒是感觉不出来,不过走出去了之后也许就是个大问题了。虽然和 Matlab 配套也有免费版的 Octave ,不过大概各有专长吧,好像搞统计的人用 R 比较多一些?
统计系的同学说,他们的工作用R的非常多,用matlab的很少。可能学术圈就没差了吧
请问一下,你是怎么访问
Youtube的, 有什么好方法没?
翻墙……
LZ啥时候能普及下翻墙技术啊, :-P
我尽量不会在这里涉及这些敏感内容的,否则这里被墙了岂不是很麻烦?
I'm just kidding,我想大部分喜欢看你blog的人这技术都会的,哈
已经联系过网易公开课了,他们表示可以引进这个课,你可以等那边引进了看,虽然不知道要花多少时间。
itunes U 上也有相应的下载的
网易公开课上有 不过字幕真的不敢恭维
来自CAD实验室的小师弟拜过学长。。。发现看学长的blog时常会接触之前没有听闻的新鲜事物,挺启发的,受益良多。
搜索到learning form data,搜到博文,请问博主,有learning form data的电子版吗?
learning from data 的另外一个作者林轩田也有开课:http://www.csie.ntu.edu.tw/...