资料科学、资料探勘、机器学习、深度学习是甚麽碗糕?

初次接触AI时,常常会听到数据分析、资料科学、机器学习、深度学习,一堆专有名词,倒底是甚麽碗糕? 有何差别? 可以吞得下去吗? 会不会消化不良?

资料科学(Data Science)

前几天看到一篇文章『What Is Data Science, Really』,作者先撷取维基百科的部分定义如下:

Data science … incorporates skills from computer science, statistics, information science, mathematics, information visualization, data integration, graphic design, complex systems, communication and business.

简单翻译如下:
资料科学结合计算机、统计学、资讯科学、数学、资讯视觉化、数据整合、图形设计、复杂系统、通信和商业等技能。

看到这里就会觉得这是典型江湖术士的骗术,适合拿来骗钱,因此,作者试图找到一个精准且简短的定义如下:

the application of the scientific method in using the tools of data analysis。
翻译如下:
应用科学化的数据分析工具,从数据中挖掘出知识(knowledge)。
注:後半句是引用自维基百科。

https://ithelp.ithome.com.tw/upload/images/20210826/20001976KJJQXJA0ec.png
图1. KDD (Knowledge Discovered from Data)

至於数据分析工具有哪些呢? 举凡描述统计量(平均数、变异数、关联系数....)、统计方法(回归、ANOVA、时间序列、...)等等都是可以挖掘数据特徵、侦测异常或不同类别的差异/关联,我们往往会透过统计图、地图(map)、多维度分析等图表工具来呈现及观察统计结果。

机器学习(Machine Learning) Vs. 资料探勘(Data Mining)

笔者出入门时,觉得机器学习与资料探勘根本就是双胞胎,书中介绍的演算法几乎相同,经过一番实战後,才略有心得。根据维基百科的说明,资料探勘(Data Mining)是机器学习(Machine Learning)的一环,利用各式演算法找出资料的隐藏结构(Pattern),包括回归、分类、集群、异常检测(Outlier Detection)、关联...等类别的演算法。
https://ithelp.ithome.com.tw/upload/images/20210831/20001976vfMUr5R4go.png

机器学习则是更进一步,希望透过模型的训练,使电脑愈来愈聪明,虽与资料探勘所使用的演算法高度重叠,但有更崇高的理想,希望经由资料的累积与修正,使模型不断的精进,从而提高预测的准确率,让电脑具有人工智慧。它与传统程序开发方式不同:

  1. 传统程序开发方式,是直接依据商业逻辑产生输出,而机器学习是先建模,再进行推测,模型会不断改良,具有自我学习的能力。
  2. 机器学习不仅接收输入资料,资料科学家也需要蒐集训练资料,作为模型训练的养份。
    https://ithelp.ithome.com.tw/upload/images/20210831/2000197653QgNCzGir.png

深度学习

深度学习(Deep Learning)也是机器学习的分支,它是利用多层式结构(Multi-layers)解决问题,例如神经网路(Neural Network)、强化学习(Reinforcement Learning),通常很难用数学导出公式建构模型,而是采用优化(Optimization)演算法,逐步逼近最佳解,最後找出一个接近完美的近似解。
https://ithelp.ithome.com.tw/upload/images/20210831/20001976m1tsJRYVyK.png
图2. 神经网路

https://ithelp.ithome.com.tw/upload/images/20210831/20001976V8BXU4X9PL.png
卷积神经网路为多层式结构,图片来源:Comprehensive Introduction to Neural Network Architecture

学习路径

国内一般教育机构会采四阶段学习课程,逐步探究人工智慧的奥秘:

  1. 数据分析:学习程序语言(Python/R/Matlab)及资料科学基础套件(NumPy、Pandas、MatPlotLib),熟悉数值分析、表格分析及统计绘图等技巧。
  2. 机器学习:复习线性代数、微积分、初级统计、机率、线性规划等数学基础,并了解如何利用程序语言或NumPy等套件,解决数学问题,进而理解机器学习各类演算法及开发流程。
  3. 深度学习:学习神经网路理论,并在影像、自然语言、语音方面的应用,另外也包括强化学习。
  4. 专题应用:包括聊天机器人(ChatBot)、物件侦测、人脸辨识、自驾车、机器人(Robot)等相关专题的实作。
    https://ithelp.ithome.com.tw/upload/images/20210831/20001976xBtOUYof9n.png
    图3. 人工智慧的学习路径

结语

以上是笔者几年K书的心得,不具学术的严谨性,只求看得懂,若有谬误,请大家不吝指正。

工商广告一下:
深度学习 -- 最佳入门迈向 AI 专题实战
https://ithelp.ithome.com.tw/upload/images/20210817/20001976mCaS636cqk.jpg


<<:  Thunkable学习笔记 9 - 资产盘点(二)

>>:  哪些行当应该涨工资?你的行业有机会涨吗?

TailwindCSS 从零开始 - 选择该框架的原因

什麽是 TailWindCSS 近年窜起的 CSS 框架,有别於老牌 Bootstrap、Mate...

第二十七日-MYSQL的「如果」:IF、CASE基本用法

IF、CASE翻成中文就是「如果」,根据条件来决定要执行的事情, 在各个程序语法理面都会有类似的语法...

一次搞懂 ISA、CISC 与 RISC

1945 年 6 月 30 日,Von Neumann 与他的工作夥伴因为曼哈顿工程中使用到了大量的...

我们的基因体时代-AI, Data和生物资讯 Day14- 第二代定序(次世代定序)和它的资料格式

上一篇我们的基因体时代-AI, Data和生物资讯 Day13- 最基本的生物资讯资料格式Fasta...

Day 10 : PHP - 常用的阵列函数有哪些?

上篇介绍了PHP的阵列宣告、印出方式,这篇想和大家介绍PHP常用的阵列函数有哪些 1.in_arra...