第1章 机器学习引言

本章将介绍机器学习及其涵盖的多个话题。你将了解以下内容:

·什么是机器学习

·分类方法概述

·聚类方法概述

·模型的选择和正则化概述

·非线性方法概述

·监督学习概述

·无监督学习概述

·增强学习概述

·结构化预测概述

·神经网络概述

·深度学习概述

1.1 什么是机器学习

人类自出生起就暴露在各种数据中。眼睛、耳朵、鼻子、皮肤、舌头不断收集着各种形式的数据,然后大脑将其转换成视觉、听觉、嗅觉、触觉和味觉。大脑处理各种形式的感觉器官收到的原始数据,并将其转换成语音,进而用语音表达对于这些原始数据的观点。

当今世界,我们用与机器相连的传感器收集数据。从各式各样的网站和社交网络收集数据。之前的手写材料也在电子化、数字化后被加入数据集中。这些形式丰富、从不同数据源中采集的数据需要经过处理才能得到更有洞察力的、更有意义的结果。

机器学习算法有助于从不同数据源收集数据,转换富数据集的形式,并基于分析结果,帮助我们采取明智的行动。机器学习算法是高效、准确的方法,并提供通用的学习方法来解决以下问题:

·处理大规模问题

·做出准确的预测

·解决各种不同的学习问题

·学习哪些结果可以得出,以及在何种条件下这些问题能够学习

机器学习算法的一些应用领域如下:

·基于销售数据的价格预测

·预测药物的分子反应

·检测汽车保险欺诈

·分析股市回报

·识别高风险贷款

·预测风力发电厂产量

·跟踪和监测医疗保健设备的利用率和位置

·计算能源有效利用率

·分析智能城市交通运输增长趋势

·估算采矿业矿产储量

1.2 分类方法概述

线性回归模型本质上进行量化的响应,但是这样的响应本质上是定性的。就像态度(强烈不同意,不同意,中立,同意和强烈同意)这样的响应,其本质上就是定性的。对于一个观察来说,预测一个定性的响应可以视作对这个观察进行分类,因为这涉及把这个观察分配给一个类别或种类。分类器对于今天的许多问题(如药物或基因组学预测、垃圾邮件检测、面部识别和财务问题)来说是非常重要的工具。

1.3 聚类方法概述

聚类是将相似对象聚合成一簇的过程。每一个簇由彼此之间相似并且与其他类的对象不相似的对象组成。聚类的目标是确定一组未标记数据的内在分组。聚类可用于数据挖掘(DNA分析、营销研究、保险研究等),文本挖掘,信息检索,统计计算语言学,以及基于语料库的计算词典学等不同应用领域。聚类算法必须满足如下要求:

·可扩展性

·处理各种类型的属性

·发现任意形状的簇

·处理噪音和异常值的能力

·可解释性和可用性

右图是聚类的一个示例。

1.4 监督学习概述

监督学习需要学习一组输入变量(通常为向量)和输出变量(也称为监控信号)之间的映射,并应用此映射来预测未知数据的输出。监督学习的方法尝试发现输入变量和目标变量之间的关系。发现的关系在称为“模型”的结构中表示。通常隐藏在数据

集中的模型描述和现象解释,在知道输入属性的值后,这些模型可以用于预测目标属性的值。

监督学习是从监督的训练数据(训练样本集)推测函数的机器学习任务。训练数据由一组训练样本组成。在监督学习中,每个例子是一组,它由一个输入对象和一个期望的输出值组成。监督学习算法分析训练数据并学习出预测函数。

为了解决监督学习问题,必须执行以下步骤:

1)确定训练样本的类型。

2)收集训练集。

3)确定预测函数的输入变量。

4)确定预测函数的结构和相应的学习算法。

5)完成设计。

6)评估预测函数的准确性。

监督学习的方法可以应用在各个领域,如市场营销、财务和制造业。

在监督学习中要考虑的一些问题如下:

·权衡有偏变量

·函数复杂性和训练数据量

·输入空间的维度

·输出数据中的噪声

·数据的异构性

·数据的冗余性

·交互性和非线性问题的存在

1.5 无监督学习概述

无监督学习针对全体输入样本,学习出一种特定的模型来表征输入样本整体的统计结构。无监督学习是重要的,因为它在大脑的学习过程中比监督学习更常见。例如,眼睛中光感受器的活动是随着视觉世界而不断变化的。它们持续提供可用于显示世界上有什么对象、如何呈现、照明条件怎样等的所有信息。然而,基本上没有关于场景内容的信息在视觉学习期间是可用的。这就使得无监督的方法至关重要,并用作适合神经突触的计算模型。

在无监督学习中,机器接收输入,但是既没有有监督的目标输出,也没有从环境中获得奖励或者反馈。想象一下机器在没有得到环境的任何反馈时可能会学到什么,这似乎有些神秘。然而,建立一个正式的无监督学习框架是可行的,因为无监督学习是基于这样的概念:机器学习的目标是建立一种用于决策制定、预测未来输入、高效传输输入到其他机器等目的的输入的表示。某种意义上来说,可认为无监督学习是在上述数据中发现模式和规律,并且考虑噪声的影响。

