大数据时代怎么解释(信息时代深层了解)(1)

冯凯,战略支援部队特色医学中心(原306医院),研究部二室

医学科普中心 刘燕/崔彦 编辑

随着计算机技术、信息技术和信息存储技术的发展,现代社会已经进入“信息”时代,“信息爆炸”带来的“大数据”技术革命给人们的生活带来深刻影响,与其相关的人脸识别、app智能推荐,导航系统,自动驾驶等,正在潜移默化的影响着大众生活。与大数据相关的词汇呈爆炸性发展、很多相关名称在各种媒体、书籍、期刊和日常生活频繁出现,比如数据科学、人工智能、数据挖掘、机器学习、监督学习、深度学习、集成学习等。这些高频词汇的含义及其背后的关系非常容易混淆,以下就“大数据”相关的一些概念,特别是人工智能和机器学习体系中的高频词汇进行简单介绍。

“大数据”中的高频词汇

(1) 人工智能(artificial intelligence, AI)

人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支。它的主要目标包括研究用机器来模仿和执行人脑的某些智能功能,并开发相关功能,如判断、推理证明识别感知理解设计思考规划学习和问题求解等思维活动。从1956年正式提出人工智能学科算起,60多年来取得长足的发展,成为一门广泛的交叉和前沿科学。人工智能经历了两次低谷迎来了第三次发展高峰,已经广泛应用于机器视觉、指纹识别、人脸识别、视网膜识别、虹膜识别、掌纹识别、专家系统、自动规划、智能搜索、定理证明、博弈、自动程序设计、智能控制、机器人学、语言和图像理解、遗传编程。应该指出的是,与人类智能相比,当下的人工智能具有从大数据中学习特征的能力,但它不具备人类根据常识快速逻辑推理的能力,不能洞察事件之间的微妙因果关系,而这些能力才是组成智能的关键。

大数据时代怎么解释(信息时代深层了解)(2)

人工智能发展的三次高潮和两次低谷

(2) 机器学习(Machine Learning)

机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。

机器学习目前已经构建了复杂的知识体系。其中既包括传统统计方法,概率论方法,还发展了诸多特有技术。其研究目标从最初的成就人工智能转变为处理科学和工程中可解决的问题。其研究重点不再是从人工智能那里继承符号化方法,而是注重从统计和概率理论中借鉴方法和模型。

“机器学习”与统计学关系密切,很多经典的机器学习方法都是统计方法,因此有时候这类机器学习也称“统计学习”。机器学习的理论源泉是数学和统计学,算法是基于优化理论、矩阵代数和微积分,它的实现来源于计算机科学和工程学概念,比如核映射、特征散列等。机器学习有三个要素:模型、策略和算法。

机器学习中的模型就是要学习的决策函数或者条件概率分布。策略,简单来说,就是在假设空间的众多模型中,机器学习需要按照什么标准选择最优模型,对于给定模型,模型输出和真实输出之间的误差可以用一个损失函数来度量。不同的机器学习任务都有对应的损失函数,回归任务一般使用均方误差,分类任务一般使用对数损失函数或者交叉熵损失函数等。算法指的是学习模型的具体优化方法。当机器学习的模型和损失函数确定时,机器学习就可以具体地形式化为一个最优化问题,可以通过常用的优化算法,比如随机梯度下降法、牛顿法和拟牛顿法等进行模型参数的最优化求解。机器学习流程,包括需求分析、数据采集、数据清洗、特征工程、建模调优、数据分析与可视化、模型结果展示与报告输出和模型部署与上线反馈优化。

值得注意的是,在机器学习领域,没有算法能完美地解决所有问题,尤其是对监督学习而言(例如预测建模)。可解释性和预测精度是一对矛盾体。如果目标是创建预测模型,不考虑变量的影响,强烈推荐神经网络,但是神经网络需要更多数据才能真正有效,并对计算资源要求较高。如果需要了解变量,那么往往选择解释性好的模型,哪怕性能受到轻微的影响,以确保仍然可以了解每个变量是如何为预测模型作贡献。另外根据可以拥有的数据类型来决定。对于图像、语音识别, 文本数据任务,应该使用神经网络,如果是表格数据,则首选逻辑回归、随机森林,这类模型需要较少的预处理,训练过程更简单,因此在生产系统中使用更简单。

大数据时代怎么解释(信息时代深层了解)(3)

机器学习与统计学习的关系

(3) 深度学习(Deep Learning)

