查看原文
其他

学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别

2018-01-14 AI科技大本营



翻译 | AI科技大本营

参与 | Shawn

编辑 | Donna



[AI科技大本营导读]我们常常提及数据科学、机器学习和人工智能,也有一个整体的概念。但是,如果要清晰地说出三者的定义分别是什么,区别又是什么,相信能说出来的读者并不多。营长找到一篇Stack Overflow的数据科学家David Robinson的文章,用深入潜出的语言,诙谐地解释了三者地区别。



每当我告诉别人我是数据科学家时,他们经常问我:“数据科学和机器学习有什么区别?”,或者“也就是说你做人工智能的?”。


这些问题我解释了很多很多次,看来是时候用到我的“三法则”了:


同一代码你写了3次,那就编个函数

同一建议你当面向别人提了3次,那就写一篇博文

— David Robinson (@drob) 


事实上,这三个领域是不可互换的,也没有多大交集,炒作营销的成分太多。许多从事这三个领域的专业人士都能从直觉上判断出什么是数据科学,什么是机器学习,什么是人工智能,但是很难说出具体区别是什么。


在这篇文章中,我就这三个领域的区别提出了一个过度简化的定义:


  • 数据科学理解事物

  • 机器学习预测事物

  • 人工智能生成行动


澄清一点,我认为这个定义可以很好地帮助我们区分这三个领域,但是不能作为判定条件:符合其中一个领域的定义并不代表属于这个领域。靠这些定义来判断某人的工作或职位也是不靠谱的。真正要看的是他的专业和经验。(这适用于任何工作:写文章是我工作的一部分,但我并不是职业作家)。


需要注意的是,我是从描述的角度叙述问题的。也就是说,我感兴趣的是业内人通常是如何使用这些术语的。



数据科学理解事物