无监督学习的一些目标如下:

·在不需要目标输出的前提下,在大型数据集中发现有用的结构。

·提高输入数据集的学习速度。

·通过为每个可能的数据向量分配分数或概率来构建数据向量模型。

1.6 增强学习概述

增强学习是训练一个会自我行动的“代理人”来最大化它从世界中获取奖励的问题。它是关于如何行动以及如何将事件情况映射到动作,以最大化量化的奖励信号的问题。像大多数机器学习方法一样,学习者刚开始不知道要采取哪些行动,而是要通过尝试来发现哪些行为能够产生最大的奖励。强化学习的两个最重要的区别特征是“尝试,错误,搜索”的过程和延迟奖励。强化学习的一些例子如下:

·当一名棋手思考下一步棋时,他是通过计划下一步可能的反馈以及计数器的反馈来做决策的。

·自适应控制器实时调整炼油厂的操作参数。控制器在指定边际成本的基础上权衡优化收益/成本/质量,而不是严格遵守工程师最初建议的设定参数。

·一只瞪羚在出生后几分钟就挣扎着站起来。半小时后,它已经能够以20英里/时[1]奔跑。

·教一只狗一个新的技巧——不告诉它做什么,但是如果它做正确/错误的事情,就给它奖励/惩罚。它不得不弄清楚它如何得到奖励/惩罚,这称为信用分配问题。

增强学习就像试错学习一样。代理人应该从环境经验中发现良好的策略,以便在过程中不失去太多的奖励。“探索”旨在寻找有关环境的更多信息,而“利用”旨在借助已知信息来最大化奖励。例如:

·餐厅选择。利用:去你最喜欢的餐厅。探索:尝试一个新的餐厅。

·石油钻探。利用:在最有名的地点进行钻探。探索:在新的位置钻探。

增强学习的主要内容如下:

·策略:策略是代理人的行为函数。它确定从环境的感知状态到所采取行为之间的映射。它对应于心理学所称的一组刺激反应规则或关联。

·价值函数:价值函数是对未来奖励的预测。某个状态的价值是从该状态开始代理人期望在未来积累的奖励总额。而奖励决定了环境状态的即时、内在的可取性,价值表示了状态长期的可取性,其中考虑了该状态之后的状态序列以及伴随这些状态的奖励。

·模型:模型预测下一步环境将会如何变化。它预测下一个状态和下一个状态的即时奖励。

[1] 1英里/时=0.44704米/秒。——编辑注

1.7 结构化预测概述

结构化预测是机器学习问题的重要应用领域。考虑输入x和输出y,x和y可能是如下类型的数据:一组标注过的时间序列,一张图片的一组属性,句子的解析成分,或者从一张图片上分割出的一组对象,结构化预测问题是很有挑战性的,因为y是包含它的输出变量的数量的指数级别。由于预测需要搜索巨大的参数空间,因此结构预测问题在计算上是具有挑战性的。因为从有限的数据中学习精确的模型需要推导不同结构化输出之间的共同点,所以预测也需要统计方面的因素。结构化预测本质上是一个映射问题,其中映射必须捕捉x和y之间的区别性交互,并且还允许在y上进行有效的组合优化。

结构化预测是关于从输入数据中预测结构化输出的问题,不同于只预测一个数值的分类或回归问题。例如:

·自然语言处理,自动翻译(输出:句子)或句子解析(输出:解析树)。

·生物信息学,二级结构预测(输出:二分图)或酶功能预测(输出:树中的路径)。

·语音处理,自动转录(输出:句子)或文本转语音(输出:音频信号)。

·机器人,规划(输出:动作顺序)。

1.8 神经网络概述

神经网络代表了进行信息处理的仿大脑结构。这些模型受生物学的启发,而不是大脑实际功能结构的精确复制。神经网络能够从数据中学习的能力很强,已证明它是许多预测和业务分类应用场景中非常有应用价值的系统。

人工神经网络通过更新网络架构和连接权重来学习,使网络能够有效地执行任务。它可以从可用的训练模式中学习,或者从训练样本或输入—输出关系中自动学习。学习过程由以下方式设计:

·了解可用信息。

·学习范例,从环境中获取模型。

·学习规则,找出更新权重的过程。

·学习算法,通过学习规则确定调整权重的过程。

学习规则有四种基本类型:

·纠错规则

·玻耳兹曼

·赫布

·竞争学习

1.9 深度学习概述

深度学习是指一组相当广泛的机器学习技术和架构,它们的特点是使用了多层非线性信息处理结构化模型架构。深度学习架构有三大类:

·无监督或生成式深度学习网络

·有监督深度学习网络

·混合深度学习网络

第2章 分类

本章将涵盖如下内容:

·判别函数分析:分析地下卤水

