第7章机器学习_第1页
第7章机器学习_第2页
第7章机器学习_第3页
第7章机器学习_第4页
第7章机器学习_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能技术篇机器学习第七章本章导读随着计算机性能的大幅提升和可用数据量的不断增加,机器学习得到了飞速的发展。它利用计算机对大量的数据进行分析,并从中获取有用的信息,使机器具有一定的智能。近些年来,机器学习在众多领域都得到了广泛的应用。本章从机器学习的概念入手,先介绍机器学习的相关术语、分类和应用场景,然后详细介绍机器学习的两种学习方法,即有监督学习和无监督学习。学习目标

熟悉机器学习的概念、相关术语、分类和应用场景。 理解有监督学习模型。 掌握分类任务和回归任务的基本思想和实现方法。 理解无监督学习模型。 掌握聚类任务的基本思想和实现方法。目录

4机器学习概述有监督学习无监督学习010203机器学习概述01人工智能的概念7.1.1机器学习(machinelearning)是通过各种算法从数据中学习如何完成任务,并获得完成任务方法的一门学科。它可以对数据进行自动分析,并从中获得规律或模型,然后利用规律或模型对未知数据进行预测。它是人工智能的核心,是使计算机具有智能的重要途径。目前,机器学习还没有一个公认且准确的定义,下面列举了部分学者对机器学习的描述。(1)机器学习是研究如何用机器模拟人类学习活动的一门学科。(2)机器学习是研究机器如何获取新知识和新技能,并识别现有知识的学科。(3)机器学习是研究机器如何模拟人类的学习活动,自主获取新知识和新技能,不断提升系统性能的学科。机器学习的基本思路就是使用一定的算法解析训练数据(进行模型训练);然后学习数据中存在的一些特征,得到模型;最后使用得到的模型对实际问题做出分类、决策或预测等。机器学习的研究对象是数据,其中,具有相似结构的数据样本集合称为数据集;对某个对象的描述称为样本或示例;对象的某方面表现称为特征或属性;特征或属性上的取值称为特征值或属性值;描述样本特征参数的个数称为维数。以计算机识别图像中的动物是否是猫为例,其中数据集、样本、特征、特征值如图所示。机器学习的相关术语7.1.2术语标记在机器学习中,执行某个学习算法,从数据中学习得到模型的过程称为训练或学习;训练过程中使用的数据称为训练数据;每个样本称为训练样本;训练样本组成的集合称为训练集。为得到效果最佳的模型,常用来调整模型参数的样本称为验证样本;验证样本组成的集合称为验证集。获得模型后,使用模型对未知数据进行预测的过程称为测试;用于预测的样本称为测试样本;测试样本组成的集合称为测试集,可用于评价模型的性能。模型适用于新样本的能力,称为泛化能力。

从不同的角度,根据不同的方式,可以将机器学习划分为不同的类别,如右表所示。机器学习的分类有很多种,其中,有监督学习和无监督学习是机器学习中常用且易懂的方法,本章将详细介绍这两种机器学习方法。机器学习的分类7.1.3机器学习的分类分类方式分类描述按学习

