Permalink
Find file Copy path
f72871d Apr 24, 2018
1 contributor

Users who have contributed to this file

50 lines (39 sloc) 5.79 KB

机器学习的一些资料

1. 机器学习与概率、统计学

1.1 公开课

  1. 斯坦福机器学习入门课程,讲师为Andrew Ng,适合数学基础一般的人,适合入门,但是学完会发现只是懂个大概,也就相当于什么都不懂。
  2. Coursera上国立台湾大学林轩田开的两门课:机器学习基石(适合入门),机器学习技法(适合提高)。

1.2 推荐书目

统计和概率是机器学习的基础,所以统计和概率一定要学好。

  1. 推荐必读
  1. 机器学习理论方面:

    • 推荐 著名教材《Pattern Recognition》中文版为《模式分类》第二版,从数学的角度讲了机器学习的方方面面,非常不错。这本书好的地方是,书中所有的算法都有数学推导,讲的也很全面,作者的眼光很独到,习题和上机题也非常有挑战性;不好的地方就是,对现在流行的比如boosting和SVM等,书只是略讲了一下,可能需要额外再补充知识。不过即便如此,当我最近一个月看到这书时立刻就感叹为什么我当初上课的时候没有赶上这本书!

    • 权威学者Kevin P. Murphy的著作Machine Learning:A Probabilistic Perspective(MLAPP) ,非常厚,偏重数学理论,难度高,是学习机器学习理论的教材,我们上课用书。

  2. 用python进行数据处理的书:利用python进行数据分析,适合浏览,偏重工程实践,介绍常用的python处理数据的方法和函数等,可以看看。

  3. 机器学习实战,这个和第3点说的这个书配合看,效果不错,这个书很有针对性,每个算法有一个实际问题,有源程序让你去写,不错。

  4. 学习统计不能不说的经典的《统计学习基础》,我暂时还没看过。

  5. 以及业界久负盛名的PRML(模式识别与机器学习),我这里中文英文版都有。

1.3. 工具

  • 第三方库 机器学习有很多开源库可以直接拿来用,github是个不错的获取代码的网站,比较著名的有:    * libsvm,作者是林智仁,是svm的标准库。

    • scikit-learn,scikit包是python中著名的处理数据的包,其中内置了几乎所有流行的机器学习算法,配合python简洁的语法操作,使用起来很方便。
    • pandas,python的一个包,其中对表的处理比较出色,我只是试用过。
    • pylearn2,这个我没有接触过,不过在github上排名很靠前,应该不错。
    • smile,彪悍的机器学习库,用java开发,有自然语言处理方面的库。
    • oryx,处理大规模数据很彪悍。
    • mlpack,老牌可靠c++编写的机器学习库。
  • 工具 python、java以及matlab三种语言是目前比较流行的机器学习方面的语言。

    • python:强在各种包,几乎无所不能,其科学计算部分(scikit)和matlab不相上下。用Flask当作web框架,几乎可以直接部署成web项目,非常方便,强烈推荐。
    • java:强在其企业级应用能力和稳定性。
    • matlab:强在其科学计算部分上。matlab我用的不多,因为目前来看,它和python的科学计算差不多。
  • 网上的教程 这是在一个妹子的微信朋友圈看到的文章,很不错。

2. 数据挖掘

  • 快速入门:看我去年考试写的总结数据挖掘复习整理,可快速了解数据挖掘的相关概念。这个总结去年在雁栖湖传的很火,还有妹子给我发短信感谢。。。
  • 数据挖掘领域的经典著作:数据挖掘:概念与技术,作者是韩家炜,是标准的上课教材,上一部分我的总结中对应的页码就是这个书里的。

3. 人工智能