Andrew Ng在搞Coursera之前,有个OpenClass,就是教Machine Learning,那是远在2010年,非常久远,但是可以说,后面的那些课程,都是在那个基础上弄的。其实差不多,另一方面就是那个年代久远,Python根本不像现在这样流行,那个年代还整天在Perl VS Python,而不是今天的R VS Python。然后这个OpenClass的课程,是用Matlab/Octave教的,我印象中应该是Matlab,然后课程作业我是用Octave作的。然后我又自己用R重新写了,打了一个R包,取名mlass是ML + clAss的意思,无意中变成了ML + ass。

我大概实现了大部分基础的东西,神经网络没有写。
- Linear Regression with one variable <2012-01-06, Fri>
- Linear Regression with multiple variables <2012-06-28, Thu>
- Logistic Regression <2012-06-20, Wed>
- Regularization for preventing overfitting <2012-06-27, Wed>
- Neural Networks
- Support Vector Machines <2012-04-11, Wed>
- Hierarchical clustering, single and complete method <2012-12-10, Mon>
- Hierarchical clustering, average (UPGMA) method <2014-08-22, Fri>
- K-Means algorithm <2011-12-30, Fri>
- Principal Component Analysis
但是这个十几年前写的包,还是挺好的,因为除了实现算法之外,结果用S4对象存,写了方法访问数据,写了可视化代码画图,然后部分计算的东西,我还用C++写了。当年的session info,ggplot2还是0.9.0,非常古早。
所谓人丑要多读书,AI得继续学起来,于是翻出来这个旧代码,发现这个包安装报错了,修正了一下。文档也从原来用LaTeX写的,换成了用Markdown来写。它又可以安装了。
例子大概比如kmeans里迭代中心点,画出来这样子:

再比如一个SVM分类的例子,结果是这样子:
前两年大家还在说大数据就像少年性事,大家都在讲但没人做过。现在AI都快成为大学生的通识课了。必须要搞起来。