人工智能工程师学习学习路线图
共 1 个回答
入门前需要的几种技能:
统计学
要深入理解机器学习,必须要有扎实的统计学基础知识,这涉及到几个方面:
1、度量模型是否成功的各种方法(精确度、召回率、ROC曲线下面积等)。损失函数和评估指标的选择是如何**偏离模型的输出**的。
2、如何理解**过拟合**和**欠拟合**,以及**偏差/方差折衷**。
3、你对模型的结果有什么样的**信心**。
机器学习理论
在训练神经网络的时候,实际上发生了什么?是什么使得某些任务可行,而其他任务不可行?要弄清楚这些问题,最好的方法不是深入研究理论知识,而是试着通过图形和示例来了解机器学习。
需要理解的概念范围包括:不同的**损失函数**的工作原理是什么、为什么**反向传播**是有用的、**计算图**是什么。而对于**如何建立一个功能模型**,以及**如何跟团队里的其他人员进行有效地交流**,这些都需要深入地理解。
另一个基本技能是阅读、理解和实施论文的能力。这个一开始做起来可能会感觉比较困难,所以最好的方法就是阅读附带代码的论文(例如,研究GitXiv上的论文),并试着去理解它是如何实现的。
数据处理
如果你去问任何一个数据科学家他们的主要工作是什么,他们会告诉你,90%的工作是数据处理。这与应用AI同样重要,因为模型的成功与否与数据的质量(和数量)强相关。数据工作包含多个方面,但可归纳为下面几类:
数据采集(包括:找到好的数据源、准确度量数据的**质量**和**分类**、获取和推断标签)数据预处理(**缺失数据**填补、**特征工程**、数据**增强**、数据**规范化**、交叉验证分割)数据后处理(使模型的输出可用、清理工作、处理**特殊情况**和**异常值**)熟悉数据处理工作最好的方法是获取一个数据集并试着使用它。有很多在线数据集,以及很多提供API的社交媒体和新闻媒体网站。基于上面提到的几个步骤,我们可以这样进行学习:获取一个开源的数据集,并对其进行检查。它有多大(点和特征的数量)?数据如何分布?是否存在缺失值或异常值构建一个将原始数据转换为可用数据的转换流程。如何填补缺失值?如何正确处理异常值?如何规范化数据?能创造出更多的表现特征吗?
软件工程
许多的应用机器学习允许你充分发挥自己在软件工程方面的技能,虽然有时也会有一点小改变。这些技能包括:
测试流水线的各个方面(数据的预处理和增强、输入输出的整理、模型推理时间)。基于**模块化**和可重用的原则来构建代码。在训练过程中的不同点对模型进行备份(**设置检查点**)。配置一个**分布式的基础架构**,这样能更加有效地进行训练、超参数搜索或者推演。
更多机器人、无人机/车、AI 技术资料(点左下角阅读原文)
- 1