如果有些同学觉得 C++ Primer 太“古董”,可以看这本 C++ Crash Course。这本书是 2019 年出的,出版社 No Starch 也名声在外。同时兼顾了 C++17 的最新特性。
这本书貌似国内还没有引入。
3. 程序运行底层 & C
下面,我要推荐一门斯坦福大学的基础课,CS107:Computer Organization & Systems。如果翻译过来的话,就是计算机的组织和系统。
这门课程听起来很深奥,但其实是一个不折不扣的基础课程。这门课程使用的语言是 C 语言。但是学习的关键完全不是 C 语言的语法知识。事实上,如果大家已经学习了 C++,掌握 C 语言的语法是很容易的。
这门课程的核心是借助 C 语言,了解计算机程序运行的一些低层级制。比如位运算;比如指针;比如内存管理;比如内存中的栈和堆之间的区别;比如类型机制乃至泛型的底层实现;包括一些底层优化等等内容。另外,这门课程也会包含一些汇编基础。
2. 数据科学基础
其实,数据科学和基础的机器学习算法的应用有很多重合的地方。在这里,想强调一点,对于使用 Python 做机器学习,有一些基础的库需要大家熟练了解,主要就是 numpy,pandas,包括大家如果做可视化的话,需要使用 matplotlib。对于这些内容的学习,推荐一本书:Python for Data Analysis
传送门:
CS231n: Convolutional Neural Networks for Visual Recognition 2. 自然语言处理
当下人工智能另外一个应用非常广泛的应用领域,就是自然语言处理了。
这方面的经典课程,我推荐斯坦福大学的 CS224n: Natural Language Processing with Deep Learning。
传送门:http://web.stanford.edu/class/cs224n/
Natural Language Processing with Deep Learning 3. 机器学习在金融领域的应用
人工智能在金融领域的应用也是一个重要的趋势。但是通常,在计算机专业中,不是被特别强调。毕竟大多数计算机专业的学生还是要去 IT 大厂,而不是华尔街。
但是因为有很多同学对人工智能在金融领域的应用感兴趣,在这里也提一句。我在我的《开源分享第一期》,就分享了一本书,是公认的机器学习在金融领域应用的宝典。感兴趣的同学可以参考:
据我所知,这本书暂时还没有中文版。
4. 机器学习在生物医学医药领域的应用
同样,机器学习在医学医药领域也有了越来越多的应用。只不过通常计算机专业的同学不很了解这方面。而是相反的,很多医学医药领域的人,会来学习人工智能的知识,进而应用在自己的领域,这种情况更多一些。
关于生物医学医药领域,整体我还是很看好的。虽然不知道爆炸的时间是什么时候,但我相信有着光明的未来。
而且,这个领域和计算机专业有着越来越多的交集,我之前在公众号还写过一篇文章:《算法不好的工程师不是优秀的生物学家》。
在这方面,Andrew Ng 的 deeplearning.ai 在 Coursera 上也开设了一个系列课程,叫 Ai for Medicine,感兴趣的同学可以去了解一下。
Andrew Ng的机器学习课程(Machine Learning | Coursera)是很多人的启蒙课程,难度适中且完全免费。Coursera上已有五万余人给出了评分,平均得分4.9分,满分5分。
2. Python机器学习 & Introduction to Statistical Learning with R
在学习吴恩达的在线课程时,推荐同时阅读相关的机器学习书籍补充理论知识。
Introduction to Statistical Learning with R(ISL)
The Element of Statistical Learning (ESL) 是频率学派的统计学习“圣经”。
而 Introduction to Statistical Learning with R(ISL)可以满足更广大阅读人群;ISL是ESL的入门版,不仅大量的去除了繁复的数学推导,还加入了R编程的部分,方便大家可以尽快上手。 这本书是我 @微调 推荐书单第一名:ISL的电子版是免费的:点击下载。
更多介绍:带你读机器学习经典(一): An Introduction to Statistical Learning (Chapter 1&2)
Python机器学习(作者 Sebastian Raschka)
这本书去掉了大量的数学推导的部分,仅保留了机器学习的核心应用。阅读本书可以快速对如何使用Python机器学习框架Sklearn有一个基本的了解,可以很快上手开始工作。
本书涉及的内容很广泛,虽然只有400多页,但内容涉及了数据预处理(Data Preprocessing), 维度压缩和核函数(Dimension Reduction & Kernel),评估方法如交叉验证,集成学习,情感分析,聚类,甚至还包括了神经网络和Theano。
更多介绍:带你读机器学习经典(三): Python机器学习(Chapter 1&2)。
特别推荐最近新出的一本Python机器学习类书籍:《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition》。