机器学习实践指南【1.0】

张开发
2026/4/7 2:17:21 15 分钟阅读

分享文章

机器学习实践指南【1.0】
第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和输出yx和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的可能值是非负整数0123等。一般来说非常大的计数是很少见的。泊松回归与逻辑回归相似因为逻辑回归也是有一个离散的响应变量。有所不同的是泊松回归的响应不像逻辑回归那样局限于特殊的值。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函数用来画出数据该函数可产生一个离散点矩阵。交叉作图法只交叉比较16列的变量。最后一个变量第7列是组名所以不列入比较。操作如下画出的图表如下面的截图

更多文章