准备工作
在正式开始学习前,我们需要有一些基础的知识储备。
学科基础
数学
- 高等数学
- 线性代数
- 概率论与数理统计
编程语言
- Python
- numpy
- pandas
- matplotlib
以上内容是机器学习的基础知识,需要有相关的基础知识才能更好的理解机器学习的理论和算法。
如果没有相关的基础学习,本文档在下一章会对文档中用到的所有 Python、numpy、pandas、matplotlib 语法进行简要介绍,直接阅读即可。数学请在用到相关概念时自行补足。
如果以本文档(即课程)为学习路线,请务必阅读下一节的文档说明。
自主学习(选读)
CAUTION
本节内容所提到的自主学习是指自己学习 ML 相关内容,不是指某一个明确的机器学习算法。
IMPORTANT
本节内容综合了个人经验与网络经验贴,不一定适合所有人,仅供参考!
相比于跟随课程或阅读文章,如果你更习惯自学,建议按照如下流程进行(实际上喜欢自学的同学可能更偏好自己 DIY 学习路线,这里仅提供参考):
基础学习
基础学习的内容只需要进行基本了解,在应用过程中遇到需要的知识点再进行深入学习即可。
- 数学基础
- 高等数学 (李天意 Providence)
- 线性代数 (李天意 Providence)
- 概率论与数理统计 (用到了直接查)
- 机器学习理论基础
- 机器学习 (吴恩达)(建议搭配《神经网络与深度学习》电子书)
- 周志华老师(机器学习西瓜书作者,如果想尝试生啃建议配合南瓜书)与李宏毅老师的课程也非常好,可以自行选择。
- [选学]统计学方法
- 编程基础
到这里,基本上已经初步了解了机器学习的一些基本概念和方法。
应用学习
说实话很多地方我也没系统的学过,所以就单列一个方向:
- 基础算法
- Scikit-learn:机器学习的重要库,提供了很多常用算法的实现。
- Keras/Tensorflow/Pytorch:深度学习的重要库,现在的主流是 Pytorch。
- 视觉方向
- OpenCV:图像处理的库,可以用来做一些简单的图像处理。
- YOLO/SSD/R-CNN:目标检测算法。
- ...
- NLP 方向
- NLTK:自然语言处理的库,可以用来做一些简单的 NLP 任务。
- GPT-2:生成式模型,可以用来生成文本。
- Transformers:自注意力机制的 transformer 模型,可以用来做一些 NLP 任务。
- ...
- ...
前面的区域,以后再来探索吧!