除了上面提到的吴恩达课程,如果你还需要需要其它的,网上还有很多各类课程供你选择。比如我就很喜欢 Tom Mitchell,这里是他最近演讲的视频(一起的还有 Maria-Florina Balcan),非常平易近人。 Tom Mitchell 的机器学习课程: 目前你不需要所有的笔记和视频。一个有效地方法是当你觉得合适时,直接去看下面特定的练习题,参考上述备注和视频恰当的部分, 第三步:科学计算 Python 软件包概述 好了,我们已经掌握了 Python 编程并对机器学习有了一定的了解。而在 Python 之外,还有一些常用于执行实际机器学习的开源软件库。广义上讲,有很多所谓的科学 Python 库(scientific Python libraries)可用于执行基本的机器学习任务(这方面的判断肯定有些主观性): numpy——主要对其 N 维数组对象有用 pandas——Python 数据分析库,包括数据框架(dataframes)等结构 matplotlib——一个 2D 绘图库,可产生出版物质量的图表 scikit-learn——用于数据分析和数据挖掘人物的机器学习算法 学习这些库的一个好方法是学习下面的材料: Scipy Lecture Notes,来自 Gaël Varoquaux、Emmanuelle Gouillart 和 Olav Vahtras: 这个 pandas 教程也很不错:10 Minutes to Pandas: 在本教程的后面你还会看到一些其它的软件包,比如基于 matplotlib 的数据可视化库 Seaborn。前面提到的软件包只是 Python 机器学习中常用的一些核心库的一部分,但是理解它们应该能让你在后面遇到其它软件包时不至于感到困惑。 下面就开始动手吧! 第四步:使用 Python 学习机器学习 首先检查一下准备情况 Python:就绪 机器学习基本材料:就绪 Numpy:就绪 Pandas:就绪 Matplotlib:就绪 现在是时候使用 Python 机器学习标准库 scikit-learn 来实现机器学习算法了。
scikit-learn 流程图 下面许多的教程和训练都是使用 iPython (Jupyter) Notebook 完成的,iPython Notebook 是执行 Python 语句的交互式环境。iPython Notebook 可以很方便地在网上找到或下载到你的本地计算机。 来自斯坦福的 iPython Notebook 概览: 同样也请注意,以下的教程是由一系列在线资源所组成。如果你感觉课程有什么不合适的,可以和作者交流。我们第一个教程就是从 scikit-learn 开始的,atv,我建议你们在继续完成教程前可以按顺序看一看以下的文章。 下面是一篇是对 scikit-learn 简介的文章,scikit-learn 是 Python 最常用的通用机器学习库,其覆盖了 K 近邻算法: Jake VanderPlas 写的 scikit-learn 简介: 下面的会更加深入、扩展的一篇简介,包括了从著名的数据库开始完成一个项目: Randal Olson 的机器学习案例笔记: 下一篇关注于在 scikit-learn 上评估不同模型的策略,包括训练集/测试集的分割方法: Kevin Markham 的模型评估: 第五步:Python 上实现机器学习的基本算法 在有了 scikit-learn 的基本知识后,我们可以进一步探索那些更加通用和实用的算法。我们从非常出名的 K 均值聚类(k-means clustering)算法开始,它是一种非常简单和高效的方法,能很好地解决非监督学习问题: K-均值聚类: 接下来我们可以回到分类问题,并学习曾经最流行的分类算法: 决策树: 在了解分类问题后,我们可以继续看看连续型数值预测: 线性回归: 我们也可以利用回归的思想应用到分类问题中,即 logistic 回归: logistic 回归: 第六步:Python 上实现进阶机器学习算法 我们已经熟悉了 scikit-learn,现在我们可以了解一下更高级的算法了。首先就是支持向量机,它是一种依赖于将数据转换映射到高维空间的非线性分类器。 支持向量机: 随后,我们可以通过 Kaggle Titanic 竞赛检查学习作为集成分类器的随机森林: Kaggle Titanic 竞赛(使用随机森林): 降维算法经常用于减少在问题中所使用的变量。主成份分析法就是非监督降维算法的一个特殊形式: 降维算法: 在进入第七步之前,我们可以花一点时间考虑在相对较短的时间内取得的一些进展。 (责任编辑:本港台直播) |