机器学习在如今的各行各业已经运用的越来越广泛,决定学习机器学习,但对从何开始感到困惑?我也曾有过同样的困惑:从哪里开始才是好的起点?是学习Python还是cpp?
在这篇文章中,我会告诉你在开始实际机器学习之前应该采取的一些基本步骤和课程。
机器学习的第1步(基础编程)
最初的一步是学习编程,最好是Python。如果你从未编写过一行代码,我推荐哈佛大学的CS50课程,这是针对编程初学者的最佳课程,它从零基础教起,涵盖了C语言的全部内容以及大量的Python和JavaScript基础知识,还有SQL和JSON的基础。这个非常令人兴奋的课程在edx.org上免费提供。你可以在这里找到它。关于cs50的文章阅读可以在这里找到。
如果你想直接从Python开始,我推荐你参加麻省理工学院的《计算机科学导论:使用Python》,这也是在edx上免费提供的。请注意,高中代数是这门课程的先决条件,因为它们会让你解决许多数学实际问题。
如果你觉得自己的计算逻辑不好,不擅长编程问题解决,我推荐你参加微软的《计算思维》课程,这也是在edx上免费提供的。这门课程非常酷,教授了大量的计算逻辑和批判性思维。
如果你对编程的基础知识已经足够熟悉,但对面向对象编程一无所知,那么我推荐你学习面向对象编程。虽然在机器学习(基础级别)中不太用得到,但它确实非常有帮助。我建议你参加这个课程,它教授Python中面向对象编程(OOP)和算法的基础知识。你可以在edx.org上免费找到这个课程。
下一步是熟悉数据结构和算法。一个好的程序员必须知道一些基本算法,如链表、二叉树等。这门由微软提供的课程将教授你:
这门课程在edx.org上也是免费提供的。
如果你想深入学习数据结构和算法,加州大学圣迭戈分校的专项课程是一部杰作。它包含6门课程,可以让你从零开始,成为数据结构和算法方面的英雄。你可以点击每门课程免费查看其材料,但如果你想要证书,其价格为每月50美元,具体取决于你多快完成它。在Coursera.org上找到这个专项课程或点击这里。
机器学习的第2步
没错,你猜对了,对大多数初学者来说最危险的部分,数学。
但不用担心,它并没有我们想象的那么难。如果你认为自己在高中数学(向量、矩阵、微积分、概率和统计)基础扎实,你可以只是简单地参加一门复习课程;但如果你认为自己不够好,那么学习数学的最佳场所无疑是可汗学院。可汗学院提供的内容丰富、有用,而且全部免费。你可以在那里找到所有线性代数、概率统计和多变量微积分课程。
另一门不错的课程是由伦敦帝国学院在Coursera上提供的《数学与机器学习专项课程》。这是一门很棒的课程,它教授基础知识并复习概念,但不会深入太多。练习和测验相当有挑战性。它包括3门课程:
麻省理工学院有一门很棒的统计学课程,教授:
它在edx.org上免费提供。如果你想在编程时学习数学,微软有一门很好的课程《机器学习的基础数学:Python版》。这是一门互动课程,使用Python的著名库Numpy、Pandas、Matplotlib(这门课的先决条件)以图形方式教授数学。在edx.org上找到这门课程。你也可以在学习实际的机器学习时一边学习数学,遇到不懂的东西,就在可汗学院或YouTube上搜索,YouTube上有成百上千的相关视频。
机器学习的第3步
现在你已经对线性代数、多变量微积分和统计学有了一定的了解,接下来你需要学习Python的著名数据可视化库,如Numpy、Pandas、Matplotlib、Scipy,这些库可以帮助你分析和操纵任何类型的数据,并以图形方式展示它们。当然,还有更多的数据可视化库,但这些是最重要的。图形化地实现你的线性代数和微积分概念,并将它们可视化。在这方面的一部杰作是由密歇根大学提供的《使用Python的统计学专项课程》,它详细教授数据可视化及其操作。当然,它在coursera.org上免费提供(点击每门课程可以免费试听)。密歇根大学还提供了一门适合数据分析初学者的课程,《Python中的数据科学导论》,它从Numpy的基础知识讲起,直到Pandas。在coursera.org上免费提供。
这个课程的下一部分是一个游戏规则改变者。名为《Python中的应用绘图、图表制作和数据表示》,它教授所有的图形可视化及其技巧和技术。如果你对numpy、pandas和matplotlib有一定的了解,可以参加哈佛大学的《Python研究》,它教授这些库以及一些著名的案例研究,其最终项目非常令人兴奋,教授了许多新事物。在edx.org上免费提供。加州大学圣迭戈分校的《Python数据科学》课程也非常全面,教授Python Jupyter笔记本、Pandas、NumPy、Matplotlib、Git、SciKit-Learn、NLTK。这意味着这门课程也会教授你机器学习的基础知识,但更重要的是,这门课程中教授的数据科学库。在edx.org上免费提供(别忘了阅读它的先决条件)。
第4步 实践机器学习
到目前为止,你已经学习了线性代数、多变量微积分、概率统计和Python以及其数据可视化库,现在你已经准备好跳入最令人兴奋的部分——机器学习。第一门课程非常重要。如果它不好,你可能会因为不喜欢这门课而改变专业。因此,这里推荐的所有课程都是高质量的,而且在你开始机器学习的第一门课程之前,请先对它做一些研究。这门介绍性课程不会教授你机器学习,而是会让你了解什么是机器学习、机器学习术语含义、什么是AI策略、其伦理等。这门课程会给你一个关于机器学习是什么、它如何工作、其工作流程以及如何在你的公司构建AI的全面概览。这门课程由著名的机器学习讲师Andrew Ng教授,在coursera.org上免费提供。
无论是谷歌还是在任何博客中,大家首先推荐的课程都是斯坦福大学的《机器学习》课程,由Andrew NG教授,而且确实非常出色。超过250万学生参加了这门课程,有20万多名学生给它评分(4.9星)。它从最基本的概念教起,直到高级概念,是一门非常全面的课程,适合初学者。这门课程的总时长超过56小时。想阅读这门课程的评论?这里有一篇。还有另一篇评论。这里是这门课程在Quora上的另一篇评论。以下是课程内容列表:
有些人认为这门课程的唯一问题是它是用Octave/Matlab教授的,但对我来说这不是大问题,因为它会清晰地讲解机器学习的所有基础和深层概念,以至于在其他语言中实现它们不会是任何问题,而且Matlab是一项额外的技能。这门课程在斯坦福大学的官方网站和coursera上免费提供。
这门课程对每个人来说都是必修的,因为它是如此之好,以至于无法用言语表达。
在这门课程之后,现在你需要用Python实现你所学到的一切,并在你所学的内容之上进一步深入。由deeplearning.ai在coursera上提供的专项课程,由Andrew Ng、Kian Katanforoosh和Younes Bensouda主讲,也是必修的。这个专项课程包括5门课程:
你将获得的主要技能包括:
好的,现在你对TensorFlow和机器学习有了良好的掌握,你可能不喜欢TensorFlow,或者只是想尝试TensorFlow的著名竞争对手PyTorch(由Facebook提供),那么为什么不开始Udacity提供的由Facebook与亚马逊网络服务合作的免费深度学习课程呢?这是Udacity著名的深度学习纳米学位课程(价值1400美元)的一部分。
当然,这只是一个开始,还有很多需要学习和发现的东西,但如果你按照这些步骤进行,希望你能了解自己所处的位置以及接下来要做什么。
一些建议和推荐:
这里有一些推荐。