·多元逻辑回归:理解学生的课程计划选择

·Tobit回归:评估学生的学术能力

·泊松回归:理解加拉帕戈斯群岛现存物种

2.1 引言

判别分析(Discriminant analysis)用来对观察对象进行区分并分组,进而分配新的观察对象到先前定义好的组中。举例来说,如果进行一项研究来调查有哪些变量能够被用来区分(1)灵长类动物(2)鸟类或(3)松鼠食用的水果,研究者可以收集

多个被这三类动物食用的水果的特点。那么大多数水果会自然分到这三类中。判别分析可被用来确定哪些变量能够最好地预测一种水果是否会被鸟类、灵长类或者松鼠食用。此外,判别分析还常被用于生物物种分类,医学肿瘤分类,以及信用卡和保险行业的风险界定。判别分析的主要目标是判别和分类。关于判别分析的三个假设是:各判别变量之间具有多元正态分布,变量间的低多重共线性,各组变量的协方差矩阵相等。

多元逻辑回归(Multinomial logistic regression)基于多个自变量,预测样本所在的分类或者分类在某因变量上的概率。它一般使用在因变量有两个以上名字型分类或无序分类的情况下,而且这种问题中自变量的虚拟编码相当普遍。自变量可以是二分的(二进制)或连续的(区间或比例)。多元逻辑回归使用最大似然估计来进行分类问题求解,而不是传统多项式回归中使用的最小二乘估计。样本概率分布的一般形式被事先假设,在参数估计的过程中,首先设定参数的初值,在设定的参数初值下,计算从事先假定分布进行样本抽样的似然值。该过程被迭代进行直到在某个参数估计下得到最大似然值。

Tobit回归(Tobit regression)是用来描述非负自变量和因变量之间关系的。它也被称为审查回归模型。该模型被设计用来在因变量存在或左或右的删剪时估计变量之间的线性关系。因变量删剪发生在下面的情况下,当一个变量的值等于或者高于某个阈值时,该变量取值为该阈值,所以变量的真实值可能等于该阈值,也可能高于该阈值。Tobit模型用在许多样本的因变量为零或特定值的应用中(如汽车支出、医疗支出、工作时间、工资等)。该模型是为了度量受限的因变量,这些因变量只在它高于或低于某个截断阈值时才能观察到。例如:

·工资最低额被最低工资限制,所以工资额不会低于最低工资

·捐献给慈善机构的捐赠额度

·最高的编程收入

·个人的可用时间和休闲活动时长

泊松回归(Poisson regression)处理因变量是一个计数总和的情况。除了因变量(Y)是一个符合泊松分布的计数之外,泊松回归与传统的多项式回归很相似。因此,Y的可能值是非负整数:0,1,2,3等。一般来说,非常大的计数是很少见的。泊松回归与逻辑回归相似,因为逻辑回归也是有一个离散的响应变量。有所不同的是,泊松回归的响应不像逻辑回归那样局限于特殊的值。

2.2 判别函数分析:地下卤水地质化学测量

假设有一项对从矿井收集的古代工艺品的研究。从矿井采集岩石样品并对采集的岩石样品进行地质化学测量。一个相似的地质化学测量已经在收集来的古代工艺品上进行过。为了将岩石样本进行分类,归类到它们被挖掘出来的矿井,判别函数分析(DFA)可以作为一个很好的工具。然后,建立好的函数就可以用于判定这些古代工艺品来源于哪个矿井。

准备工作

为了应用判别函数分析,我们需要使用一组从矿井采集的数据集合。

第1步:收集和描述数据

我们使用标题为BRINE的地质学数据分析数据集。该数据集可以

从http://www.kgs.ku.edu/Mathgeo/Books/Stat/ASCII/BRINE.TXT获取。其中的数据以标准格式存储,每行是一个样本,每列是一类变量。每个样本被指派给一个地质单元并列在最后一列。该数据集一共包含19个样本和8个变量。这8个数值型变量如下:

·No

·HCO3

·SO4

·CL

·CA

·MG

·NA

·Group

具体实施步骤

以下为实现细节。

第2步:探索数据

首先载入下面的包:

版本信息:本节的代码在R 3.2.3中测试(2015-12-10)。

让我们探索一下这些数据并初步理解变量之间的关系。我们从导入名为brine.txt的文本数据开始。我们将这些数据保存到brine数据框中,具体操作如下:

接下来,输出brine数据框。head()函数返回brine数据框的内容。brine数据框被当作输入变量传入head()函数。具体命令如下:

结果如下:

DFA假设变量符合多元正态分布。因此在分析之前需要验证数据是否符合多元正态性。

为了验证数据集是否适合进行转换,我们首先画出这些数据。pairs()函数用来画出数据,该函数可产生一个离散点矩阵。交叉作图法只交叉比较1~6列的变量。最后一个变量(第7列)是组名,所以不列入比较。操作如下:

画出的图表如下面的截图:

更多推荐