机器学习、深度学习与人工智能的区别

使用机器/计算机来处理类似人类决策的任务的统计学习的基本术语是件很麻烦的事,所以才有了下面这篇文章,简单的说:

  • 人工智能 —— 使用机器诠释的人类智能
  • 机器学习 —— 实现人工智能的一种方式
  • 深度学习 —— 实现机器学习的一种技术

现在的数据科学是一个知识体系,囊括了统计学和计算方法等等(而且在不同的具体领域不同学科的比例也不一样)。机器学习(或使用了其它的术语,比如深度学习、认知计算)则是让机器像人类一样思考和推理,基本上而言是指通过人工的方法(所以也叫人工智能)来代替人类天生的自然智能——涉及到的任务从简单到复杂都有。比如,无人驾驶汽车(目前)正在模仿人类的驾驶,驾驶条件也是人类在自然情况下会遇到的——我说「目前」是因为也许未来人类将很少能够直接驾驶机器,「驾驶(drive)」这个词本身都可能会改变含义。

机器学习 VS 深度学习

在深入探讨数据学习与机器学习之间的区别前,我们先简单讨论下机器学习与深度学习的区别。机器学习一系列在数据集上进行训练的算法,来做出预测或采取形同从而对系统进行优化。例如,基于历史数据,监督分类算法就被用来分类潜在的客户或贷款意向。根据给定任务的不同(例如,监督式聚类),用到的技术也不同:朴素贝叶斯、支持向量机、神经网络、ensembles、关联规则、决策树、逻辑回归或多种方法之间的结合。

这些都是数据科学的分支。当这些算法被用于自动化的时候,就像在自动飞行或无人驾驶汽车中,它被称为人工智能,更具体的细说,就是深度学习。如果数据收集自传感器,通过互联网进行传输,那就是机器学习或数据科学或深度学习应用到了 IoT 上。

有些人对深度学习有不同的定义。他们认为深度学习是带有更多层的神经网络(神经网络是一种机器学习技术)。深度学习与机器学习的区别这一问题在 Quora 上也被问到过,下面对此有详细的解释:

  • 人工智能是计算机科学的一个子领域,创造于 20 世纪 60 年代,它涉及到解决对人类而言简单却对计算机很难的任务。详细来说,所谓的强人工智能系统应该是能做人类所能做的任何事。这是相当通用的,包含所有的任务,比如规划、到处移动、识别物体与声音、说话、翻译、完成社会或商业事务、创造性的工作(绘画、作诗)等。
  • 自然语言处理只是人工智能与语言有关的一部分。
  • 机器学习被认为是人工智能的一方面:给定一些可用离散术语(例如,在一些行为中,那个行为是正确的)描述的人工智能问题,并给出关于这个世界的大量信息,在没有程序员进行编程的情况下弄清楚「正确」的行为。典型的是,需要一些外部流程判断行为是否正确。在数学术语中,也就是函数:馈入输入,产生正确的输出。所以整个问题就是以自动化的方式建立该数学函数的模型。在二者进行区分时:如果我写出的程序聪明到表现出人类行为,它就是人工智能。但如果它的参数不是自动从数据进行学习,它就不是机器学习。
  • 深度学习是如今非常流行的一种机器学习。它涉及到一种特殊类型的数学模型,可认为它是特定类型的简单模块的结合(函数结合),这些模块可被调整从而更好的预测最终输出。

机器学习 VS 统计学

《Machine Learning Vs. Statistics》这篇文章试图解答这个问题。这篇文章的作者认为统计学是带有置信区间(confidence intervals)的机器学习,是为了预测或估计数量。但我不同意,我曾建立过不需要任何数学或统计知识的工程友好的置信区间。

机器学习 VS 数据科学

机器学习和统计学都是数据科学的一部分。机器学习中的学习一词表示算法依赖于一些数据(被用作训练集),来调整模型或算法的参数。这包含了许多的技术,比如回归、朴素贝叶斯或监督聚类。但不是所有的技术都适合机器学习。例如有一种统计和数据科学技术就不适合——无监督聚类,该技术是在没有任何先验知识或训练集的情况下检测 cluster 和 cluster 结构,从而帮助分类算法。这种情况需要人来标记 cluster。一些技术是混合的,比如半监督分类。一些模式检测或密度评估技术适合机器学习。

数据科学要比机器学习广泛。数据科学中的数据可能并非来自机器或机器处理(调查数据可能就是手动收集,临床试验涉及到专业类型的小数据),就像我刚才所说的,它可能与「学习」没有任何关系。但主要的区别在于数据科学覆盖整个数据处理,并非只是算法的或统计类分支。细说之,数据科学也包括:

  • 数据集成(data integration)
  • 分布式架构(distributed architecture)
  • 自动机器学习(automating machine learning)
  • 数据可视化(data visualization)
  • dashboards 和 BI
  • 数据工程(data engineering)
  • 产品模式中的部署(deployment in production mode)
  • 自动的、数据驱动的决策(automated, data-driven decisions)