与其他两个领域不同,数据科学的目标是认识和理解事物。这也是人类的一个目标。Jeff Leek就数据科学能实现哪些类型的理解作出了一个很好的定义(http://jtleek.com/modules/01_DataScientistToolbox/03_01_typesOfQuestions/#1)。


在这个定义中,既有描述性内容(“普通客户续费的概率为70%”),也有解释性内容(“不同的销售人员有不同的续费率”)以及表因果的内容(“随机实验表明派给Alice的客户续费的概率比派给Bob的客户高”)。


数据科学的经典定义为:这是一门结合统计学、软件工程学和专业知识的学,也就是说,不是所有能理解事物的技术都属于数据科学


但是我们可以使用这个定义将数据科学与ML和AI区分开来。数据科学与后两者最大的区别是它有人类的参与:人类理解结论、观察数据并从结论中获益。“象棋算法利用数据科学来决定下一步棋怎么走”或者“谷歌地图利用数据科学建议行驶方向”根本就是无稽之谈。


数据科学的定义强调:


  • 统计推断

  • 数据可视化

  • 实验设计

  • 专业知识

  • 交流


数据科学可以使用简单的工具:根据SQL问题报告百分比和绘制线图。它也可以使用非常复杂的方法:分析分布式数据库中的数万亿条记录,提出先进的统计学方法,构建互动式的可视化工具。


无论数据科学使用什么方法,它的目标都是更好地理解数据。



机器科学生成预测


我认为机器学习就是做预测:“给定实例X以及特定特征,预测Y”。这些预测可以是对未来的预测(例如:“预测病人是否会患上脓毒病”),也可以是对质量的预测,这种问题计算机无法立刻得出结论(例如:“预测图像中是否有一只鸟”)。


几乎所有Kaggle竞赛解决的都是机器学习问题:向参赛者提供数据,看他们能否对新的例子做出准确的预测。


数据科学和机器学习之间有很多交集。例如,逻辑回归可以用来研究关系(“用户越有钱,其购买我们产品的概率就越大,因此我们应该改变我们的营销策略”),也可以用来做预测(“该用户购买我们产品的概率为53%,因此我们应该向他推荐产品”)。


诸如随机森林这样的模型解释起来不是太难,它们更适合归类为“机器学习”,而深度学习这样的方法解释起来往往非常困难。如果你的目标是得出结论而不是做出预测,这个问题就会成为阻碍。


我们可以将数据科学和机器学习想象成一个“谱”,较容易解释的模型靠近数据科学一侧,“黑箱”模型则靠近机器学习一侧。


大多数从业者可以非常从容地在来回切换于两种任务之间。譬如我的工作既使用机器学习,也使用数据科学:我有时会用Stack Overflow的流量数据拟合某一模型,来判断哪些用户可能在寻找工作(机器学习),然后做出总结并构建用于研究模型工作原理的可视化工具(数据科学)。


这样做可以帮你发现模型的缺陷,克服算法歧视(algorithmic bias)。正是出于这个原因,产品的机器学习模块往往是由数据科学家负责开发的。



人工智能生成行动


在这三个领域之中,人工智能是发展最久、普遍认可度最高的,同时它也是最难定义的。寻求财富或关注的研究人员、记者和初创企业让 “人工智能”这个术语几乎成了炒作的代名词。  

如果你在筹资,就是AI

如果你在招聘,就是ML

如果你在实践,就是线性回归如果你在debug,就是printf()

— Baron Schwartz (@xaprb) 


这种炒作导致AI受到一些挫折,在我看来实属不幸,有些工作可能应该被称为是AI,但是却没人认为是。有些研究人员甚至抱怨AI效应:“我们现在还没法做到的都是AI”。


人工智能的所有定义都有一个共同的界定:人工智能是一个可以执行或建议行为的自主代理。我认为可以被称为是AI的系统包括:


  • 博弈游戏算法(Deep Blue、 AlphaGo)

  • 机器人学和控制理论(运动规划,控制双足机器人的行走)

  • 优化(谷歌地图选择路线)

  • 自然语言处理(自动程序)

  • 强化学习


机器学习和人工智能也有很多交集。深度学习就是横跨ML和AI的一个典型例子。深度学习的典型应用是:用数据训练模型,然后让模型作出预测。另外,它在博弈游戏算法(如AlphaGo)的开发上也起到了巨大的作用。先前的博弈游戏系统,如Deep Blue,更着重于探索和优化未来的解空间(solution space)。


数据科学和AI也是有区别的。如果通过分析销售数据发现,某些行业的客户续费的概率高于其他客户(得出结论),输出的是数字和统计图,而不是具体的行为。(高管可能会根据这种结论改变销售策略,但是这种行为不是自动的)。这意味着我的工作可以算作是数据科学:如果我说“我使用AI来提高销售量”,那就太做作了。


请不要因为某人训练了一个算法就说他“利用了AI的力量”

— Dave Gershgorn (@davegershgorn) 


人工智能和机器学习的区别更为微妙,过去ML一直被认为是AI的一个子领域(计算机视觉就是一个典型AI问题)。但是我认为ML在很大程度上已经脱离了AI,上文提到的炒作后果是造成这一结果的一个原因。


大多数研究预测问题的人不喜欢自称为AI研究者。(机器学习的许多重大突破都来源于统计学,而后者在AI领域的作用并没有多大)。这意味着,当你要解决的问题是“根据Y预测X”时,我建议你尽量避免使用AI这个术语。


按照当前的定义,y=mx+b是一个可以给出线的方向的AI程序。

— Amy Hoy (@amyhoy) 



实例研究:

如何同时利用这三个领域?


假设我们在开发自动驾驶汽车,我们要解决在遇到停车标志时停车的问题。我们需要使用到这三个领域的技术。


  • 机器学习:汽车必须使用摄像机识别停车标志。我们构建一个由数百万张街景照片组成的数据集,然后用它训练算法,让算法预测哪些照片中有停车标志。

  • 人工智能:现在汽车可以识别停车标志,下一步它需要决定何时刹车。太早或太晚刹车都十分危险,我们要让汽车能处理不同的道路状况(例如,识别汽车没有及时减速的易滑道路),这是一个控制理论问题。

  • 数据科学:在道路测试中,我们发现汽车的表现不够好,出现了一些漏识别的情况——在遇到停车标志时没有停车。在分析了道路测试数据之后,我们发现汽车漏识别的概率取决于一天当中的时段:汽车在日出之前和日出之后错过停车标志的概率更高。我们意识到,我们使用的大部分数据只包括大白天当中的目标。为此,我们构建了一个包含夜晚图像的数据集,重新完成机器学习步骤。



结语


人们常常将AI与通用AI混为一谈,后者可以执行不同领域的任务,甚至是超越人类智能的超智能AI。这样做会让人们对被称为是“AI”的系统产生不实际的预期。


文中提到的“自动程序”是指可以翻译自然语言并用自然语言回应的系统。这种系统和文本挖掘不同,后者的目标是得出结论(数据科学),或通过分类文本来分类文件(机器学习)。


作者 | David Robinson

原文链接 | http://varianceexplained.org/r/ds-ml-ai/



精彩预告

2018年1月16日“AI生态赋能2018论坛暨CSDN AI新战略发布会”即将重磅开启!


国内权威专家/名企CTO/CIO/精英大伽齐聚,各路高手全方位多视角共话AI时代。更有《2017-2018 AI行业应用&技术人才成长路线图》重磅发布。席位有限,即刻扫码获得参会资格!



点击“阅读原文”报名参加☟☟☟

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存