数据科学、机器学习和AI的区别
我是程序员 知乎

当我进行以数据科学家进行自我介绍时,经常会被问道:“数据科学和机器学习有什么区别?”或者“这是不是意味着你在研究人工智能?”所以我将通过本文进行回答。

这些领域确实有很多重叠的地方,但它们并不是一个领域:即使很难用语言表达,这些领域的大多数专家也都能直观的理解特定的工作是如何被分类为数据科学、机器学习或人工智能的。

所以在这篇文章中,我提出了关于这三个领域差异的简化定义:

  • 数据科学产生洞察力。

  • 机器学习做出预测。

  • 人工智能生成行为。

显然,这不是一个充分条件:不是所有符合该定义的东西都是该领域的一部分。(算命先生做出预言,但我们不会说他们在做机器学习!)这也不是一个确定某人角色或者职位头衔的好方法(我是数据科学家吗?)。

但是我认为这个定义对区分这三种工作是非常有效方法,并且可以避免你谈论它的时候听起来很傻。

数据科学生成洞察力

数据科学与其他两个领域非常不同,因为它的目标同时也是人类的一个目标:获得洞察力和理解能力。Jeff Leek对数据科学能够达到的洞察类型有一个很好的定义,包括描述性(“平均客户端更新的几率为70%”)探索性(不同的销售人员有不同的更新率)和因果关系。

同样,并不是所有产生洞察力的都有资格成为数据科学,数据科学的经典定义是它涉及了统计学,软件工程和领域专业知识的组合。但是我们可以利用这个定义来区分它和ML、AI。它们最主要的区别在于,在数据科学循环过程中总需要人参与:由人理解洞察结果,了解大体轮廓,或者从结论中获益。所以像“下棋算法使用数据科学来选择下一步”或者“谷歌地图使用数据科学来推荐驾驶方向”这些说法都是毫无意义的。

因此,数据科学的定义强调:

  • 统计推断

  • 数据可视化

  • 实验设计

  • 领域知识

  • 通讯

数据科学家可以使用一些非常简单的工具:他们可以获得百分比,并根据SQL查询结果绘制线形图。也可以使用非常复杂的方法:他们能够与分散的数据仓库合作,分析数以万亿计的记录,从而开发最前沿的统计技术,建立交互式可视化。但是不管他们使用什么,目的都是为了更好地理解他们的数据。

机器学习做出预测

我认为机器学习属于预测领域:“给出具有特定特征的实例X,推测Y”。这些预测可能是关于未来的(预测这个病人是否会进入败血症),也可能是关于预测对计算机来说不那么明显的特性(预测这个图像是否会有鸟)。几乎所有的Kaggle竞赛都可以被认为是机器学习相关的问题:他们提供一些训练数据,然后看看竞赛者能否对新的例子做出准确的预测。

数据科学和机器学习有很多的重叠之处。例如,都可以用逻辑回归来获取对有关关系的见解(越富裕的人越有可能购买我们的产品,所以我们应该改变我们的营销策略)并且可以做出预测(该用户有53%的几率购买我们的产品,所以我们应该多向他们推销)。

像随机森林(random forests)这样的模型,其可解释性稍差,所以更适合“机器学习”的描述,而深度学习等方法则是难以解释的。如果你的目标是获取真知灼见,而不是做出预测,那么这可能会妨碍你。因此,我们可以想象一个数据科学和机器学习的“光谱”,有更多的可解释模型倾向于数据科学方面,而更多的是机器学习方面的“黑匣子”模型。

大多数的从业者能够非常自在的在两个领域之间来回切换。我在工作中就同时使用了机器学习和数据学习:我可以在Stack Overflow流量数据上安装一个模型,以确定哪些用户可能正在寻找工作(机器学习),然后构建总结和可视化来检验模型的工作原理(数据科学)。这是发现模型缺陷的一个重要方法,也是解决算法偏差的重要方法。这是数据科学家常常负责开发产品的机器学习组件的原因之一。

人工智能生成行为

人工智能是迄今为止这三种标识中最古老也是最广为人知的,因此定义它最具有挑战性。这个术语已经被炒作泛滥,这要归功于研究人员,记者以及寻求金钱或者关注的创业公司。

  • 当你筹备资金时,这是人工智能

  • 当你招聘时,就是ML

  • 当你正在执行时,这就是线性回归

  • 当你调试时,就是printf()

让我沮丧的是这引起了强烈的反弹,因为这意味着一些应该被称为人工智能的工作却没有得到相应的描述。一些研究人员甚至还抱怨人工智能的影响:“人工智能是我们目前还做不到的”。那么我们可以用AI来描述什么工作呢?

“人工智能”定义中的一个共同点是自主代理人执行或推荐操作,一些我认为应该描述为AI的系统包括:

  • 游戏规则(深蓝,AlphaGo)

  • 机器人与控制理论(运动规划,行走两足机器人)

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

  • 自然语言处理(bots2)

  • 强化学习

同样,我们可以看到它与其他领域有很多重叠之处。而深度学习横跨了ML和AI两个领域,这非常有趣。典型的用例是对数据进行训练,然后生成预测,但在AlphaGo这样的博弈算法中却取得了巨大的成功。(这与早期的游戏系统不同,比如深蓝,它更专注于探索和优化未来的解决方案空间)。

但也有区别。如果我分析一些销售数据并发现某个特定行业的客户比其他行业的客户更新的更多,那么输出的是一些数字和图形,而不是指定操作。

请不要将那些训练算法的人描述为“利用了人工智能的力量”。

- Dave Gershgorn (@davegershgorn) 2017年9月18日。

人工智能和机器学习之间的区别更加微妙,历史上的ML经常被认为是人工智能的一个分支(特别是计算机视觉,其实它是一个典型的人工智能问题)。但我认为,ML领域很大程度上是由人工智能“中断”的,部分原因是上面描述的反弹:大多数从事预测问题的人不喜欢把自己描述为人工智能研究员。(它能通过统计数据帮助许多ML实现重大突破,而这些数据在人工智能的其他领域却没有那么大的影响力)。这意味着如果你可以用“Y预测X”来描述一个问题,那么我建议你避免使用AI这个词。

案例研究:如何一起使用这三者?

假设我们正在制造一辆自动驾驶汽车,并且正在研究如何在停车标记处自动停车的具体问题。那么我们将需要使用这三个领域的技能。

机器学习:汽车必须能够通过摄像头识别停车标志。我们构建了数据集,其中包含数以百万计的街边对象的照片,并训练一种算法来预测哪些有停止标志。

人工智能:一旦我们的汽车能够识别停车标志了,就需要决定什么时候执行刹车动作。太早太晚都非常危险,而且我们需要它能应对不同的路况(例如,它要能意识到在湿滑路面上刹车不会快速减速),这是一个控制理论的问题。

数据科学:在街头测试中,我们发现车辆性能不够好,因为总会略过一些停车标志。通过对街头测试数据的分析,我们得出了结论:在日出之前和日落之后,更容易错过停车标志。这让我们意识到,我们大部分的训练数据只包含白天的影像,所以我们构造了一个包括了夜间图像的更好的数据集,然后重新回到机器学习步骤进行研究测试。

我们常说的“机器人”指的是解释自然语言,然后以实物回应的系统。这可以从文本挖掘中区分出来,其目标是提取见解(数据科学)或文本分类,其目标是对文档进行分类(机器学习)。

本文由阿里云云栖社区组织翻译。


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