打算用这个页面来记录我掌握的机器学习相关资源和学习情况。
大部分是互联网上的资源,如果你也感兴趣,可以作为参考。这么说的前提是你已经有一定的编程和数学基础,否则的话,可能需要先在python上多花一点时间。
我走的是常见的Python -> ML路线,目前的认知是:通过python的几个第三方库(Numpy、pandas、sklearn等)较为快捷地掌握机器学习。
当然,在数学(统计、概率、线代等)方面我还有很多欠账要补。机器学习可能会用到的Hadoop等分布式解决方案也是应当掌握的内容。这些锦上添花的东西都靠自己花功夫,就不列出来了。
虽然我自己的学习顺序是混乱的,但我会把已有一定了解的内容按阶段划分罗列。
而一些可能对特定群体有用的资源则列在最后的「其他资料」中。等这部分积累多了我也会做子分类的。
前期:
- 学堂在线MOOC——数据挖掘:理论与算法
这门是我的机器学习入门课。虽然讲的是数据挖掘,但是老师把机器学习领域的很多常用算法都做了深入浅出的讲解,算是打开了这一学科的大门。数据挖掘大概是机器学习在当下最常见的应用,ML那些算法应用在数据处理上简直让新手感到耳目一新。 - 给深度学习入门者的Python快速教程 – 基础篇
也就是python入门(这篇我没看,但是存下来备查,它介绍了几乎所有的基础概念)。另一个可以当「字典」用的备查信息源是runoob。 - 给深度学习入门者的Python快速教程 – Numpy和Matplotlib篇
用于数据处理的Numpy库和用于绘制图形的Matplotlib库。 - 10 Minutes to pandas
Pandas是配合Numpy使用的一个库。可以把数据存在DataFrame里面(方便进行处理)。我看完这个10 minutes之后觉得这篇Essential Basic Functionality也很有用。pandas具体的优势还有待学习。 - https://scipy.org/
SciPy的官方文档,也包括了NumPy、pandas、IPython等的文档。 - 机器之心:只需十四步:从零开始掌握Python机器学习(附资源
中期:
- Coursera——Machine Learning
斯坦福大学提供的机器学习课程,使用Matlab和Octave实践。老师是ML领域的大牛吴恩达。 - 西瓜书——《机器学习》
南大周志华教授写的机器学习教材。用到的数学知识比较多,我还正在学。 - IPython Notebook: 交互计算新时代
做数据分析时恐怕不得不用到IPython(jupyter)。这是一篇介绍ipython安装使用的简易教程。 - 基于 Python 和 Scikit-Learn 的机器学习介绍
sklearn是一个现成的机器学习库,主流机器学习算法全都可以调用这个库实现,设置好参数就可以直接进行训练。使用这个库来实现ML算法,避免重复造轮子。 - Kaggle
是一个机器学习平台。上面提供了大量数据集供人使用。许多ML科学家在上面分享他们的方案。试着亲自动手重复大牛的方案,可以快速上手实践。 - 参考:普通程序员如何向人工智能靠拢?
介绍了通过自学掌握机器学习的合理路径。(这是一篇翻译文章,但是排版配图都很偷懒,如果英文阅读没问题,我更推荐原文:How to Learn Machine Learning——The Self-Starter Way
后期:
- 机器之心:深度学习资料大全:从基础到各种网络模型
这其实是个翻译文档,它的原文在这里 - 深度学习利器: TensorFlow系统架构及高性能程序设计
TensorFlow系统架构简介。这两年深度学习非常火,所以TensorFlow也很火。但我觉得这只是个工具而已,不同的企业应该会有不同的实现,视需要进行掌握吧。我个人还是比较关注算法层面的问题。 - 深度学习工具综述
硅谷数据科学公司对多种主流工具做的评估和选择建议。 - 范式大学:杨强教授漫谈《西部世界》、生成式对抗网络及迁移学习
主要是介绍生成式对抗网络(GAN) - really-awesome-gan
A list of papers and other resources on General Adversarial (Neural) Networks. The site is maintained by Holger Caesar.
其他资料:
数学方法和模型:
- July大神写的数据挖掘中所需的概率论与数理统计知识
- 回归:稀疏与正则约束ridge regression,Lasso
一篇介绍ridge regression、稀疏约束Lasso 两种回归方法的文章。阳哥哥给我说用X矩阵广义逆做回归的方法已经不是学界主流了,现在用得更多的应该还是regularization(著名的例子就是ridge regression, LASSO)。 - 关于统计学方面知识的参考书籍:高惠璇著,《统计计算》
@book{1995统计计算,
title={统计计算},
isbn={9787301028278},
url={https://books.google.co.jp/books?id=j-2AAAAACAAJ},
year={1995},
publisher={北京大学出版社}
}Alan Agresti著,线性模型和广义线性模型:《Foundations of Linear and Generalized Linear Models》
机器学习算法:
- Top 10 algorithms in data mining
This paper presents the top 10 data mining algorithms identified by the IEEE International Conference on Data Mining (ICDM) in December 2006: C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART. These top 10 algorithms are among the most influential data mining algorithms in the research community. With each algorithm, we provide a description of the algorithm, discuss the impact of the algorithm, and review current and further research on the algorithm. These 10 algorithms cover classification, clustering, statistical learning, association analysis, and link mining, which are all among the most important topics in data mining research and development. - WEKA
著名的免费机器学习算法程序库,由新西兰Waikato大学研究人员基于JAVA开发 - Java的推荐算法库——librec
A Java Library for Recommender Systems
数据工具:
- http://selection.datavisualization.ch/
提供了大量的数据可视化工具。 - http://www.rulequest.com/
RuleQuest data mining tools. - 数据派THU:一文读懂大数据计算框架与平台