Python——用于训练机器学习算法的编程语言。
确保你知道这门语言提供了哪些功能。除了 Python,我还建议你学习另外一门语言。如果要使用嵌入式平台,请选择 C++。如果要在企业环境中使用机器学习模型,请选择 Java。如果你想进行数据分析,请学习 R 语言。最后,如果你喜欢经典的 AI 算法和自然语言处理,请学习 Lisp。
TensorFlow/Pytorch——深度学习正在蓬勃发展。
市场上有两个深度学习框架,但哪些项目应该使用哪个框架,它们之前的区别是非常不一样的。首先,需要注意的是,TensorFlow 通常在部署环境中更易于使用,而 Pytorch 在实验环境中更易于使用。最近,TensorFlow 试图让实验变得更容易,而 Pytorch 则致力于实现更容易的部署(即使在嵌入式硬件上)。如果你想要担当更多研究角色,我会推荐 Pytorch。如果你想要在一家主要在生产环境中更新模型的公司工作,我会推荐学习 TensorFlow。总体上讲,全面学习一个框架要比半途学习两个框架要好,尤其要考虑它们演化的速度。
Scikit-learn——scikit-learn
包含了大多数经典的机器学习算法。掌握它可以让你快速解决很多小的数据问题。如果你知道这个库的算法原理,那么在技术面试过程中就有领先优势。
NumPy 和 Pandas
——在使用 Python 处理数据时,有效且准确地选择数据是非常重要的。大多数机器学习工程师每天都使用 NumPy 进行基本的数据处理。如果你有更高级的选择标准,可以考虑 Pandas!只需要用几行代码(并且没有那些令人讨厌的 for 慢循环)选择特定的数据样本就可以给未来的同事留下深刻的印象。
Apache Spark
——拥有大量数据的公司将从机器学习中受益。处理大数据非常重要,Spark 将大大加快你的开发工作。请注意,在处理大数据时,了解 Hadoop 可能也很有帮助。
OpenCV
——如果你想要使用计算机视觉学习,掌握 OpenCV 就至关重要。它提供了很多图像处理功能,可用于快速组建原型,或以更好的方式预处理图像。它还提供了很多识别、检测或定位物体的功能。