机器学习
上QQ阅读APP看书,第一时间看更新

1.2 机器学习、人工智能和数据挖掘

目前人工智能很热门,但是很多人容易将人工智能与机器学习混淆。此外,数据挖掘、人工智能和机器学习之间的关系也容易被混淆。从本质上看,数据科学的目标是通过处理各种数据促进人们的决策,机器学习的主要任务是使机器模仿人类的学习,从而获得知识。而人工智能借助机器学习和推理最终是形成具体的智能行为。机器学习与其他领域之间的关系如图1-2所示。

图1-2 机器学习与人工智能的关系

1.2.1 什么是人工智能

人工智能是让机器的行为看起来像人所表现出的智能行为一样,这是由麻省理工学院的约翰·麦卡锡在1956年的达特茅斯会议上提出的,字面上的意思是为机器赋予人的智能。人工智能的先驱们希望机器具有与人类似的能力:感知、语言、思考、学习、行动等。最近几年人工智能风靡全球的主要原因就是,随着机器学习的发展,人们发现机器具有了一定的感知(图像识别)和学习等方面的能力,很容易认为目前已经达到了人工智能发展过程中的奇点。实际上,人工智能包括计算智能、感知智能和认知智能等层次,目前人工智能还介于前两者之间。

由于目前人工智能与人类智能相比较,二者实现的原理并不相同,特别是人脑对于信息的存储和加工过程尚未被研究清楚,与目前主流的深度学习理论存在较大的基础差异。因此,目前人工智能所处的阶段还在“弱人工智能”(Narrow AI)阶段,距离“强人工智能”(General AI)阶段还有较长的路要走。例如,目前人类对于知识的获取和推理并不需要大量的数据进行反复迭代学习,只需要看一眼自行车的照片就能大致区分出各式各样的自行车。因此,要达到强人工智能的阶段可能要在计算机基础理论方面进行创新,实现类人脑的结构设计。

通常来说,人工智能是使机器具备类似人类的智能性,人工智能的典型系统包括以下几个方面。

(1)博弈游戏(如深蓝、Alpha Go、Alpha Zero等)。

(2)机器人相关控制理论(运动规划、控制机器人行走等)。

(3)机器翻译。

(4)语音识别。

(5)计算机视觉系统。

(6)自然语言处理(自动程序)。

1.2.2 什么是数据挖掘

数据挖掘使用机器学习、统计学和数据库等方法在相对大量的数据集中发现模式和知识,它涉及数据预处理、模型与推断、可视化等。数据挖掘包括以下几类常见任务。

1. 异常检测

异常检测(anomaly detection)是对不符合预期模式的样本、事件进行识别。异常也被称为离群值、偏差和例外等。异常检测常用于入侵检测、银行欺诈、疾病检测、故障检测等。

2. 关联分析

关联规则学习(Association rule learning)是在数据库中发现变量之间的关系(强规则)。例如,在购物篮分析中,发现规则{面包,牛奶}→{酸奶},表明如果顾客同时购买了面包和牛奶,很有可能也会买酸奶,利用这些规则可以进行营销。

3. 聚类

聚类是一种探索性分析,在未知数据结构的情况下,根据相似性把样本分为不同的簇或子集,不同簇的样本具有很大的差异性,从而发现数据的类别与结构。

4. 分类

分类是根据已知样本的某些特征,判断一个新样本属于哪种类别。通过特征选择和学习,建立判别函数以对样本进行分类。

5. 回归

回归是一种统计分析方法,用于了解两个或多个变量之间的相关关系,回归的目标是找出误差最小的拟合函数作为模型,用特定的自变量来预测因变量的值。

数据挖掘在大数据相关技术的支持下,随着数据存储(非关系型NoSQL数据库)、分布式数据计算(Hadoop/Spark等)、数据可视化等技术的发展,数据挖掘对事务的理解能力越来越强,如此多的数据堆积在一起,增加了对算法的要求,所以数据挖掘一方面要尽可能获取更多、更有价值、更全面的数据,并从这些数据中提取价值。

数据挖掘在商务智能方面的应用较多,特别是在决策辅助、流程优化、精准营销等方面。广告公司可以使用用户的浏览历史、访问记录、点击记录和购买信息等数据,对广告进行精准推广。利用舆情分析,特别是情感分析可以提取公众意见来驱动市场决策。例如,在电影推广时对社交评论进行监控,寻找与目标观众产生共鸣的元素,然后调整媒体宣传策略迎合观众口味,吸引更多人群。

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

机器学习是人工智能的一个分支,作为人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动“学习”的算法,从数据中分析获得规律,然后利用规律对新样本进行预测。

机器学习是人工智能的重要支撑技术,其中深度学习就是一个典型例子。深度学习的典型应用是选择数据训练模型,然后用模型做出预测。例如,博弈游戏系统(Deep Blue)重于探索和优化未来的解空间(Solution Space),而深度学习则是在博弈游戏算法(例如Alpha Go)的开发上付诸努力,取得了世人瞩目的成就。

下面以自动驾驶汽车研发为例,说明机器学习和人工智能的关系。要实现自动驾驶,就需要对交通标志进行识别。首先,应用机器学习算法对交通标志进行学习,数据集中包括数百万张交通标志图片,使用卷积神经网络进行训练并生成模型。然后,自动驾驶系统使用摄像头,让模型实时识别交通标志,并不断进行验证、测试和调优,最终达到较高的识别精度。

当汽车识别出交通标志时,针对不同的标志进行不同的操作。例如,遇到停车标志时,自动驾驶系统需要综合车速和车距来决定何时刹车,过早或过晚都会危及行车安全。除此之外,人工智能技术还需要应用控制理论处理不同的道路状况下刹车策略,通过综合这些机器学习模型来产生自动化的行为。

数据挖掘和机器学习的关系越来越密切。例如,通过分析企业的经营数据,发现某一类客户在消费行为上与其他用户存在明显区别,并通过可视化图表显示,这是数据挖掘和机器学习的工作,它输出的是某种信息和知识。企业决策人员可根据这些输出人为改变经营策略,而人工智能是用机器自动决策来代替人工行为,从而实现机器智能。

数据挖掘是从大量的业务数据中挖掘隐藏的、有用的、正确的知识,促进决策的执行。数据挖掘的很多算法都来自机器学习和统计学,其中统计学关注理论研究并用于数据分析实践形成独立的学科,机器学习中有些算法借鉴了统计学理论,并在实际应用中进行优化,实现数据挖掘目标。机器学习的演化计算深度学习等方法近年来也逐渐跳出实验室,从实际的数据中学习模式,解决实际问题。数据挖掘和机器学习的交集越来越大,机器学习成为数据挖掘的重要支撑技术。