机器学习

打算用这个页面来记录我掌握的机器学习相关资源和学习情况。

大部分是互联网上的资源,如果你也感兴趣,可以作为参考。这么说的前提是你已经有一定的编程和数学基础,否则的话,可能需要先在python上多花一点时间。

我走的是常见的Python -> ML路线,目前的认知是:通过python的几个第三方库(Numpy、pandas、sklearn等)较为快捷地掌握机器学习。
当然,在数学(统计、概率、线代等)方面我还有很多欠账要补。机器学习可能会用到的Hadoop等分布式解决方案也是应当掌握的内容。这些锦上添花的东西都靠自己花功夫,就不列出来了。

虽然我自己的学习顺序是混乱的,但我会把已有一定了解的内容按阶段划分罗列。
而一些可能对特定群体有用的资源则列在最后的「其他资料」中。等这部分积累多了我也会做子分类的。



前期:


中期:

  • 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

后期:


其他资料:

数学方法和模型:

机器学习算法:

  • 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

数据工具: