专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
爱可可-爱生活  ·  【Next.js ... ·  昨天  
宝玉xp  ·  回复@无命道长:哈哈,跟 AI ... ·  4 天前  
宝玉xp  ·  ChatGPT 4o with ... ·  1 周前  
爱可可-爱生活  ·  几篇论文实现代码:《Discovering ... ·  1 周前  
51好读  ›  专栏  ›  机器学习研究会

入行AI最需要的五大技能

机器学习研究会  · 公众号  · AI  · 2017-09-10 21:08

正文

摘要:作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架、标准和范式保持同步。同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率。随着机器学习在越来越多的应用程序中寻得了一席之地,越来越多的程序员加入AI领域,那么,入行AI领域需要哪些技能呢?




把机器学习当做一种技能

作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架、标准和范式保持同步。同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率。随着机器学习在越来越多的应用程序中寻得了一席之地,它成为了广大工程师迫切希望掌握的一门课题。


机器学习比一个新的框架更难掌握。要成为一名高效的实践者,你需要深入理解该领域相关的理论,广泛了解这个行业的现状,以及具备以非确定性的方式构建问题的能力。


你可以在网上找到很多教程来教你如何在一个精心挑选过的数据集上训练一个现成的模型,并使之达到不错的准确性。事实上,具备更多的相关技能是成为一个高效机器学习工程师的关键。


以下是我们与50多个顶尖机器学习团队的一些对话,他们来自海湾地区和纽约,这次来到Insight公司是为了探求人工智能从业者需要共同面对的问题,并希望能够加快自己融入应用人工智能领域的步伐 。


为什么机器学习“并不仅仅是另一种工具”

部署机器学习解决方案不仅仅是用数据对任意一个模型进行训练。你还需要了解:


  • 你所拥有的**数据的类型**、**数据集在统计上如何分布**,以及数据集存在怎样的偏差。


  • 适用于特定数据集的**统计模型**,以及这些模型成功的概率。


  • 模型**优化**的相关指标,以及模型输出的含义。


换句话说,要对模型进行集成、部署和调试,除了要具备工程上的能力之外,你还需要了解统计的基本原理、线性代数和优化理论。


要针对某个问题构建一个定制化的机器学习解决方案,需要考虑的东西涵盖了从数据的获取、标记和预处理到模型的构建、更新和服务,以及这个过程中的所有一切。


最后,我们认为,为标准Web应用程序构建一套REST API是一个可以提前完成的任务。另一方面,机器学习模型不总是能保证收敛或者产生可用的输出。学习如何审视和交付有影响力的机器学习产品的最佳方法是了解其理论基础是如何与数据分类学相关联的。


转行到应用AI之前最需要掌握的5个技能

统计学


要深入理解机器学习,必须要有扎实的统计学基础知识,这涉及到几个方面:


  • 度量模型是否成功的各种方法(精确度、召回率、ROC曲线下面积等)。损失函数和评估指标的选择是如何**偏离模型的输出**的。


  • 如何理解**过拟合**和**欠拟合**,以及**偏差/方差折衷**。


  • 你对模型的结果有什么样的**信心**。


机器学习理论


在训练神经网络的时候,实际上发生了什么?是什么使得某些任务可行,而其他任务不可行?要弄清楚这些问题,最好的方法不是深入研究理论知识,而是试着通过图形和示例来了解机器学习。


需要理解的概念范围包括:不同的**损失函数**的工作原理是什么、为什么**反向传播**是有用的、**计算图**是什么。而对于**如何建立一个功能模型**,以及**如何跟团队里的其他人员进行有效地交流**,这些都需要深入地理解。下面我给出了一些参考资料:


  • 谷歌的深度学习课程对深度学习做了一般性地介绍。


  • Fei-Fei Li的计算机视觉课程,以及Richard Socher的NLP课程,则提供了更为专业的介绍


  • Goodfellow编写的深度学习书籍相当不错,可用于全面了解深度学习方面的基础知识。


另一个基本技能是阅读、理解和实施论文的能力。这个一开始做起来可能会感觉比较困难,所以最好的方法就是阅读附带代码的论文(例如,研究GitXiv上的论文),并试着去理解它是如何实现的。

数据处理

如果你去问任何一个数据科学家他们的主要工作是什么,他们会告诉你,90%的工作是数据处理。这与应用AI同样重要,因为模型的成功与否与数据的质量(和数量)强相关。数据工作包含多个方面,但可归纳为下面几类:


  • 数据采集(包括:找到好的数据源、准确度量数据的**质量**和**分类**、获取和推断标签)


  • 数据预处理(**缺失数据**填补、**特征工程**、数据**增强**、数据**规范化**、交叉验证分割)


  • 数据后处理(使模型的输出可用、清理工作、处理**特殊情况**和**异常值**)熟悉数据处理工作最好的方法是获取一个数据集并试着使用它。有很多在线数据集,以及很多提供API的社交媒体和新闻媒体网站。基于上面提到的几个步骤,我们可以这样进行学习:


  • 获取一个开源的数据集,并对其进行检查。它有多大(点和特征的数量)?数据如何分布?是否存在缺失值或异常值



转自:云栖社区