本文由 「AI前线」原创,原文连接: 数据科学、机器学习、人工智能的区别究竟是什么?
做者| David Robinson
编译 | 严子怡
编辑|Emily
AI 前线导读:”当我向别人介绍我是一个数据科学家的时候,我经常听到这样的疑问:“这和机器学习有什么区别?”或是“这是否是意味着你在作人工智能?”。我已经回答过太屡次这样的问题。我回答的次数已经达到我事不过三的原则。”算法
David Robinson 的推文:机器学习
当你把相同的代码写了三遍时,请写一个函数。当你面对面的给过了 3 次彻底相同的建议时,请写一篇博文。分布式
这些领域之间的确有很大程度上的重合。而且,这其中的每个领域都存在大量的炒做,以致于选择使用哪个词这件事好像是一个跟营销有关的问题。可是,它们并非能够随意互换的。 即便很难用语言表达出来,大多数这些领域里的专家都能凭直觉地理解哪些工做属于数据科学,哪些工做属于机器学习或者人工智能。函数
所以,在这篇文章中,我提出了一个很是简单的关于这三个领域之间区别的定义:工具
要澄清的是,这不是一个充分条件:不是全部符合某个定义的东西就属于这个领域。(算命先生也产生预测,但咱们毫不会认为它们在作机器学习!)这些定义也不是很好的肯定一我的的角色和工做的方式(“我是一个数据科学家吗?”),这样的问题是与我的关注的方向和经历有关的。(这对于任何一个关于工做的描述都是对的:个人工做的一部分是写做但我不是一个专业的做家)。性能
可是,我认为这些定义在用于区分这三种类型的工做时是很是有用的。而且当你谈起这些知识时,这些定义可让你避免本身听起来很蠢。值得注意的是,我采起的是描述主义而不是规定主义的方法:我感兴趣的并非这些术语“应该是什么意思”,而是这个领域的人一般是如何使用它们的。学习
数据科学产生洞见测试
数据科学与其余两个领域的区别在于它的目标实际上是人的目标:得到洞见和理解。Jeff Leek 对数据科学能达到的哪些类型的洞见有一个很是好的定义 ,包括描述性(“普通客户有 70%的可能去续费”),探索性(“不一样的销售人员有不一样的续费率”)和因果关系(“随机化的实验代表分配给 Alice 的客户比分配给 Bob 的客户更有可能续费”)。大数据
再次强调,并不是全部产生洞见的都被认为是数据科学(数据科学的经典定义是,它是统计学、软件工程和领域专业知识的组合)。可是咱们能够用这个定义把它与机器学习和 AI 区分开来。主要的区别在于,在数据科学的工做流程中,老是存在一我的:这我的正在理解这些洞见,观察图表,或者从结论中受益。因此,咱们不能说“咱们的象棋算法使用数据科学来选择下一步怎么走”或“Google 地图使用数据科学来推荐行车路线”。优化
所以,这个关于数据科学的定义强调:
数据科学家可能会使用简单的工具:他们能够报告百分比,并根据 SQL 查询制做线图。他们还可使用很是复杂的方法:他们可能会使用分布式数据存储来分析数以万亿计的记录,开发尖端的统计技术,并构建交互式可视化。不管他们使用什么,他们的目标是更好地了解他们的数据。
机器学习产生预测
我认为机器学习是一个关于预测的领域:“给定某个具备特定特征的实例 X,预测 Y”。这些预测多是关于将来(“预测这个病人是否会患败血症”),可是它们也多是一些计算机不容易理解的特质(“预测这个图像是否有鸟 ”)。几乎全部的 Kaggle 比赛都是机器学习问题:他们提供一些训练数据,而后看看参赛选手是否可以对新的例子作出准确的预测。
数据科学和机器学习之间有不少重叠。例如,逻辑回归能够用来获取有关关系的洞见(“用户越有钱,他们购买咱们的产品的可能性越大,因此咱们应该改变咱们的营销策略”),并作出预测(“这个用户有 53%的可能性购买咱们的产品,因此咱们应该把这个产品推荐给他“)。
像随机森林这样的模型可解释性稍差。所以,它更像是属于机器学习和深度学习等难以解释的方法。若是你的目标是提取洞见而不是作出预测,这些方法可能会阻碍你的工做。所以,咱们能够想象一个包含数据科学和机器学习的“光谱”,在其之上,易于解释的模型偏向于数据科学这边,而“黑盒”的模型在机器学习那一边。
大多数从业者可以很是温馨地在两个任务之间来回切换。我在工做中同时使用了机器学习和数据科学:我可能会使用 Stack Overflow 的流量数据训练出来的模型来肯定哪些用户可能正在寻找工做(这是机器学习),可是也会构建归纳性描述和可视化来检查为何模型可以正确工做(这是数据科学)。这项工做是发现你的模型中的缺陷,并与算法误差做斗争的一个重要途径。这是为何数据科学家常常负责开发产品的机器学习组件。
人工智能产生行动
人工智能是迄今为止这三个领域中最古老也是最广为人知的,所以定义它是最具挑战性的。这个词语被大量的炒做所包围,这要缘于研究人员,记者以及寻求金钱或关注的创业公司。
Baron Schwartz 的推文:
当你在融资时,它是 AI;当你在招聘时,它是机器学习;当你在写代码时,它是线性回归;当你在调 bug 时,它是 printf()
这让我心里产生了很不幸的抗拒情绪。由于这意味着一些应该被称为 AI 的工做没有被看成 AI。一些研究人员甚至抱怨 AI 的效应:“AI 是咱们如今还没法作到的”【脚注 1】。那么咱们能够把什么工做称做 AI?
“人工智能”定义中的一个共同点是自主行动主体执行或推荐行动(例如 Poole,Mackworth 和 Goebel 1998,Russell and Norvig 2003)。一些我认为应该描述为 AI 的系统包括:
同时,咱们能够看到人工智能有不少与其余领域重叠的部分。深度学习在实现机器学习到 AI 的跨越这一方面特别引人注意。典型的用例是对数据进行训练,而后进行预测,但它却在 AlphaGo 等游戏算法中得到了巨大的成功。(这与以前的游戏系统造成了鲜明的对比,好比深蓝,它更专一于探索和优化后续的解空间)。
但他们之间也有区别。若是我分析一些销售数据,发现某一行业的客户比其余行业的客户续费的更多(提取洞见),个人输出是一些数字和图表,而不是一个特定的行动。(主管人员可能会用这些结论来改变咱们的销售策略,但这种行动不是自主的)这意味着我将会把个人工做形容为数据科学。若是我说:我正在“使用 AI 来改善咱们的销售状况”,那将是很是尴尬的。
Dave Gershgorn 的推文:
请不要看到一个只是训练过模型的人就说他掌握了 AI 的力量。
人工智能和机器学习之间的区别有点微妙,历史上机器学习常常被认为是 AI 的一个子领域(尤为是计算机视觉被视做一个经典的 AI 问题)。可是我认为机器学习领域在很大程度上已经从 AI 脱离开来了,部分缘由在于上面所说的抗拒情绪:大多数从事预测问题的人不喜欢把本身形容为 AI 研究人员。(有助于实现许多重要的机器学习领域突破的知识,大都来自统计学。而统计学在 AI 领域的其余部分的出现则不多)。这意味着,若是你能够把一个问题描述为“从 Y 预测 X”,我建议避免使用 AI 这个术语。
Amy Hoy 的推文:
按照如今的定义,y=mx+b 是一个能够告诉你一条直线该往哪儿延伸的 AI 机器人。
案例学习:三者如何一块儿使用?
假设咱们正在建造一辆自动驾驶汽车,而且咱们正在研究如何停在标志停车旁这样一个具体的问题。咱们须要分别在这三个领域中使用如下技能。
脚注:
查看英文原文:
varianceexplained.org/r/ds-ml-ai/
更多干货内容,可关注AI前线,ID:ai-front,后台回复「AI」、「TF」、「大数据」可得到《AI前线》系列PDF迷你书和技能图谱。