形式分类有监督学习从含有标签的数据集中推出一个功能的学习方法无监督学习从不含标签的数据集中推出一个功能的学习方法半监督学习综合利用有标签的数据和无标签的数据,生成合适的函数强化学习以环境反馈(奖惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法按学习

目标分类概念学习学习的目标和结果为概念,典型的概念学习有示例学习规则学习学习的目标和结果为规则,典型的规则学习有决策树学习函数学习学习的目标和结果为函数,典型的函数学习有神经网络学习类别学习学习的目标和结果为对象类别,典型的类别学习有聚类分析按学习

方法分类机械式学习通过直接记忆或外部提供的信息达到学习的目的指导式学习由外部环境向系统提供指示或建议示例学习通过从环境中获取若干与某知识有关的例子,经归纳得到一般性知识类比学习把两个事物进行比较,找出它们在某一抽象层上的相似关系,并以这种关系为依据,把某一事物的有关知识加以适当整理,然后对应到另一事物,从而获得求解另一事物的知识解释学习在领域知识指导下,通过对单个问题求解实例的分析,构造出求解过程的因果解释结构,并获取控制知识,便于指导以后求解类似问题按推理

方式分类基于演绎的学习以演绎推理为基础的学习基于归纳的学习以归纳推理为基础的学习

机器学习中处理的数据主要包括结构化数据和非结构化数据。结构化数据是指用二维表结构表达的数据,有严格定义的数据模型,主要通过关系型数据库存储和管理,如政府行政审批、财务、医疗、企业ERP等系统中的数据。非结构化数据是指数据结构不完整或不规则,没有预定义的数据模型,如文本、语音、图像和视频等。在人们日常生活中,接触的数据以非结构化数据为主。针对不同的非结构化数据,机器学习的不同应用场景如表所示。机器学习的应用场景7.1.4机器学习的应用场景数据类型应用场景描述举例文本数据垃圾邮件检测根据邮箱中的邮件识别垃圾邮件和非垃圾邮件网易邮箱中自动分类垃圾邮件信用卡欺诈检测根据用户的信用卡交易记录,识别用户操作的交易和非用户操作的交易,可以找到欺诈交易银行对用户的交易检测机制电子商务决策根据用户的购物清单或收藏记录,识别用户感兴趣的商品,为用户推荐这些商品促进消费淘宝网根据用户的浏览记录推荐类似的商品语音数据语音识别机器通过识别和理解将语音转化为相应的文本或操作百度地图可以通过语音输入目的地语音合成通过机械或电子的方法产生人造语音的技术,即将外部输入的文字转化为语音输出知乎中的文章阅读功能语音交互通过语音进行相互交流语音助手,如iPhone手机推出的Siri机器翻译利用机器将某一种自然语言(源语言)翻译为另一种自然语言(目标语言),如将汉语翻译为英语有道词典等翻译软件声纹识别将声音信号转换为电信号,再利用计算机进行识别公安声纹鉴定技术数据类型应用场景描述举例图像数据文字识别利用计算机自动识别图像上的字符银行App通过拍摄身份证图像识别个人身份信息指纹识别通过比对指纹的细节特征识别个人身份信息手机的指纹解锁功能人脸识别通过人脸部特征信息进行身份识别人脸支付形状识别根据已知的形状资料库判断用户手绘的图形形状地图制图综合视频数据智能监控跟踪视频中的运动物体热成像人体测温技术计算机视觉利用摄像头和计算机模仿人类的视觉系统,实现对目标的识别、跟踪等汽车的自动驾驶技术有监督学习02有监督学习是利用含有标签的数据集对学习模型进行训练,然后得到预测模型,最后利用测试集对预测模型的性能进行评估的学习方法。有监督学习模型的一般建立流程如图所示。有监督学习模型的一般建立流程什么是有监督学习7.2.1高手点拨在有监督学习中,一般将数据集划分为两部分,一部分是训练数据集,也可称为学习数据集,即训练样本,占总数据集的80%以上;另一部分是测试数据集,即测试样本,占总数据集的20%以下。训练数据集包含两部分,即训练集和验证集。训练集主要用于估计模型;验证集用来确定网络结构或者确定控制模型复杂程度的参数。测试数据集主要用来评估最终预测模型的性能。由此可见,数据集也可划分为3部分,即训练集、验证集和测试集,它们的划分比例可设置为6∶2∶2。但需要注意的是,验证集并不是必须存在的。分类是通过在已有数据的基础上进行学习,推导出一个分类函数或构造出一个分类模型,该函数或模型可以将待分类的数据集映射到某个给定的类别中,从而实现数据分类。其中,分类函数或分类模型也称为分类器。分类任务通常用于将事物打上一个标签,结果为离散值。例如,判断一幅图上的动物是猫还是狗。分类的最终正确结果只有一个,错误的就是错误的,不会有相近的概念。在机器学习领域中,分类任务的实现需要先确定一个分类函数或模型类似于数据样本中的分界线,然后对输入的新数据进行预测,即根据分界线对新数据进行分类,如图所示。分类任务7.2.2分类任务分类任务的求解过程可简化为以下4步。(1)数据预处理。将带有标签的数据分为训练集和测试集,其中,训练集用来训练模型;测试集用来检验模型的分类效果。(2)训练模型。利用训练样本的标签和特征向量,通过机器学习算法寻找模型的参数,最终得到训练好的预测模型。(3)测试模型。利用测试样本评估预测模型的性能,即计算模型对样本预测的准确率,选择符合要求的预测模型。(4)应用模型。预测模型确定好之后,可将其应用于实际问题中,预测未知数据的所属类别。在机器识别研究中,分类任务中常用的核心算法有K近邻分类算法、决策树分类算法、贝叶斯分类算法、支持向量机分类算法和人工神经网络等。下面详细介绍K近邻分类算法和决策树分类算法。1.K近邻分类算法K近邻分类(K-nearestneighborsclassification,KNNC)算法是有成熟理论支撑的、较为简单的经典机器学习算法之一,且奉行“观其友,识其人”的分类原则。

K近邻分类算法的核心思想是从给定的训练样本中寻找与测试样本“距离”最近的k个样本,这k个样本中的多数属于哪一类,则将测试样本归于这个类别中。这好比k个样本为测试样本的朋友,它的朋友中多数属于哪一类,则它就属于哪一类。K近邻分类算法可用以下5步描述。(1)计算已知训练集中各点与当前待分类点之间的距离。(2)按照距离递增的顺序排序。(3)选取与当前点距离最小的k个点。(4)确定前k个点所在类的出现频率。(5)根据分类决策规则确定分类结果。【例1】

图中正方形和圆分别表示数据样本的两个类别,请判断图中三角形属于哪个类别。数据样本分布示意图【解】(1)如果k=3,离三角形最近的3个邻居是2个圆和1个正方形,如图1所示。其中,圆所在的类出现的频率较高,遵循少数服从多数原则,可判定待分类的三角形属于圆所在的类。(2)如果k=9,离三角形最近的9个邻居是4个圆和5个正方形,如图2所示。其中,正方形所在的类出现的频率较高,遵循少数服从多数原则,可判定待分类的三角形属于正方形所在的类。图1分类任务(k=3)图2分类任务(k=9)学有所获从例1中可看出,K近邻分类算法的结果很大程度上取决于k的值,而k值的选择需要根据数据决定。不同的k值对预测结果的影响不同。k值越小,意味着只有与输入样本较近的训练样本才会对预测结果起作用,但容易出现过拟合现象;k值越大,意味着与输入样本较远的训练样本也会对预测结果起作用,模型预测结果的偏差会越大,甚至出现欠拟合的现象。2.决策树分类算法决策树分类(decisiontreeclassification,DTC)算法是一种通过对样本数据进行学习,构建一个决策树模型,实现对新数据分类和预测的算法,是最直观的分类算法。决策树是一种树形结构,表示通过一系列规则对数据进行分类的过程。决策树由3个主要部分组成,即决策节点、分支和叶子节点。其中,决策节点即为非叶子节点,代表某个样本数据的特征(属性);每个分支代表这个特征(属性)在某个值域上的特征值(属性值);每个叶子节点代表一个类别,如图所示。决策树示意图决策树分类算法主要借助决策树模型实现分类。它主要包含两部分,即决策树学习和决策树分类。(1)决策树学习的目标是根据给定的训练集构建一个决策树模型,且该模型能够对实例进行正确的分类。决策树学习通常包括3个步骤,即特征选择、决策树的生成和决策树的剪枝。①特征选择是指选取对训练集具有分类能力的特征,有利于提高决策树的学习效率。常用的特征选择指标有信息增益、信息增益比、基尼系数等。②决策树的生成是指在决策树各个点上按照一定方法选择特征,递归构建决策树。常通过计算信息增益或其他指标,选择最佳特征。③决策树的剪枝是指在已生成的决策树上减掉一些子树或叶节点,从而简化决策树模型,缓解过拟合。常用的剪枝方法有预剪枝和后剪枝。(2)决策树分类的目的是利用决策树模型对实例进行分类。下面通过例2说明如何用决策树进行分类。【例2】现有一名贷款用户小王,他没有房产、没有结婚、平均月收入8000元。请根据图7-7中的决策树预测小王是否有能力偿还贷款。【解】①小王没有房产,所以“是否拥有房产”的特征值取“否”。根据决策树的根节点判断,小王符合右边的分支。②小王没有结婚,所以“是否结婚”的特征值取“否”。根据决策树的决策节点判断,小王符合右边的分支。③小王平均月收入8000元,所以“平均月收入”的特征值取“大于5000元”。根据决策树的决策节点判断,小王符合左边的分支。可见,最终对贷款用户小王是否有能力偿还贷款的预测落在了“可以偿还”的叶子节点上。因此,贷款用户小王有能力偿还贷款。(3)综上所述,决策树分类算法的实现流程可用左图表示。①创建数据集。②对数据集进行预处理,得到训练集、验证集和测试集。③计算训练集中所有特征的信息增益。④选择信息增益最大的特征作为最佳分类特征。⑤构建决策树。⑥根据最佳分类特征分割训练集,并将该特征从数据列表中移除。⑦训练集分割后得到训练子集,可将其视为新的训练集。⑧判断分类是否结束,若结束,得到决策树,继续⑨;否则转向③。⑨对训练集进行训练(学习)后得到决策树。⑩利用验证集对决策树进行剪枝。决策树分类算法实现流程高手点拨该决策树分类算法流程中对决策树采用的是后剪枝方法。后剪枝方法中,要求先利用训练集生成一棵完整的决策树,然后利用验证集自底向上地对非叶子节点进行考察,若将该节点对应的子树替换为叶子节点能使模型泛化性能提升,则将该子树替换为叶子节点。回归是通过已有数据进行学习,拟合出一个回归函数或构造出一个回归模型,该函数或模型可以将待测试的数据集映射到某个给定的值,从而实现数据预测。回归任务通常用来预测一个值,如预测房价、预测股价等。若一个产品的实际价格为500元,通过回归分析预测值为499元,则认为这是一个比较好的回归分析。在机器学习领域中,回归任务的实现需要先对数据样本点进行拟合,再根据拟合出来的函数对输入的新数据进行输出预测,如左图所示。回归任务回归任务7.2.3图中,圆表示带有标签的训练数据;回归曲线表示经过训练后获得的回归函数或回归模型。若该回归任务表示对商品价格走势的预测(x表示年份,y表示商品价格),则由回归函数可以预测未来某年的商品价格。学有所获分类任务与回归任务的联系与区别如下。(1)联系:它们都是有监督学习,且用于训练的数据集都有标签。(2)区别:它们预测结果的数据类型不同。分类任务预测的是一个类别标签,属于离散型数据;回归任务预测的是一个值,属于连续型数据。例如,“预测明天天气是阴、晴还是雨”是一个分类任务;“预测明天的气温是多少度”是一个回归任务。回归任务中常用的核心算法有K近邻回归算法、决策树回归算法、贝叶斯回归算法、支持向量机回归算法和人工神经网络等。下面详细介绍K近邻回归算法和决策树回归算法。1.K近邻回归算法K近邻思想不仅可应用于分类任务,还可应用于回归任务。K近邻回归(K-nearestneighborsregression,KNNR)算法的核心思想是找出一个样本的k个最近邻居,将这些邻居的某个(些)特征的平均值赋给该样本,就可以得到该样本对应特征的值。K近邻回归算法可用以下5步描述。(1)计算已知训练集中各点与当前待预测点之间的距离。(2)按照距离递增的顺序排序。(3)选取与当前点距离最小的k个点。(4)计算选取的k个点在某特征上的平均特征值。(5)将该平均特征值赋值给待检测点,便得到了该样本的某特征值。【例3】由于资金紧张,小李计划将他的一套一居室的房子出售,已知该房子附近的房价如表所示。请采用K近邻回归算法帮小李给这套房子定价格。户型房价(万)距离小李房子的距离(米)一居室438一居室5610一居室6011一居室5219两居室9025小李房子附近的房价【解】取k=3,离小李房子最近的3个邻居是表中前3条数据,这3个房源的房价平均值为万,因此可将小李的房子定价为53万。2.决策树回归算法决策树回归(decisiontreeregression,DTR)算法通过寻找样本中最佳的特征及特征值作为最佳分割点,构建决策树,同时将训练样本划分为若干个区间,基于每个区间计算样本均值,该均值即为预测值。回归算法生成的决策树是二叉树结构(见图1),其内部非叶子节点特征的取值都为“是”或“否”,所以对数据样本划分的边界是平行于坐标轴的,如图2所示。其中,A、B、C、D、E对应每个区间的输出。

图1决策树(二叉树结构)

图2划分边界示意对于某测试数据,只需要根据特征将其归到某个区间,便可得到对应的输出值。例如,某测试数据的特征是一个二维向量,第一维分量7介于6和8之间,第二维分量7小于8,则根据图1的决策树可判断所在的划分区间,其对应的输出值为C。决策树回归算法的核心问题是选择切分点与确定输出值。(1)切分点是指将训练集划分为两部分的某一特征的值。其中,该特征称为切分变量。最优的特征和特征值是通过比较不同划分的误差确定的。其中,一个样本空间划分的误差是用真实值和划分区域预测值的最小二乘来衡量。因此,可用最小二乘法选择切分点。(2)输出值是指划分的区域所代表的值,通过计算区域内所有特征值的均值确定。下面通过例4描述决策树回归算法的具体实现流程。【例4】现有用于训练的数据集如表所示。

其中,x表示特征向量,且只有一维,y表示特征值。请根据此数据表建立回归决策树,并预测x=10时,y的值。x12345678911y5.565.75.916.46.87.058.98.799.05

x12345678911y5.565.75.916.46.87.058.98.799.05第一部分数据第二部分数据同理计算其他分割点的损失函数值,其结果如表所示。从表中容易看出,当s=6.5时,Loss=1.93最小,所以第1个切分点为s=6.5。切分点s=6.5可将数据划分为两部分,如下图所示。之后分别对这两部分数据进行划分,确定每一部分数据的切分点。s1.52.53.54.55.56.57.58.510C15.565.635.725.896.076.246.626.887.11C27.57.737.998.258.548.918.929.039.05Loss15.7212.078.365.783.911.938.0111.7315.74x12345678911y5.565.75.916.46.87.058.98.799.05高手点拨

x12345678911y5.565.75.916.46.87.058.98.799.05x<6.5x>6.5

x12345678911y5.565.75.916.46.87.058.98.799.05x<6.5x>6.5s7.58.510C18.98.88.87C28.929.039.05Loss0.070.020.05

机器学习的深入研究和计算机性能的提升,为手写数字识别技术的实现提供了理论基础和硬件支持。现有大量的手写数字图片,请分析利用计算机实现手写数字识别的基本原理与方法。【解】手写数字识别的基本原理可理解为利用图片的标签和图片中数字形状的基本特征,如圈、端点、弧、凸起、凹陷和笔画等,去训练识别模型,并不断地调整模型中的参数,最终获得具有良好识别效果的模型。计算机通过对手写数字图片进行学习,可构建出一个手写数字识别模型,实现智能识别。其学习过程可用左图描述。7.2.4案例:手写数字识别

手写数字识别模型学习过程(1)对数据集(手写数字图片)进行预处理,将其分成训练集和测试集。(2)提取图片中数字形状的基本特征,如圈、端点、弧、凸起、凹陷和笔画等。(3)训练模型并调整参数。计算机利用图片的标签和对应的数字基本特征训练模型,训练过程中不断地调整模型中的参数,提高模型的识别能力。(4)判断训练是否结束。训练结束的条件有多种,这里将训练集中的数据全部训练完作为训练结束的标志。若训练结束,则继续;若未结束,则转向(2)。(5)获得识别模型。(6)输出识别结果。利用识别模型对测试集中数据进行识别并输出识别结果。无监督学习03

无监督学习是在没有标签的数据集里发现数据之间潜在关系的学习方法。例如,根据聚类或一定的模型得到数据之间的关系。无监督学习是一种没有明确目的的学习方法,无法提前知道结果,且它的学习效果几乎无法量化。无监督学习模型的一般建立流程可用图描述。7.3.1什么是无监督学习无监督学习模型的一般建立流程添砖加瓦有监督学习与无监督学习的区别如下。(1)有监督学习是一种目的明确的训练方式,即可以提前预知结果;而无监督学习则是没有明确目的的训练方式,即无法提前预知结果。(2)有监督学习使用的数据需要提前打上标签;而无监督学习不需要给数据打上标签。(3)在有监督学习中,预测模型性能的判断标准是预测值越贴近目标标签或目标值越好;而在无监督学习中,模型性能没有明确的判断标准。

聚类是按照某个特定标准把一个数据集分割成不同的类,使得同一个类内的数据对象之间相似性尽可能大,同时不在同一个类中的数据对象之间差异性也尽可能大。可见,聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离。7.3.2聚类任务

聚类任务是指根据输入的特征向量寻找数据(没有标签)的规律,并将类似的样本汇聚成类,如图所示。

聚类任务常用于对目标群体进行多指标划分。例如,现有多个客户的购物记录数据,且未对数据进行标记,通过聚类任务将具有相同购物习惯的客户汇聚成类,不同类中的客户购买的商品种类不同,店铺运营即可根据该反馈信息向客户推荐相关商品。聚类任务聚类任务的求解过程可简化为以下5步。(1)数据预处理,包括选择数量、类型和特征的标度。(2)定义一个衡量数据点间相似度的距离函数。(3)进行聚类或分组,即将数据对象划分到不同的类中。(4)评估聚类结果。一般来说,通过几何性质来评价聚类结果的质量,包括类间的分离和类内部的耦合。聚类任务中常用的方法有很多,如划分聚类方法、层次聚类方法、基于密度的方法、基于网格的方法和基于模型的方法等,它们的简介如表所示。聚类方法简介代表算法划分聚类方法根据某特征向量将含有N个样本或示例的数据集划分成K(K<N)个分组,每一个分组就代表一个聚类K均值聚类算法、K-MEDOIDS算法、CLARANS算法等层次聚类方法对给定的数据集进行类似层次的分解,直到满足某种条件为止。根据层次分解的顺序可分为自底向上和自顶向下两种BIRCH算法、CURE算法、CHAMELEON算法等基于密度的方法只要一个区域中点的密度大过某个阈值,就把它加到与之相近的聚类中DBSCAN算法、OPTICS算法、DENCLUE算法等基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论