选自insightdatascinc
机器之心编译
参与:王宇欣、*小天
近日,InsightAI发布了一篇题为《TransitioningfromSoftwarEnginringtoArtificialIntllignc》的文章,提出一名软件工程师如果打算转行做人工智能,需要掌握这5项技能:统计学、机器学习理论、数据整理、调试/调节模型、软件工程。
ChrisLsniwski-Laas正在与InsightAI员工讨论Dropbox的机器学习问题
关于将机器学习作为一项技能作为软件工程师关键在于要紧跟框架、标准以及范式的最新状态。软件工程师不停地努力学习,希望把最好的工具运用到工作中。机器学习在当今诸多的应用程序中找到了立足点,很自然地它就变成了许多工程师想要掌握的一项技能。
但是,相比于新框架机器学习更难掌握。作为一个高效的实践者,你需要充分理解该领域的理论、广泛掌握当前最尖端的知识,并且有能力以不确定的方式塑造问题。
网上很多的指南只会简单地教你如何在一个策划好的数据集上训练可以立即使用的模型,并达到一个不错的准确度,然后就结束了。事实上,要成为一个优秀的机器学习工程师必须掌握更加广泛的技能。
以下是我们与超过50个湾区和纽约顶尖的机器学习团队对话的精华部分,他们来到InsightAI,准备好解决其问题并加速实现人工智能应用的普及。
为什么机器学习不只是「另一个工具」部署机器学习的解决方案不仅仅是在你的数据集上随意训练一个模型。它需要理解以下内容:
你拥有的数据类型、它的统计学分布方式、它含有什么偏差。
适用于你的特定数据集的统计模型,以及这些模型成功的可能性。
相关指标的优化以及你的模型输出的意义。
换句话说,为了整合、部署以及调试模型,除去工程学的知识,你还需要有统计学、线性代数和优化理论的基础知识。
为一个问题搭建特定的机器学习解决方案,你需要考虑从数据的获取、标记和预处理到构建、更新并服务一个推理模型以及中间的一切等问题。
最终,我们认为可以提前为标准的网站搭建一个数据接口(RESTAPI)。我们不能保证机器学习模型总是收敛或产生有用的输出。学习如何审视和传递有效的机器学习产出的最佳方式是理解其理论基础与数据分类之间联系的方式。
转行人工智能你需要掌握这5项技能1.统计学为了理解机器学习,坚实的统计学基础知识是必须的。这包括:
评估模型成功的不同方法(精确度、召回率(rcall)、特征曲线下的面积等)。你选择的损失函数和评估指标如何测量你的模型输出的偏差。
如何理解过拟合(ovrfitting)和欠拟合(undrfitting),以及偏差/变量权衡。
模型的结果与置信度之间有什么联系。
2.机器学习理论当你在训练神经网络时,实际上发生了什么?是什么使这些任务可行而其它的不行呢?对待该问题的好方法是,在深入理解理论之前,首先通过图和实例理解机器学习。
需要理解的概念有不同的损失函数工作的方法,反向传播有用的原因,以及计算图究竟是什么。深入理解构建函数模型并且与团队其他成员有效地对其进行沟通非常关键。以下是一些资源,以高层概述开始,逐渐深入。
谷歌的深度学习课程是一个优秀的入门课程(