深度学习本质是一个多层神经网络,是一种机器学习方法。第一代的人工智能的核心算法感知机就是神经网络的雏形,其结构简单,只有一个输入层,在深度学习出现之前,由于诸如局部最优解和梯度消失之类的技术问题,没法对具有四层或更多层的深度神经网络进行充分训练,因此性能也不佳,神经网络算法一度几于消亡。

但是,近年来,Hinton等人通过研究多层神经网络,提高学习所需的计算机功能以及通过Web的开发促进培训数据的采集,演化出反向、循环、卷积神经网络技术,使充分学习成为可能,结果它显示出高性能,压倒了其他方法,解决了与语音,图像和自然语言有关的问题,并在2010年后流行。由于人工智能起源及三次发展高潮都是源自神经网络算法建立及发展,而深度学习可以看做第三代神经网络,因其在人工智能中的核心地位,近年来往往被单独看做机器学习中的一支。

通过回顾了人工智能、机器学习和深度学习的发展脉络,就可以基本三者的联系与区别,机器学习伴随人工智能而生,但已基本脱离了人工智能的范畴发展了诸多算法并建立了独立的体系,其更注重于解决科学和工程中的实际问题。机器学习仅神经网络这一支独立发展为深度学习,成为现在人工智能的核心算法。以上三个流行语是热度最高的,还有一些词汇也容易和它们混淆,比如数据科学和数据挖掘。

大数据时代怎么解释(信息时代深层了解)(4)

人工智能与机器学习及深度学习的关系

(4) 数据科学(Data Science)

数据科学是统计学、计算机科学和领域知识的融合。它的目标是获取见解和理解力。Jeff Leek对数据科学给出了一个很好的定义,他认为数据科学应包括描述性,探索性和因果关系。这个定义可将数据科学与机器学习和人工智能区分开来。在数据科学中,人是循环中不可缺少的一部分,算法得出数据结果,人们通过数据得到见解,或从结论中受益。实际操作中,数据科学家可能会使用一些简单的工具,如计算百分比,并根据数据库(SQL)查询制作线性图。也可以使用非常复杂的方法,如使用分布式数据存储来分析数以万亿计的数据记录,开发尖端的统计技术,并构建交互式可视化模型。但无论他们使用什么,目标都是更好地解读他们的数据。

数据科学和机器学习之间有很多重叠之处。例如,逻辑回归(Logistic Regression)可以用来获取各种数据之间的关联并做出预测。而随机森林这样的模型可解释性稍差,则更适合“机器学习”算法去描述,但深度学习等方法则是十分难以解释的。如果研究目标是获取见解而不是做出预测,那么机器学习并不适合。因此,可以想象机器学习和数据科学之间有一个简单的界限,可解释的模型倾向于数据科学,“黑盒”模型则倾向于机器学习方面。数据科学强调的是统计推断、数据可视化、实验设计、领域知识、沟通。 “人工智能”强调的是一个模拟人类智能的智能体代理,它能自主执行任务,并能根据行为作出反馈。因此,有人把三者区别概括为“数据科学产生见解,机器学习产生预测,人工智能产生行为”。

(5) 数据挖掘(Data Mining)

数据挖掘一般是指从大量的数据中通过算法挖掘出隐藏于其中信息的过程,又是和机器学习经常混淆的概念,一开始是为解决行业中大量数据的问题而生,其风格也比较偏业界,尤其是结合了很多数据库管理的技术。

“数据挖掘”与“机器学习”两者之间也存在很多重叠,但是机器学习聚焦于建立预测模型,这些模型建立在训练数据已知特征的基础上;而数据挖掘侧重于发现数据中的未知模式,重点在于知识的发现。数据挖掘采用大量的机器学习方法,但是和机器学习的目标不一样;另外,机器学习采用大量的数据挖掘方法作为无监督学习或数据预处理步骤,以改善学习的精准度。作为区分两者的要点,机器学习是从已有知识中学习模型,用重现已有知识的能力来评价其性能优劣;而数据挖掘的主要任务是从数据中发现未知知识。机器学习可以是有监督的,也可以是无监督的;但是数据挖掘只能是无监督的,因为其任务就是从数据中发现知识,知识是监督者,但是它隐藏在要挖掘的数据中,挖掘前它是未知的。图4,基本能够概括出以上概念的相互关系和联系。

大数据时代怎么解释(信息时代深层了解)(5)

数据科学、数据挖掘、机器学习与人工智能的关系

机器学习体系中的常用词汇

