1.2 人工智能技术
1.2.1 机器学习
1. 机器学习的定义
机器学习是人工智能的一个重要子领域,涵盖概率论、统计学、近似理论和复杂算法等知识,是使用计算机作为工具并致力于真实、实时地模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。
机器学习还有下面几种定义:
1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
2)机器学习是对能通过经验自动改进的计算机算法的研究。
3)机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
4)机器学习是一种通过利用数据训练出模型,然后使用模型预测的一种方法。
机器学习与人类学习的比较如图1-12所示,机器学习是依靠历史数据建立模型,再根据新的数据预测未知属性;人类学习是依靠经验归纳出规律,再根据新的问题预测未来。机器学习中的“训练”与“预测”过程可以对应到人类的“归纳”与“预测”过程。通过这样的对应可以发现,机器学习的思想并不复杂,仅仅是对人类在生活中学习成长的一个模拟。
图1-12 机器学习与人类学习的比较
2. 机器学习的分类
机器学习的分类方法很多,如基于学习策略的分类、基于学习方法的分类、基于学习方式的分类、基于数据形式的分类、基于学习目标的分类等。其中最常用的分类是基于学习方式的分类。
基于学习方式的分类,机器学习分为监督学习、非监督学习和强化学习,其中监督学习又分为分类学习、回归学习、排序学习、匹配学习等,如图1-13所示。
图1-13 机器学习的分类
(1)监督学习 监督学习是从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,也可以说是特征和目标。分类是最常见的机器学习应用问题,如垃圾邮件过滤、人脸检测、用户画像、网页归类等,本质上都是分类问题。
监督学习是训练神经网络和决策树的常用技术。这两种技术高度依赖事先确定的分类系统给出的信息,对于神经网络,分类系统利用信息判断网络的错误,然后不断调整网络参数;对于决策树,分类系统用它判断哪些属性提供了最多的信息。
监督学习最典型的算法是K近邻算法和支持向量机。
(2)非监督学习 对于非监督学习,输入数据没有标签,也没有确定的结果。样本数据类别未知,需要根据样本间的相似性对样本集进行聚类,试图使类内差距最小化,类间差距最大化。非监督学习的目标不是告诉计算机怎么做,而是让计算机自己去学习怎样做事情。
(3)强化学习 强化学习就是通过结果的反馈来对有效规则进行强化,并弱化无效或者较差的规则。与监督学习的不同之处在于,在学习器的训练前没有标记样本的结果,而需要通过尝试来得到各种行为的结果,进而对训练本身进行反馈。
3. 机器学习的常用算法
机器学习的常用算法主要有决策树、朴素贝叶斯、支持向量机、随机森林、人工神经网络、关联规则和期望最大化算法等。
(1)决策树 使用决策树进行决策的过程就是从根结点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子结点,将叶子结点存放的类别作为决策结果。
图1-14所示为预测一个人是否会购买计算机的决策树。利用这棵树,可以对新的记录进行分类。从根结点(年龄)开始,如果某个人的年龄为中年,就直接判断这个人会买计算机;如果是青少年,则需要进一步判断是否是学生;如果是老年,则需要进一步判断其信用等级。假设客户甲具备以下4个属性:年龄20、低收入、身份是学生、信用一般。通过决策树的根结点判断年龄,判断结果为客户甲是青少年,符合左边分支;再判断客户甲是否是学生,判断结果为客户甲是学生,符合右边分支,最终客户甲落在“会”的叶子结点上。因此,预测客户甲会购买计算机。
图1-14 预测一个人是否会购买计算机的决策树
(2)朴素贝叶斯 朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树、支持向量机等,都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X),要么是条件分布P(Y|X)。但是朴素贝叶斯却是生成方法,也就是直接找出特征输出Y和特征X的联合分布P(X,Y),然后用P(Y|X)=P(X,Y)/P(X)得出。朴素贝叶斯很直观,计算量也不大,在很多领域有广泛的应用。
(3)支持向量机 支持向量机是一个类分类器,是一个能够将不同类样本在样本空间分隔的超平面。换句话说,给定一些标记好的训练样本,支持向量机算法就可以输出一个最优化的分隔超平面。支持向量机应用于垃圾邮件识别、人脸识别等多种分类问题。
假设给定一些分属于两类的二维点,如图1-15所示,这些点可以通过多条直线分割,但目标是要找到一条最优的分割线。注意:在这个示例中,只考虑直角平面坐标系的点和线,而不考虑高维的向量与超平面。这一简化是为了以更加直观的方式建立起对支持向量机的理解,但是其基本原理同样适用于更高维的样本分类。
在图1-15中可以观测到有多条直线能够将两类样本分开,但哪条是最优的?可以定义评价直线最优的标准:距离样本太近的直线不是最优的。因为这样的直线对噪声敏感度高,泛化性较差。因此,该示例的目标就是找到一条直线,离所有点的距离最远。
支持向量机算法的实质就是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的距离最小,这个最小距离称为间隔。最优分割超平面就是最大化训练数据的间隔,如图1-16所示。
图1-15 两类二维点
图1-16 最优分割超平面
(4)随机森林 随机森林是指利用多棵决策树对样本数据进行训练、分类并预测的一种方法。它在对数据进行分类的同时,还可以给出各个变量(基因)的重要性评分,评估各个变量在分类中所起的作用。随机森林主要是应用于回归和分类这两种场景,又侧重于分类。对于分类问题,按多棵树分类器投票决定最终分类结果;对于回归问题,则由多棵树预测值的均值决定最终预测结果。
随机森林分类过程示意图如图1-17所示。
图1-17 随机森林分类过程示意图
(5)人工神经网络 人工神经网络是从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。
一个简单的人工神经网络逻辑架构如图1-18所示,它分成输入层、隐含层和输出层。输入层负责接收信号,隐含层负责对数据进行分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元。若干个处理单元组成一个层,若干个层再组成一个网络,也就是神经网络。
(6)关联规则 关联规则是用规则去描述两个变量或多个变量之间的关系,是客观反映数据本身性质的方法。它是机器学习的一大类任务,可分为两个阶段,先从资料集中找到高频项目组,再去研究它们的关联规则,其得到的分析结果即是对变量间规律的总结。
图1-18 人工神经网络逻辑架构
(7)期望最大化 期望最大化算法是统计学中通过不断迭代得到模型中参数的最大似然或最大后验概率的方法,其中模型依赖于未观测的隐藏变量。
例如,食堂的大师傅炒了一份菜,要等分成两份给两个人吃,显然没有必要拿来天平精确地去称分量,最简单的办法是先随意地把菜分到两个碗中,观察是否一样多,然后把比较多的那一份取出一点放到另一个碗中,这个过程一直迭代地执行下去,直到大家看不出两个碗所容纳的菜有什么分量上的不同为止。
4. 机器学习的范围
机器学习的范围包括模式识别、数据挖掘、统计学习、计算机视觉、语音识别和自然语言处理等,如图1-19所示。
图1-19 机器学习的范围
(1)模式识别 模式识别是指用计算机通过计算的方法,根据样本的特征对样本进行分类,它包括文字识别、指纹识别和图像识别等,是典型的机器学习。
(2)数据挖掘 数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息过程。数据挖掘的算法主要包括神经网络法、决策树法、遗传算法、粗糙集法、模糊集法和关联规则法等。
(3)统计学习 统计学习是指使用统计方法的一种机器学习,可视作基于数据的机器学习问题的一个特例。从一些观测(训练)样本出发,试图得到一些目前不能通过原理分析得到的规律,并利用这些规律来分析客观对象,从而对未来的数据进行较为准确的预测。
(4)计算机视觉 计算机视觉是指用摄像头和计算机代替人眼对目标进行识别、跟踪和测量等的机器视觉,并进一步做图像处理,使计算机处理成为更适合人眼观察或传送给仪器检测的图像。
(5)语音识别 语音识别也被称为自动语音识别,其目标是将人类语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
(6)自然语言处理 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统,因而它是计算机科学的一部分。