数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?

本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答不出来,我在知乎和博客上查了查这个问题,发现还没有人写过比较详细和有说服力的对比和解释。那我根据以前读的书和论文,还有和与导师之间的交流,尝试着说一说这几者的区别吧,毕竟一个好的定义在未来的学习和交流中能够发挥很大的作用。同时补上数据科学和商业分析之间的关系。能力有限,如有疏漏,请包涵和指正。

导论

本文主要分为两部分,第一部分阐述数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)之间的区别。这三者的区别主要是目的不同,其手段(算法,模型)有很大的重叠,所以容易混淆。第二部分主要阐述以上的技能与数据科学(data science)的关系,以及数据科学(data science)和商业分析(business analytics)之间的关系。其实,数据科学家本身就是商业分析师在大数据时代的延伸。


数据挖掘VS. 机器学习VS. 人工智能

数据挖掘 (data mining): 有目的地从现有大数据中提取数据的模式(pattern)和模型(model)

关键字:模式提取,大数据

数据挖掘是从现有的信息(existing information)中提取数据的模式(pattern)和模型(model),即精选出最重要的信息,以用于未来机器学习和AI的数据使用。其核心目的是找到数据变量之间的关系。其发展出来的主要原因是大数据的发展,用传统的数据分析的方式已经无能处理那么多大量的看似不相关的数据的处理,因此需要数据挖掘技术去提取各种数据和变量之间的相互关系,从而精炼数据。
数据挖掘本质上像是机器学习和人工智能的基础,他的主要目的是从各种各样的数据来源中,提取出超集(superset)的信息,然后将这些信息合并让你发现你从来没有想到过的模式和内在关系。这就意味着,数据挖掘不是一种用来证明假说的方法,而是用来构建各种各样的假说的方法。数据挖掘不能告诉你这些问题的答案,他只能告诉你,A和B可能存在相关关系,但是它无法告诉你A和B存在什么相关关系。
当然,数据挖掘会使用大量机器学习的算法,但是其特定的环境和目的和机器学习不太一样。

机器学习(machine learning): 自动地从过往的经验中学习新的知识。

关键字: 自动化,自我优化,预测,需要training data,推荐系统

机器学习其实是人工智能很重要的一部分,因为目前,在实践过程中,大多数的人工智能处理的任务,其实是用机器学习的方式完成的。机器学习可以用程序和算法自动地学习,只要被设计好了,这个程序可以进行自我优化。同时,机器学习需要一定数量的训练数据集(training data set),用于构建来自过往经验的“知识” 。
且机器学习目前在实践中最重要的功能便是预测结果。比如机器学习已经学习结束了,现在有一个新的数据集x,需要预测其分类,机器学习算法会根据这个新数据与学习后的“知识”相匹配(实际上,知识指的是学习后的数学模型),然后将这个数据集x分类某类C去。再比较常见的机器学习,比如amazon的推荐系统。

人工智能(AI): 一个广泛的概念,本质是用数据和模型去为现有的问题(existing problems)提供解决方法(solutions).

关键字:和人一样处理问题,技术的合集

人工智能是一个与机器学习和数据挖掘相对不同的概念,人工智能的目的是为了去创造有智力的电脑(不知道怎么翻译好,可以假设其为机器人)。在实践中,我们希望这个电脑可以像有智力的人一样处理一个任务。因此,理论上人工智能几乎包括了所有和机器能做的内容,当然也包括了数据挖掘和机器学习的内容,同时还会有监视(monitor)和控制进程(process control)的内容。


数据科学(data science)和商业分析(business analytics)的关系?

其实以前,我们是没有数据科学家(data scientist),和数据科学(data science)这个概念的。我们称呼做相关内容的方式更多叫商业分析(business analytics)。

在2011年的时候,麦肯锡发表了《Big Data: the next frontier for innovation, competition, and productivity》提出了现在很多的公司已经开始往分析才能(analytical talent)中获得竞争优势。虽然这不是第一篇提出这个概念的公司,但是是第一次提出,数据分析能力也有助于商业公司去发现潜在的机会,而不仅仅只对技术公司有效。接着麦肯锡认为到了2018年,美国大约会有190,000的项目缺少“深度分析能力(Deep Analytical Talent)”,而这些深度分析能力,是由大数据(big data)驱动的。至此,麦肯锡将”商业分析”进一步形容为”深度分析能力”。

接着DJ Patil和Jeff Hammerbacher在其写的《Building Data Science Teams》,将麦肯锡的“深度分析能力”称为了“数据科学家(data scientists)”。他们在文中提到:

商业分析师(business analyst)看起来太局限了,数据分析师(data anlyst)是他们的竞争者,但是我们还是觉得这个称呼太局限了。....我们认为最好的称呼应该是”数据科学家(data scientist)”,因为这些人需要同时使用数据(data)和科学(science)去创造一些新的东西。

紧接着,DJ Patil加了一些关键特点用于去寻找一个数据科学家(data scientist):

  1. 专业技术(Technical expertise): 最好的数据科学家需要有关于某些科学学科的深度专业知识(deep expertise)。
  2. 好奇心(Curiosity): 一个优秀的数据科学家需要有挖掘潜在关系,解决问题和证明假说的强烈好奇心和渴望。
  3. 讲故事的能力(Storytelling): 能用数据讲一个生动的故事的能力,它能使交流更加有效。
  4. 聪明(Cleverness): 能够创造性地解决问题的能力。