(1) 监督学习(Supervised Learning)与无监督学习(Unsupervised Learning)

机器学习有多种分类方法,比如单模型和集成模型、概率模型和非概率模型模型,最常见的是分为“监督学习”和“非监督学习”。

监督学习是指:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,目前机器学习中多数算法都属于监督学习,也就是说,在监督学习中训练数据既有特征(feature)又有标签(label),通过训练,让机器可以自己找到特征和标签之间的联系,在面对只有特征没有标签的数据时,可以判断出标签。监督学习的分类:回归(Regression)、分类(Classification);“无监督学习”是我们不知道数据集中数据、特征之间的关系,而是要根据聚类或一定的模型得到数据之间的关系。

(2) “集成学习”

集成学习是相对于单模型概念的产生的,所谓单模型就要基于一种算法的模型,比如常见的线性回归、Lasso回归、Ridge回归、神经网络、决策树、支持向量机等。

集成学习是一种机器学习范式。在集成学习中,会训练多个模型(通常称为“弱学习器”)解决相同的问题,并将它们结合起来以获得更好的结果。俗话说:“三个臭皮匠赛过诸葛亮”, 集成学习就是基于这样的假设是:当弱模型被正确组合时,可以得到更精确和/或更鲁棒的模型。集成学习是这样一个过程,按照某种算法生成多个模型,如分类器,再将这些模型按照某种方法组合在一起来解决某个智能计算问题,提高模型(分类,预测,函数估计等)的性能,或者用来降低模型选择不当的可能性。集成算法本身是一种监督学习算法。集成算法是目前最火热的机器学习算法(另一类则是大名鼎鼎的深度学习)。集成学习的主要算法包括,自主聚合(bagging)、提升法(boosting)、堆叠法(stacking)。

Bagging算法(Bootstrap aggregating),又称装袋算法。最初由Leo Breiman于1996年提出。Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。Bagging算法的基本思想是,给定一个弱学习算法和一个训练集,单个弱学习算法预测准确率不高,但将该学习算法使用多次,得出预测函数序列,进行投票,最后结果准确率将得到提高。Bagging的代表算法随机森林(Random Forest,RF),该方法通常考虑的是同质弱学习器(比如决策树),相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来。

Boosting法,是一种可以用来减小监督式学习中偏差的机器学习算法。解决的问题是Michael Kearns提出的:一组“弱学习者”的集合能否生成一个“强学习者”?弱学习者一般是指一个分类器,它的结果只比随机分类好一点点;强学习者指分类器的结果非常接近真值。通常考虑的也是同质弱学习器。它以一种高度自适应的方法顺序地学习这些弱学习器(每个基础模型都依赖于前面的模型),并按照某种确定性的策略将它们组合起来。大多数提升算法由迭代使用的弱学习分类器组成,并将其结果加入一个最终的成强学习分类器。加入的过程中,通常根据它们的分类准确率给予不同的权重。加和弱学习者之后,数据通常会被重新加权,来强化对之前分类错误数据点的分类。Boosting目前最火爆的一类机器学习算法(XGboost,LightGBM),在Kaggle上(Kaggle创立于2010年,是全球最大的数据科学社区和数据科学竞赛平台,2017年被Google收购)机器学习比赛胜出频次最多。

Stacking(Stacked Generalization),是指训练一个模型用于组合(combine)其他各个模型。即首先先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。如果可以选用任意一个组合算法,那么理论上,Stacking可以表示上面提到的各种集成方法。然而,实际中,通常使用单层logistic回归作为组合模型。

(3) 特征工程(Feature Engineering)

特征工程是机器学习工作流程中的环节。特征(feature)指从原始数据中抽取出对结果预测更有用或表达更充分的的信息。特指使用专业的背景知识和技巧处理数据,使得特征能在机器学习算法上发生更好的作用的过程。机器学习领域有句俗语 “数据决定了机器学习的上限,而算法只是尽可能逼近这个上限”,这里的数据指的就是经过特征工程得到的数据,足见特征工程在机器学习中占有非常重要的作用,一般认为包括特征构建、特征提取、特征选择等几个部分。

大数据时代怎么解释(信息时代深层了解)(6)

特征工程的主要内容

以上介绍了目前媒体与大数据数据有关的一些“热词”,特别是机器学习领域的一些概念,并未涉及具体算法和过多的专业用语,希望能够通过简单的介绍使读者对这些名词的语义更加明晰。

(部分配图来源于网络)

,