机器学习是近年来备受追捧的技术之一,如果你对此领域感兴趣却不知如何入手,不用担心,兴趣是最好的老师。下面为你详细介绍如何开启机器学习的职业生涯。
我曾有过类似的困惑:从哪里开始学习呢?应该学习Python还是选择R语言?数学总是让人感到头疼,我也曾担心自己应该如何开始学习数学,如何为机器学习打下坚实的基础。
不管怎样,恭喜你已经下定了决心。本文将帮助你做好开启机器学习生涯前的所有准备工作。
首先,你需要学习编程,最好是Python。如果你完全没有编程经验,可以尝试哈佛大学的CS50课程,这是一个针对编程初学者的优秀课程,它将从零开始教你C语言、Python、JavaScript、SQL和JSON的基础知识。这门课程在edX平台上是免费的。
如果你希望直接从Python开始,可以考虑edX平台上的“MIT计算机科学入门Python课程”,同样免费。不过,你需要具备一定的高中代数基础。
对于那些认为自己的计算逻辑不够强或不擅长解决编程问题的人来说,微软提供的相关课程是一个不错的选择。这些课程与edX平台上的“计算思维”课程相关,都是免费的,可以帮助你提升计算逻辑和批判性思维能力。
如果你已经掌握了基本的编程知识,但对面向对象编程不太熟悉,建议学习相关的课程。虽然面向对象编程在机器学习中的应用不是特别广泛,但它确实有助于理解和应用某些算法。微软的课程将介绍Python中的面向对象编程和算法基础知识。
接下来,你需要熟悉数据结构和算法。一个优秀的程序员需要掌握一些基本的数据结构,例如链表、二叉树等。微软的课程涵盖了算法分析、分类和搜索算法、数据结构等内容,如链表、堆栈和队列。
如果你想深入研究数据结构和算法,加州大学圣地亚哥分校的相关课程是一个不错的选择。这个系列共有六门课程,涵盖了从初级到高级的知识。虽然部分课程需要付费,但你可以免费旁听。这些课程在Coursera上提供。
对于大多数初学者来说,数学是最具挑战性的部分。实际上,数学并没有想象中的那么难。如果你认为自己的高中数学基础(如向量、矩阵、微积分、概率和统计)足够扎实,可以只参加一个复习课程。但如果你觉得自己的数学基础还不够,可以参考“可汗学院”的课程,这里的内容丰富实用,且全部免费,涵盖线性代数、概率和统计以及多变量微积分等主题。
另一个优质的数学课程是伦敦帝国理工学院在Coursera上的“机器学习数学”系列课程,教授基本概念和复习内容,但不会深入讨论。这些课程包括:
麻省理工学院也有一门优秀的统计学课程,内容包括:
如果你想在编写代码的同时学习数学,可以尝试微软的课程“机器学习基础数学:Python版”。这是一门互动课程,使用Python的著名数据处理库Numpy、Pandas和Matplotlib进行数学教学。这些库是本课程的前提条件。
Udacity平台上也有三门免费的统计学课程:
此外,你还可以边学习实际的机器学习边学习数学。当遇到不熟悉的内容时,可以通过搜索“可汗学院”或YouTube上的相关视频来解决问题。
当你熟悉了线性代数、多元微积分和统计学之后,接下来需要学习Python的一些重要数据处理库,如Numpy、Pandas、Matplotlib和Scipy。这些库有助于分析和操作不同类型的数据,并以图表形式展示数据。
当然,还有很多其他的可视化数据处理库,但这些是最关键的,可以将线性代数和微积分的概念可视化。
其中一个代表性的课程是密歇根大学的Python统计学专题,涵盖了数据可视化和操作的细节。这个课程可以在Coursera上免费获取。
另一门课程是由密歇根大学为数据分析初学者开设的“Python的数据科学导论”,包括从Numpy的基础知识到Pandas的内容。同样在Coursera上免费提供。接下来的部分将教你如何在Python中进行图形可视化及其技巧。
哈佛大学的《使用Python进行研究》课程通过一些著名案例来教授这些库,最后一课尤其精彩,会讲解很多新内容。
加州大学圣地亚哥分校的“使用Python进行数据科学项目”课程内容非常全面,教授Python、Jupyter notebooks、Pandas、NumPy、Matplotlib、git、scikit-learn和NLTK等知识。尽管课程也会涉及机器学习的基础知识,但更重要的是教授数据科学库的使用。所有这些课程都可以在edX上免费获取。
现在,你已经进入了最令人兴奋的部分——实际应用机器学习。
首先,选择一门高质量的入门课程非常重要。如果你的课程不够吸引人,可能会导致中途放弃。因此,所有推荐的课程都是高质量的。在开始学习第一门机器学习课程之前,你需要对其进行一些研究。
入门课程通常不会教授具体的机器学习技术,而是让你了解一些基本概念。这门课程将概述什么是机器学习,它是如何工作的,以及如何在公司中建立人工智能。课程还提供了关于人工智能的完整介绍和概述。这门课程由著名的机器学习讲师吴恩达教授,可以在Coursera上免费获取。
接下来,正式进入机器学习的内容。无论是在Google上搜索还是阅读任何博客,斯坦福大学吴恩达教授的“机器学习”课程都是首选。这门课程已经有超过250万学生注册,20万多名学生对其进行了评分(4.9分)。课程从基础概念讲授到高级概念,对初学者来说非常全面。这门课程的总学时超过56小时。以下是课程目录:
唯一的问题是这门课程使用Octave/Matlab进行教学。对我来说,这不是大问题,因为课程还会用多种其他语言来解释机器学习的基础和深层概念,没有任何问题。另外,Matlab也是一种额外的技能。这门课程可以在斯坦福大学的官方网站和Coursera上找到。
毫无疑问,这门课程对每个人来说都是必修课。
完成这门课程后,你需要用Python来实践所学的一切,并通过实践提高专业水平。因此,Coursera上的“deeplearning.ai”专题也是必修课,这门课程由吴恩达、Kian Katanfrosh和Younes Bensouda教授。这个专题包含五门课程:
通过这门课程,你可以获得的主要技能包括:
如果有人不喜欢TensorFlow,或者只想测试TensorFlow的竞争者PyTorch(由Facebook开发),可以选择学习Udacity上的课程。这门课程由脸书与亚马逊网络服务合作提供,部分内容来自价值1400美元的Udacity著名的深度学习“纳米学位”课程。
当然,这只是开始,还有很多东西需要学习和探索。但只要开始了,希望你能明确自己的目标和下一步计划。
最重要的是,保持决心,一气呵成。祝你在学习如何使机器更加智能的道路上一切顺利。