摘自:http://www.jianshu.com/p/c3634a7f2320
机器学习算法
Coursera 上面 Stanford 的 机器学习 课程是优质的算法相关入门课程。Andrew Ng 是 Coursera 的创始人,也是 Stanford 的老师。这个课程最大的特点是对机器学习算法的推导和介绍,从数学层面去推导一些经典的机器学习算法。如果你微积分,矩阵运算,概率论等大学数学都还给老 师了也没关系。课程中会介绍用到的最基础的数学知识,包括微积分,矩阵运算,概率论等。真正做到了深入浅出以及零基础。
算法是理解机器学习原理的非常基础的知识,在实践中我们可能根本不用去推导或实现这些算法,但不代表我们不需要理解这些算法。理解这些算法对我们选择机器学习的模型以及对数据进行分析都有非常有益的。
编程语言
适合机器学习的编程语言不少,这里推荐使用 Python。Python 是免费开源的语言,并且有非常丰富的库,而且学习 Python 语言的门槛比较低,是全民编程运动的推荐语言。这篇文章罗列了目前主流的机器学习语言以及各自的优劣。
学习 Python 除了官方的教程之外,推荐一本书 Dive Into Python 有中文版,也有英文版。中文版翻译质量也很高。当然,Learn Python The Hard Way 也不错。不过建议选择一本照着练习,一个月掌握这个语言的基础特性问题不大。
Python 机器学习工具箱
Python 用来实现科学计算的软件包是 scipy, numpy, matplotlib,其中 numpy 提供高性能的数值去处;scipy 实现机器学习的算法;matplotlib 提供数据可视化。
这三个库都挺大的,内容也比较多。这里重点推荐一个非常优质地适合入门的网站:Python Scientific Lecture Notes。一个网站把机器学习想着的 Python 工具全部搞定,并且内容易懂,很适合初学者。