Andrew Ng 机器学习课程的Python实现

完全用Python完成吴恩达的机器学习课程是怎样一种体验?本文作者表示:完全可以!而且你不需要成为Python专家,只需要有良好的数学基础。

“吴恩达的Coursera机器学习课程可以完全用Python完成!”

昨天,Reddit论坛的机器学习看板出现这样一条热帖。

可以说,吴恩达(Andrew Ng)的机器学习课程是很多人、尤其是中国学生进入机器学习世界的引路人,被认为是入门机器学习的最好课程。截至目前,有超过80000人在Coursera上完成了这门课的学习。

吴恩达Machine Learning课的评分

不过,这门课推荐使用Matlab/Octave来完成作业,对于不会Matlab/Octave,或者对Matlab/Octave不感兴趣的人来说,要完成作业获取证书可能难度加大。虽然吴恩达强烈推荐大家使用 Octave 来学习机器学习,并且用了完整的一个章节“Octave and Matlab Tutorial”来讲述 Octave 的基本操作。

那么,全部用Python完成是怎么回事?

Reddit用户rsdsdsr的帖子如下:

一句话总结:吴恩达的Coursera ML课程可以用Python完成,而且你不必是Python专家就可以做到。但你需要有很好的数学基础,这将是非常耗时的,而且用Python写作业不会得到证书。”

我最近在Coursera上完成了吴恩达的ML课程,但我没有使用推荐的Matlab/Octave,而是完全用Python来完成。你可以在这里查看我作业的Jupyter notebooks:

https://github.com/seddonr/Ng_ML

我绝不是第一个这样做的人,但我认为应该发这个帖子,作为给那些正在考虑参加这门课程,但像我一样对学习Matlab/Octave不感兴趣的人的鼓励,也可以了解用Python学这门课的好处和缺点。

用Python完成这门课程非常耗时,因为这意味着我必须从头开始构建所有东西,而如果你用Matlab/Octave完成课程,则会得到大量预编写的代码。另一方面,这是一次很棒的学习经历,我学到了大量的Python技能。

你不必成为Python专家——在完成这门课程之前,我的Python经验仅限于“使用Python自动化枯燥的东西”,以及学过一些关于NumPy和Matplotlib基础知识的非常简短的教程。但是,你需要有良好的数学基础才能跟上课程——有很多矩阵代数和微积分。

另一个问题是,由于这门课程是为Matlab/Octave设计的,因此无法提交用Python完成的作业,所以你无法对你的作业进行评分或获得证书。证书对我来说并不重要,但如果对你很重要,那么Matlab/Octave可能是更好的选择。

总的来说,我觉得这门课程很有趣,也很享受,我觉得它很好地覆盖了ML的许多主题。 Andrew Ng能以一种愉快的语调把知识点讲得很清楚,他的课也很容易学。如果你决定尝试用Python完成这门课程,祝你好运,我希望这个帖子是令人鼓舞的!

Python作业代码

rsdsdsr公开了他的作业代码:

https://github.com/seddonr/Ng_ML

内容:

Ex1:线性回归

有一个变量和多个变量。

Ex2:逻辑回归

包括正则化。

Ex3: Multi-class 分类和神经网络

使用两种不同的方法识别手写数字:one-vs-all逻辑回归,以及前向传播预训练的神经网络。

Ex4:神经网络学习

构建和训练神经网络,包括反向传播,并将其用于手写数字识别。

Ex5:正则化线性回归和偏差与方差

包括学习曲线和多项式回归。

Ex6:支持向量机

6.1:在一些样本2D数据集上展示scikit-learn SVM,其中包含线性和高斯核函数。

6.2:使用自然语言处理和scikit-learn SVM构建电子邮件垃圾邮件分类器。

Ex7:K-means聚类和主成分分析

7.1:构建k-means聚类算法并将其用于图像压缩。

7.2:构建PCA算法并将其用于图像压缩和可视化。

Ex8:异常检测和推荐系统

8.1:使用多元高斯模型进行异常检测。 Precision, recall, F1 score.

8.2:构建推荐系统并用它来推荐电影。

最佳入门教程

吴恩达在Coursera上开设的Machine Learning课程,经过数年的改进和传播,目前已有许多中文学习资料。吴恩达本人对这门课也很有感情,他曾表示自己保留斯坦福教职,很大程度上是因为想教这门课。

这门课也是技巧和实践并重,“你不仅可以学习到学习的理论基础,还可以获得所需的实用知识,快速有效地将这些技术应用于新的问题”。课程中还将介绍了硅谷在机器学习和人工智能方面创新的一些最佳实践。本课程还将从大量的案例研究和应用中吸取教训,以便学习如何将学习算法应用于构建智能机器人(感知,控制),文本理解(网络搜索,反垃圾邮件),计算机视觉,医学信息学,音频,数据库挖掘等领域。

主题包括:

1、监督学习:参数/非参数算法,支持向量机,Kernels,神经网络

2、无监督学习:聚类,降维,推荐系统,深度学习

3、机器学习的最佳实践:偏差/方差理论;机器学习和人工智能的创新过程

最后,该课最新一期从10月15日开始,持续约11周,2019年1月7日结束。

课程地址:

https://www.coursera.org/learn/machine-learning

∞∞∞∞∞

邀你加入IT派{ 技术青年圈}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181021B0BIUY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券