[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 的系统产生不实际的预期
文中提到的自动程序是指可以翻译自然语言并用自然语言回应的系统这种系统和文本挖掘不同, 后者的目标是得出结论(数据科学), 或通过分类文本来分类文件(机器学习)
来源: http://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/79064076