随后,数据科学家这个概念才开始被广为流传。那么数据科学家需要具备哪些专业能力?不同的公司有不同的看法和意见(反正大家好像都喜欢把所有一切的期许都放在一个新兴的行业中),这里列举一个比较流行的看法:
1.Drew Conway’s Data Scientist Venn Diagram

2.Drew Tierney’s Multi-disciplinary Diagram

3.Gartner

最后附赠一张“作弊纸”,列出几乎所有的商业问题(Business Problems),想要入门成为一个优秀的商业分析师,或者是数据科学家,强烈推荐保存!!!!!!!!!!!!以后有时间,我会尝试着逐一翻译和解说一下。


拓展阅读(英文):

  1. 什么是独角兽型的数据科学家?:不知道为什么现在什么“独角兽”型的这种理念会那么流行,企业也爱叫独角兽,行业内也爱叫独角兽。。但为什么一提到独角兽,我先想到的是巫师系列游戏。(捂脸~)

  2. Top 10 Data Analysis Tools for Business:用于商业分析的十大工具,强烈推荐阅读!!!

  3. Data Science: Bridging the Business & IT Gap:第二部分内容主要来源的原文。


参考文献:

  1. http://stats.stackexchange.com/questions/5026/what-is-the-difference-between-data-mining-statistics-machine-learning-and-ai
  2. http://upfrontanalytics.com/data-mining-vs-artificial-intelligence-vs-machine-learning/
  3. https://www.researchgate.net/post/What_is_the_difference_between_machine_learning_and_data_mining
  4. https://www.r-bloggers.com/whats-the-difference-between-machine-learning-statistics-and-data-mining/
  5. https://discuss.analyticsvidhya.com/t/what-is-the-difference-between-machine-learning-data-analysis-data-mining-data-science-and-ai/572
  6. http://www.kdnuggets.com/2014/06/data-science-skills-business-problems.html
  7. 各种乱七八糟的书和课件的笔记。
  8. 《Building Data Science Teams》
  9. 《Big Data: the next frontier for innovation, competition, and productivity》
  10. Drew Conway’s Data Scientist Venn Diagram
  11. Drew Tierney’s Multi-disciplinary Diagram
 

data mining,machine learning,AI,data science,data science,business analytics的更多相关文章

  1. How to use data analysis for machine learning (example, part 1)

    In my last article, I stated that for practitioners (as opposed to theorists), the real prerequisite ...

  2. 【机器学习 Azure Machine Learning】使用Aure虚拟机搭建Jupyter notebook环境,为Machine Learning做准备(Ubuntu 18.04,Linux)

    问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(T ...

  3. 第五周(web,machine learning笔记)

    2019/11/2 1.    表现层状态转换(REST, representational state transfer.)一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相 ...

  4. Data Leakage in Machine Learning 机器学习训练中的数据泄漏

    refer to:  https://www.kaggle.com/dansbecker/data-leakage There are two main types of leakage: Leaky ...

  5. [Machine Learning with Python] How to get your data?

    Using Pandas Library The simplest way is to read data from .csv files and store it as a data frame o ...

  6. Machine Learning and Data Mining(机器学习与数据挖掘)

    Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...

  7. Portal:Machine learning机器学习:门户

    Machine learning Machine learning is a scientific discipline that explores the construction and stud ...

  8. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  9. [C2P1] Andrew Ng - Machine Learning

    About this Course Machine learning is the science of getting computers to act without being explicit ...

随机推荐

  1. 怪胎:Android开发ImageView图片无法显示

    今天碰到一个非常奇怪的问题: 在Android中ImageView无法显示加载的本地SDCard图片. 具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在ImageView中显示. publ ...

  2. haskell学习笔记_函数

    一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...

  3. jquery获得select选中索引

          select选中索引有好多方式, 这两种方式取不到索引值这两种方式取不到索引值这两种方式取不到索引值这两种方式取不到索引值 $('#someId').find('option:select ...

  4. RazorPad中的ModelProvider

    在RazorPad的右侧 我们可以提供模型的结构,Json数据结构体 当提供多个的时候 是Json中的数组 [{     Name: "NI" }, {     Name: &qu ...

  5. JAVA中的时间操作

    java中的时间操作不外乎这四种情况: 1.获取当前时间 2.获取某个时间的某种格式 3.设置时间 4.时间的运算 好,下面就针对这四种情况,一个一个搞定. 一.获取当前时间 有两种方式可以获得,第一 ...

  6. SQLServer 安装以前的某个程序安装已在安装计算机上创建挂起的文件操作 解决办法

    http://wenku.baidu.com/view/6732fe09844769eae009ede2.html SQL Server 安装以前的某个程序安装已在安装计算机上创建挂起的文件操作 安装 ...

  7. javaweb项目的优化

    简单地来看一个浏览器用户访问的流程: 浏览器->服务器->返回结果显示 这么简单地看,可能想得到的优化手段很少,常见的可能就是优化sql,加快数据库处理:加个缓存,加快返回:使用静态文件, ...

  8. (转)iPhone 判断UITableView 滚动到底部

    UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. ...

  9. 如何将XML转换成XSD(XML Schema)文件

    将xml装换为xsd,先决条件是已经安装了Visual Stutio 1) 输入cmd在运行窗口 2) 将xsd的路径加入到path变量 set path=%path%;C:\Program File ...

  10. Makefile学习(一)变量

    鉴于之前有一些了解,还有自己的学习习惯,我一上来就看Makefile的变量这一章.主要脉络是根据GNU make中文手册. 第六章:Makefile中的变量 6使用变量 定义:变量是一个名字,代表一个 ...