本书对不确定条件下的决策算法作了广泛的介绍。我们涵盖了与决策有关的各种主题,介绍了基本的数学问题公式和解决这些问题的算法。书中提供了数字、例子和练习,以传达各种方法。

本书适用于高年级本科生和研究生,以及专业人士。它需要掌握一些数学上的知识,并事先接触过多元微积分、线性代数和概率概念。在附录中提供了一些复习材料。本书特别有用的学科包括数学、统计学、计算机科学、航空航天、电气工程和运筹学。

这本教科书的基础是算法,这些算法都是用Julia编程语言实现的。在算法实现的设计中,优先考虑的是可解释性,而不是效率。例如,工业应用可能受益于其他的实现方式。允许免费使用与本书有关的代码片段,但必须注明代码的来源。

引言

许多重要的问题涉及到不确定性下的决策,包括飞机防撞、野火管理和灾难应对。在设计自动决策系统或决策支持系统时,重要的是要考虑到各种不确定性的来源,同时仔细平衡多个目标。我们将从计算的角度讨论这些挑战,旨在提供决策模型和计算方法背后的理论。本章介绍了不确定性下的决策问题,提供了一些应用的例子,并概述了计算方法的空间。然后,它总结了各学科如何促进我们对智能决策的理解,并强调了潜在的社会影响领域。最后,我们对本书的其余部分进行了概述。

1.1 决策

智能体是一个根据对其环境的观察而行动的实体。智能体可能是物理实体,如人类或机器人,也可能是非物理实体,如完全用软件实现的决策支持系统。如图1.1所示,智能体与环境之间的互动遵循观察-行动的周期或循环。

智能体在时间t收到对环境的观察,表示为ot。例如,观察可以通过生物感觉过程进行,如人类,或通过传感器系统,如空中交通控制系统中的雷达。观察通常是不完整的或有噪音的;人类可能没有看到接近的飞机,或者雷达系统可能由于电磁干扰而错过了探测。然后智能体通过一些决策过程选择一个行动at。这种行动,如发出警报,可能对环境产生非决定性的影响。

图 1.1 智能体与其环境之间的交互。

我们的关注重点是在一段时间内智能互动以实现其目标的智能体。考虑到过去的观察序列,o1, ...... ot,以及对环境的了解,智能体必须选择一个行动at,在存在各种不确定性来源的情况下最好地实现其目标,包括以下内容:

  • 结果的不确定性,即我们的行动效果是不确定的。

  • 模型的不确定性,即我们对问题的模型是不确定的。

  • 状态的不确定性,即环境的真实状态是不确定的。

  • 相互作用的不确定性,即在环境中相互作用的其他智能体的行为是不确定的。

本书是围绕这四种不确定性的来源组织的。如第1.4节所述,在不确定的情况下做出决策是人工智能领域的核心,也是许多其他领域的核心。我们将讨论各种算法,或对计算过程的描述,以做出对不确定性具有稳定性的决策。

1.2 应用

上一节介绍的决策框架可以应用于各种领域。本节讨论了一些具有现实世界应用的概念性例子。附录F概述了其他的概念性问题,这些问题在本文中被用来演示我们讨论的算法。

1.2.1 飞机避撞

为了帮助防止飞机之间的空中碰撞,我们想设计一个系统,可以提醒飞行员注意潜在的威胁,并指导他们如何操纵以避免这些威胁。该系统与其他飞机的应答器进行通信,以便在一定程度上准确地识别其位置。决定向飞行员提供什么指导是具有挑战性的。飞行员将如何快速反应以及他们将如何积极地遵守指导,都存在不确定性。此外,其他飞机的行为也存在不确定性。我们希望我们的系统能足够早地发出警报,为飞行员提供足够的时间来操纵他们的飞机以避免碰撞,但我们不希望我们的系统过早地发出警报,这将导致许多不必要的操纵。由于该系统将在全球范围内持续使用,我们需要该系统提供一个特殊的安全水平。

1.2.2 自动驾驶

我们想建造一辆能够在城市环境中安全行驶的自主车辆。该车必须依靠一套传感器来感知其环境,以做出安全的决定。一种类型的传感器是激光雷达,它涉及测量环境中的激光反射,以确定与障碍物的距离。另一种类型的传感器是摄像头,通过计算机视觉算法,它可以检测到行人和其他车辆。这两种类型的传感器都是不完美的,容易受到噪音和遮挡的影响。例如,一辆停在路边的卡车可能会遮挡住正在试图穿过人行横道的行人。我们的系统必须从其他车辆、行人和其他道路使用者的可观察行为中预测他们的意图和未来路径,以便安全地导航到我们的目的地。

1.2.3 乳腺癌筛查

在世界范围内,乳腺癌是妇女中最常见的癌症。早期发现乳腺癌可以帮助挽救生命,而乳房X光检查是目前最有效的筛查工具。然而,乳房X线照相术也有潜在的风险,包括假阳性,这可能导致不必要的侵入性诊断后续行动。多年来的研究已经产生了基于年龄的各种人群筛查计划,以平衡测试的好处和风险。开发一个能根据个人风险特征和筛查历史提出建议的系统,有可能带来更好的健康结果。这种系统的成功可以在总的预期质量调整寿命年数、乳房X光检查的次数、假阳性的发生率以及未被发现的侵入性癌症的风险等方面与全民筛查计划进行比较。

1.2.4 金融消费与投资组合配置

假设我们想建立一个系统,建议一个人的财富当年应该消费多少,投资多少。投资组合可能包括具有不同风险和预期收益水平的股票和债券。由于赚取和投资收入的不确定性,财富的演变是随机的,通常在投资者接近退休时才会增加,然后稳定地减少。在一年中消费一个单位的财富所带来的享受通常会随着消费数量的减少而减少,从而导致人们希望在个人的一生中平滑消费。

1.2.5 分布式野火监测

在扑灭野火时,对形势的认识是一个重大挑战。火灾的状态随着时间的推移而演变,受到风和环境中的燃料分布等因素的影响。许多野火跨越了大的地理区域。监测野火的一个概念是使用一队配备有传感器的无人机在野火上方飞行。单个无人机的感应范围是有限的,但团队的信息可以被融合,以提供一个统一的情况快照,从而推动资源分配决策。我们希望团队成员能够自主地决定如何相互协作,以提供最佳的火场覆盖。有效的监测需要决定如何机动地覆盖新的传感器信息可能有用的区域;在我们确定火是否在燃烧的区域花费时间将是浪费的。识别要探索的重要区域需要对火灾的随机演变进行推理,因为对其当前状态的了解并不完善。

1.2.6 火星科学探索

探测器在火星上有了重要的发现,并增加了我们对火星的了解。然而,科学探索的一个主要瓶颈是火星车和地球上的操作团队之间的通信联系。传感器信息从火星传到地球,以及命令从地球传到火星,可能需要半小时之久。此外,对漫游车的指导需要提前计划,因为由于作为行星之间信息中继站的轨道器的位置,与火星的上传和下载窗口有限。最近的研究表明,通过引入更高水平的自主性,科学探索任务的效率可以提高五倍。人类操作员仍将提供关于任务目标的高级指导,但漫游者将有灵活性,利用最新的信息选择自己的科学目标。此外,漫游车最好能在没有人类干预的情况下对各种危险和系统故障作出适当的反应。

1.3 方法

有许多设计决策智能体的方法。根据不同的应用,有些可能比其他的更合适。它们在设计者的责任和留给自动化的任务方面有所不同。本节简要地概述了这些方法的集合。本书将主要关注规划和强化学习,但其中一些技术将涉及监督学习和优化的元素。

1.3.1 显式编程

设计决策智能体的最直接的方法是预测智能体可能发现自己所处的所有场景,并明确编程智能体应该对每个场景做出什么反应。明确的编程方法对于简单的问题可能很有效,但它给设计者带来了很大的负担,要提供一个完整的策略。各种智能体编程语言和框架已被提出,以使智能体编程更容易。

1.3.2 监督学习

对于一些问题,向智能体展示该怎么做,而不是写一个程序让智能体遵循,可能会更容易。设计者提供了一组训练实例,而自动学习算法必须从这些实例中进行概括。这种方法被称为监督学习,并被广泛地应用于分类问题。当应用于学习从观察到行动的映射时,这种技术有时被称为行为克隆。当专家设计者实际上知道在一系列有代表性的情况下的最佳行动方案时,行为克隆的效果很好。尽管存在各种不同的学习算法,但在新的情况下,它们通常不能比人类设计师表现得更好。

1.3.3 优化

另一种方法是由设计者指定可能的决策策略空间和需要最大化的性能指标。评估一个决策策略的性能通常需要运行一批模拟。然后,优化算法在这个空间中进行搜索,寻找最佳策略。如果空间相对较小,并且性能指标没有很多局部最优,那么各种局部或全局搜索方法可能是合适的。虽然通常假设动态模型的知识是用来运行模拟的,但它并不是用来指导搜索的,这对复杂的问题可能很重要。

1.3.4 规划

规划是一种优化形式,它使用问题的动态模型来帮助指导搜索。有大量的文献探讨了各种规划问题,其中大部分集中在确定性问题上。对于某些问题,用一个确定的模型来近似动态可能是可以接受的。假设一个确定的模型使我们能够使用更容易扩展到高维问题的方法。对于其他问题,对未来不确定性的考虑是至关重要的。本书完全集中在对不确定性的考虑很重要的问题上。

1.3.5 强化学习

强化学习放宽了规划中的假设,即一个模型是提前知道的。相反,决策策略是在智能体与环境互动时学习的。设计者只需提供一个性能指标;由学习算法来优化智能体的行为。强化学习中出现的一个有趣的复杂性是,行动的选择不仅影响到智能体在实现其目标方面的直接成功,而且还影响到智能体对环境的学习能力和确定它可以利用的问题的特征。

1.4 历史发展

决策过程自动化的理论起源于早期哲学家、科学家、数学家和作家的梦想。早在公元前800年,古希腊人就开始将自动化纳入神话和故事中。自动机这个词最早出现在荷马的《伊利亚特》中,其中提到了自动机的概念,包括用于招待晚宴客人的机械三脚架。在十七世纪,哲学家们提出使用逻辑规则来自动解决分歧。他们的想法为机械化推理打下了基础。

从十八世纪末开始,发明家们开始创造自动机器来完成劳动。特别是,纺织业的一系列创新导致了自动织机的发展,这反过来又为第一批工厂机器人奠定了基础。十九世纪初,使用智能机器来实现劳动自动化,开始进入科幻小说。机器人一词起源于捷克作家卡雷尔-恰佩克的剧本《R.U.R.》,即《罗苏姆的万能机器人》的简称,讲述了机器可以完成人类不愿做的工作。这部剧启发了其他科幻作家将机器人纳入他们的写作中。二十世纪中期,著名作家和教授艾萨克-阿西莫夫在其著名的《机器人》系列中阐述了他对机器人的看法。

在自动化决策的实际实施中,一个主要的挑战是对不确定性的考虑。即使在二十世纪末,因开发单线算法而最著名的乔治-丹齐格(George Dantzig)也在1991年表示:回过头来看,有趣的是,开始我研究的最初问题仍然很突出--即随着时间的推移动态地计划或安排的问题,特别是在不确定性下动态地计划。如果这样的问题能够被成功解决,它可以(最终通过更好的规划)为世界的福祉和稳定作出贡献。

虽然不确定性下的决策仍然是一个活跃的研究领域,但在过去的几个世纪中,研究人员和工程师已经更接近于使这些早期梦想家提出的概念成为可能。目前最先进的决策算法依赖于多个学科的概念的融合,包括经济学、心理学、神经科学、计算机科学、工程学、数学和运筹学。本节重点介绍这些学科的一些主要贡献。学科之间的交叉渗透导致了许多最近的进步,并可能在未来继续支持增长。

1.5 社会意义

决策算法方法已经改变了社会,并可能在未来继续改变。本节简要地强调了决策算法可以为社会做出贡献的几种方式,并介绍了在试图确保广泛受益时仍然存在的挑战。

算法方法对环境的可持续性做出了贡献。例如,在能源管理方面,贝叶斯优化已经被应用于自动家庭能源管理系统。来自多智能体系统领域的算法被用来预测智能电网的运行,设计能源交易市场,以及预测屋顶太阳能发电的采用。算法也被开发出来以保护生物多样性。例如,神经网络被用于野生动物普查的自动化,博弈论方法被用于打击森林偷猎,优化技术被用于分配栖息地管理的资源。

几十年来,决策算法已经在医学领域取得了成功。这种算法已经被用于将居民与医院以及器官捐赠者与需要的病人相匹配。贝叶斯网络的一个早期应用是疾病诊断,我们将在本书的第一部分介绍。从那时起,贝叶斯网络就被广泛用于医学中的疾病诊断和预后。医学图像处理领域已经被深度学习所改变,算法思想最近在理解疾病的传播方面发挥了重要作用。

算法使我们能够了解城市地区的发展并促进其设计。数据驱动的算法已被广泛用于改善公共基础设施。例如,随机过程被用来预测输水管道的故障,深度学习改善了交通管理,马尔科夫决策过程和蒙特卡洛方法被用来改善应急反应。来自分散的多智能体系统的想法优化了旅行路线,路径规划技术被用来优化货物的交付。决策算法已被用于自动驾驶汽车和改善飞机安全。

优化决策算法可以放大其用户的影响,无论其意图如何。例如,如果这些算法的使用者的目标是在政治选举期间传播错误信息,那么优化过程可以帮助促进这一目标。然而,类似的算法也可以用来监测和抵制虚假信息的传播。有时,这些决策算法的实施会导致其用户无意中的下游后果。

尽管算法有可能带来巨大的好处,但在社会中实施这些算法也存在着挑战。由于数据收集的方式,数据驱动的算法往往存在着固有的偏见和盲点。随着算法成为我们生活的一部分,重要的是了解如何减少偏见的风险,以及如何以公平和公正的方式分配算法进步的好处。算法也可能容易受到对手的操纵,关键是我们要设计出对这种攻击具有鲁棒性的算法。同样重要的是,要扩展道德和法律框架,以防止意外后果和分配责任。

1.6 本书概述

本书分为五个部分。第一部分讨论了在单一时间点的简单决策中对不确定性和目标进行推理的问题。第二部分将决策扩展到顺序问题,在这个问题上,我们必须根据我们行动的结果的信息做出一连串的决定,随着我们的行动进行。第三种是针对模型的不确定性,即我们不是从一个已知的模型开始,必须通过与环境的互动来学习如何行动。第四部分讨论了状态的不确定性,不完善的感知信息使我们无法了解完整的环境状态。最后一部分讨论了涉及多个智能体的决策环境。

1.6.1 概率推理

理性的决策需要对我们的不确定性和目标进行推理。本书的这一部分首先讨论了如何将不确定性表示为一种概率分布。现实世界的问题需要对许多变量的分布进行推理。我们将讨论如何构建这些模型,如何利用它们进行推理,以及如何从数据中学习它们的参数和结构。然后,我们将介绍效用理论的基础,并说明它如何通过最大期望效用原则构成不确定情况下的理性决策的基础。然后我们讨论如何将效用理论的概念纳入本章前面介绍的概率图形模型中,形成所谓的决策网络。

1.6.2 序列问题

许多重要的问题需要我们做出一系列的决定。最大期望效用的原则仍然适用,但在顺序背景下的最佳决策需要对未来的行动和观察顺序进行推理。本书的这一部分将讨论随机环境下的顺序决策问题,在这种环境下,我们行动的结果是不确定的。我们将重点讨论在模型已知和环境完全可观察的假设下的顺序决策问题的一般表述。我们将在本书的后面放宽这两个假设。我们的讨论将从介绍马尔科夫决策过程(MDP)开始,这是顺序决策问题的标准数学模型。我们将讨论为这些类型的问题寻找精确解决方案的几种方法。由于大型问题有时不允许有效地找到精确解,我们将讨论一系列离线和在线的近似解法,以及一种涉及直接搜索参数化决策策略空间的方法。最后,我们将讨论验证我们的决策策略在现实世界中部署时将发挥预期作用的方法。

1.6.3 模型不确定性

在我们对顺序决策问题的讨论中,到目前为止,我们已经假定过渡和奖励模型是已知的。然而,在许多问题中,动态和奖励并不完全知道,智能体必须通过经验学习行动。通过观察其行动的结果,以状态转换和奖励的形式,智能体要选择使其长期积累的奖励最大化的行动。解决这种存在模型不确定性的问题是强化学习领域的主题,也是本书这一部分的重点。我们将讨论解决模型不确定性的几个挑战。首先,智能体必须仔细平衡对环境的探索和对通过经验获得的知识的利用。第二,奖励可能在重要的决定作出后很久才收到,所以必须将后来的奖励的功劳分配给早期的决定。第三,智能体必须从有限的经验中进行概括。我们将回顾解决这些挑战的理论和一些关键算法。

1.6.4 状态不确定性

在这一部分,我们将不确定性扩展到包括状态。我们不是准确地观察状态,而是接收与状态只有概率关系的观察。这样的问题可以被建模为部分可观察的马尔科夫决策过程(POMDP)。解决POMDP的常见方法是推断出当前时间步长的基础状态的信念分布,然后应用一个将信念映射到行动的策略。这一部分首先讨论了如何更新我们的信念分布,给定一个过去的观察和行动序列。然后,它讨论了解决POMDP的各种精确和近似方法。

1.6.5 多智能体系统

到目前为止,只有一个智能体在环境中做决定。本部分将前四部分扩展到多个智能体,讨论互动的不确定性所带来的挑战。我们首先讨论了简单的游戏,即一组智能体同时各自选择一个行动。其结果是基于联合行动的每个智能体的个体奖励。马尔科夫博弈(MG)代表了简单博弈对多状态和MDP对多智能体的概括。因此,智能体选择的行动可以随机地改变共享环境的状态。由于其他智能体的策略的不确定性,MG的算法依赖于强化学习。部分可观察马尔科夫博弈(POMG)引入了状态的不确定性,进一步概括了MGs和POMDPs,因为智能体现在只收到了有噪声的局部观察。分布式的部分可观察马尔可夫决策过程(Dec-POMDP)将POMG集中在一个合作的、多智能体的团队上,在这个团队中,智能体之间有一个共同的奖励。本书的这一部分介绍了这四类问题,并讨论了解决它们的精确和近似算法。

成为VIP会员查看完整内容
116

深度强化学习(Deep Reinforcement Learning, Deep RL)结合了深度学习和强化学习,人工智能体通过学习来解决顺序决策问题。在过去的十年中,深度RL在一系列问题上取得了显著的成果,从单人和多人游戏(如围棋、Atari游戏和DotA 2)到机器人。

《深度强化学习基础》是对深度学习的介绍,独特地结合了理论和实现。它从直觉开始,然后仔细地解释了深度RL算法的理论,讨论了其伴生软件库SLM Lab中的实现,最后介绍了使深度RL工作的实际细节。 本指南对于熟悉基本机器学习概念并对Python有实际理解的计算机科学学生和软件工程师都是理想的。

理解深度RL问题的每个关键方面 * 探索基于策略和价值的算法,包括REINFORCE、SARSA、DQN、Double DQN和优先体验重放(PER) * 深入研究组合算法,包括actor - critical和近端策略优化(PPO) * 理解如何同步和异步并行算法 * 在SLM Lab中运行算法,学习深入RL工作的实际实现细节 * 探索调优超参数的算法基准测试结果 * 理解深度RL环境是如何设计的

成为VIP会员查看完整内容
77

深度神经网络(DNNs)以其密集而复杂的算法为人工通用智能(AGI)提供了真正的可能性。使用DNNs的元学习使AGI更加接近:人工代理解决人类可以完成的智能任务,甚至超越人类的能力。元学习:理论、算法和应用展示了元学习如何与DNNs结合向AGI发展。

https://creatingconversations.indielite.org/book/9780323899314

这本书通过回答这些问题来解释元学习的基本原理:什么是元学习?为什么我们需要元学习?自我改进的元学习机制如何走向AGI ?我们如何在具体的场景中使用元学习?本书介绍了七种主流范式的背景:元学习、少样本学习、深度学习、迁移学习、机器学习、概率建模和贝叶斯推理。然后解释了重要的最先进的机制及其元学习的变体,包括记忆增强神经网络、元网络、卷积暹罗神经网络、匹配网络、原型网络、关系网络、LSTM元学习、模型不确定元学习和爬虫算法。这本书深入研究了来自顶级会议的近200种最先进的元学习算法(例如NeurIPS、ICML、CVPR、ACL、ICLR、KDD)。它系统地研究了来自11个真实世界应用领域的39类任务:计算机视觉、自然语言处理、元强化学习、医疗保健、金融和经济、建筑材料、图形神经网络、程序合成、智慧城市、推荐系统和气候科学。每个应用程序字段通过展望未来趋势或提供可用资源的摘要来结束。《元学习:理论、算法和应用》是了解元学习原理和学习最先进的元学习算法的重要资源,使学生、研究人员和行业专业人员能够将元学习应用于各种新颖的应用。

  • -综合概述与深度神经网络相关的最先进的元学习技术和方法,以及广泛的应用领域
  • -覆盖近200种最先进的元学习算法,这些算法由全球首屈一指的人工智能会议和期刊推广,以及300至450项关键研究。
  • -系统详细地探索最关键的最先进的元学习算法机制:基于模型、基于度量和基于优化。
  • -解决了使用深度学习和/或机器学习方法的局限性,特别是在小样本量和未标记数据的情况下
  • -理解元学习如何在11个现实世界应用领域的39类任务中作为人工通用智能的垫脚石。

成为VIP会员查看完整内容
66

2005年首次出版时,《矩阵数学》迅速成为工程、科学和应用数学的所有分支中矩阵用户的必备参考书。在这个完全更新和扩展的版本中,作者汇集了矩阵理论的最新结果,使这成为矩阵上最完整的,当前的和易于使用的书。

每一章都描述了相关的背景理论,然后是专门的结果。数以百计的恒等式、不等式和矩阵事实通过交叉引用、文献引用和启发性评论清楚而严格地陈述。从集合、函数和关系的初步开始,矩阵数学涵盖了矩阵理论中的所有主要主题,包括矩阵变换;多项式矩阵;矩阵分解;广义逆;Kronecker和Schur代数;半正定矩阵;向量和矩阵范数;矩阵指数与稳定性理论;线性系统和控制理论。还包括符号的详细列表,符号和惯例的摘要,广泛的参考书目和作者索引与页面引用,以及详尽的主题索引。这个显著扩展版的矩阵数学的特点在图上的新材料,标量恒等式和不等式,可选偏序,矩阵铅笔,有限组,多变量传递函数的零,多项式的根,凸函数,和矩阵规范。

涵盖了数以百计的矩阵理论的重要和有用的结果,许多以前从未在任何书中可用 提供符号列表和约定摘要,以方便使用 包括标量恒等式和不等式的广泛集合 功能一个详细的参考书目和作者索引与页面引用 包括一个详尽的主题索引与交叉引用

成为VIP会员查看完整内容
73

机器学习的目标是让计算机使用示例数据或过去的经验来解决给定的问题。机器学习是自动驾驶汽车、语音识别和翻译应用等令人兴奋的新技术的基础。这是一个全面的,广泛使用的机器学习教科书的实质性修订第四版,提供了在理论和实践领域的最新进展的新覆盖面,包括深度学习和神经网络的发展。这本书涵盖了广泛的主题,通常不包括在介绍性机器学习文本,包括监督学习,贝叶斯决策理论,参数方法,半参数方法,非参数方法,多元分析,隐马尔可夫模型,强化学习,核机器,图形模型,贝叶斯估计,统计检验。第四版提供了一个关于深度学习的新章节,讨论了训练、正则化和构造深度神经网络,如卷积和生成对抗网络;强化学习一章的新材料,涵盖了深度网络的使用,策略梯度方法和深度强化学习;关于自动编码器和word2vec网络的多层感知器一章的新材料;讨论了一种流行的降维方法t-SNE。新的附录提供了线性代数和优化的背景材料。章末练习帮助读者运用所学的概念。机器学习导论可用于高级本科生和研究生的课程,也可作为专业人员的参考。https://mitpress.mit.edu/9780262043793/introduction-to-machine-learning/

成为VIP会员查看完整内容
66

虽然许多人工智能入门指南都是微积分书的伪装,但这本书大多回避了数学。相反,作者Jeff proise帮助工程师和软件开发人员建立对AI的直观理解,以解决商业问题。需要创建一个系统来检测雨林中非法砍伐的声音,分析文本的情感,或预测旋转机械的早期故障?这本实用的书教你把人工智能和机器学习在你的公司工作的必要技能。

Applied Machine Learning and AI for Engineers提供了来自Prosise在世界各地的公司和研究机构教授的AI和ML课程的示例和说明。没有繁琐的程序,也没有可怕的方程式——只是为工程师和软件开发人员提供了一个快速的入门,并配有实际操作的例子。

https://www.oreilly.com/library/view/applied-machine-learning/9781492098041/

这本书可以帮助你: * 了解什么是机器学习和深度学习,以及它们可以实现什么 * 了解流行的学习算法是如何工作的以及何时应用它们 * 使用Scikit-Learn用Python建立机器学习模型,使用Keras和TensorFlow建立神经网络 * 训练和评分回归模型和二元和多级分类模型 * 建立人脸识别模型和物体检测模型 * 构建响应自然语言查询并将文本翻译为其他语言的语言模型 * 使用认知服务将人工智能注入到你编写的应用程序中

成为VIP会员查看完整内容
60

这本手稿涵盖了强化学习的所有重要的基本方面。第二章采用马尔可夫决策过程对主体与环境之间的相互作用进行建模。第三章介绍了基于给定环境模型解决MDP问题的核心技术——动态规划。一般来说,解决MDP问题涉及到政策评估和政策改进的迭代。在第四章中,我们讨论了无模型方法:蒙特卡洛,TD学习,SARSA和q学习。第五章对强化学习中的值函数逼近进行了一般讨论。作为一个重要的例子,深度Q-learning将在第6章中详细介绍。第7章介绍了策略梯度方法,重点介绍了策略梯度定理、REINFORCE算法、Advantage Actor-Critic算法等基本概念。

成为VIP会员查看完整内容
60

本书全面讨论了最新的数学建模技术及其在模糊建模、信号处理、神经网络、机器学习、图像处理及其数值分析等各个领域的应用。进一步介绍了图像处理技术,如用于人脸检测的Viola-Jones方法和用于行人视频情感的模糊方法。它将作为机械工程、电子、通信工程、计算机工程和数学领域的研究生和学术研究人员的理想参考文本。

  • 讨论神经网络、机器学习、图像处理和数学建模的应用
  • 提供机器学习和基于图像处理问题的模拟技术
  • 强调疾病检测中的人工智能和机器学习技术
  • 介绍数学建模技术,如小波变换,微分方程建模,多维数据的数值技术
  • 包括现实生活中的问题,以便更好地理解

这本书提出了数学建模技术,如小波变换,微分方程,和多维数据的数值技术。它将作为一个理想的参考文本研究生和学术研究人员在不同的工程领域,如机械,电子和通信,和计算机工程。

成为VIP会员查看完整内容
56

这本书是一个真实世界案例的集合,说明了如何处理具有挑战性和波动的金融时间序列数据,以更好地理解他们的过去行为和对他们的未来运动的可靠预测。它演示了如何应用统计学、计量经济学、机器学习和深度学习的概念和技术来构建稳健的预测模型,以及如何使用这些模型来构建有利可图的投资组合。这里使用的所有概念和方法都是在TensorFlow和Keras框架上使用R和Python语言实现的。这本书对金融,经济学,计量经济学,统计学,数据科学,计算机科学,和信息技术的高级研究生和博士生更有用。包括金融服务、银行和保险在内的金融部门见证了机器学习、深度学习和人工智能的最大应用和用例。虽然金融机构只浏览了快速发展领域的表面,如深度神经网络和强化学习,但在金融和计量经济学的许多应用中应用这些技术的可能性仍有待探索。

本卷的章节介绍了使用统计学、计量经济学、机器学习和深度学习方法进行金融时间序列分析和预测的几种技术。利用在印度国家证券交易所(NSE)和孟买证券交易所(BSE)上市的各个行业和重要股票的日、月指数值的历史数据,建立预测模型,然后用来预测指数的未来值及其运动规律。金融部门的时间序列分解结果为读者提供了对不同部门的行为特征的几个有用的见解。对行业行为模式的深入了解,将使投资者做出更有效的投资决策,获得更高的利润。本章讨论的统计和计量建模方法包括指数平滑方法、Holt和Winter趋势和季节性方法、自回归(AR)和移动平均(MA)方法、自回归综合移动平均(ARIMA)方法、格兰杰因果分析、单变量线性回归、多元线性回归和多元自适应回归样条曲线(MARS)。基于机器学习的预测模型包括几种分类和回归方法,包括逻辑回归、k近邻、决策树、bagging、自适应增强、极端梯度增强、随机森林、支持向量机和人工神经网络。在深度学习方面,介绍了卷积神经网络(CNN)和长短期记忆(LSTM)网络体系结构在金融时间序列数据预测模型设计中的应用。文本挖掘和自然语言处理(NLP)在建立精确的金融模型的使用也在卷的一个章节中提出。

https://www.cambridgescholars.com/product/978-1-5275-8324-5

成为VIP会员查看完整内容
57

这本书提出和调研归一化技术与深度分析训练深度神经网络。此外,作者还提供了针对特定任务设计新的规范化方法和网络体系结构的技术细节。归一化方法可以提高深度神经网络(DNNs)的训练稳定性、优化效率和泛化能力,已成为大多数先进DNN体系结构的基本组成部分。作者为阐述、理解和应用规范化方法提供了指导方针。这本书是理想的读者致力于发展新的深度学习算法和/或其应用程序,以解决计算机视觉和机器学习任务中的实际问题。这本书也作为资源的研究人员,工程师,和学生谁是新的领域和需要了解和训练DNN。

https://link.springer.com/book/10.1007/978-3-031-14595-7

成为VIP会员查看完整内容
49

这是一个简单易懂的线性代数介绍,重点是矩阵和工程应用

《矩阵分析与应用基础》从几何和物理角度全面覆盖了矩阵理论,描述了矩阵的功能及其量化和分析许多实际应用的能力。本书由一个高度合格的作者团队编写,提供了矩阵分析的工具,并通过广泛的例子和软件实现加以说明。

https://www.wiley.com/en-gb/Fundamentals+of+Matrix+Analysis+with+Applications-p-9781118953655

作者首先对高斯消元法进行了详细的阐述和回顾,并就运算次数、计算机速度和精度、复杂的算术公式、解的参数化以及要求严格遵守高斯指令的逻辑陷阱等问题进行了令人耳目一新的讨论,以保持读者的兴趣。这本书预告了矩阵公式作为符号的速记和作为物理操作的量词,如旋转,投影,反射,和高斯约简。在计算处理之前,逆和特征向量首先在运算符上下文中可视化。最小二乘理论被阐述在它的所有表现,包括优化,正交性,计算精度,甚至函数理论。矩阵分析基础及其应用还包括: * 新方法用于解释QR,奇异值,Schur,和Jordan分解及其应用 * 复盖矩阵指数在常系数线性微分方程组解中的作用 * 逐章总结,复习问题,技术写作练习,选择解决方案,和小组项目来帮助理解所提出的概念

《矩阵分析及其应用基础》是一本适合数学、工程和科学专业学生学习线性代数和矩阵理论的优秀教材。这本书也是一个易于访问的参考读者寻求澄清运动学,电路理论,控制理论,计算统计,和数值算法的细微之处。

成为VIP会员查看完整内容
46

这本书提供了一个连贯和完整的概述,各种问题回答(QA)系统。它涵盖了基于数据来源的3个主要类别,可以是非结构化文本(TextQA)、结构化知识图谱(KBQA),以及两者的结合。开发一个问答系统通常需要使用各种重要技术的组合,包括自然语言处理、信息检索和提取、知识图谱处理和机器学习。

https://link.springer.com/book/10.1007/978-3-031-16552-8

在第一章对本书进行了概览和介绍之后,第二章将解释QA系统的历史和不同QA方法的体系结构。它从早期的近域QA系统开始,并回顾了不同代的QA直到最先进的混合模型。接下来,第三章专门解释用于评估TextQA和KBQA的数据集和指标。第四章介绍了用于质量保证系统的神经模型和深度学习模型。本章包括深度学习和神经文本表示模型的必要知识,以理解文本上的QA模型和知识库上的QA模型,分别在第5章和第6章中解释。在一些KBQA模型中,文本数据还被用作知识库之外的另一个来源;这些混合模型将在第7章进行研究。在第8章中,详细解释了一些著名的QA系统的实际应用。最后,我们将在第9章中讨论有待解决的问题和QA的未来工作。

这本书提供了一个关于文本上的QA、知识库上的QA和混合QA系统的全面概述,这些系统可以被这个领域的研究人员使用。它将通过提供必要的和基本的知识,帮助读者跟随该领域的最先进的研究。

成为VIP会员查看完整内容
41

数据科学的目标是通过从大型数据集中提取的见解来改进决策。作为一个活动领域,数据科学包括一组原则、问题定义、算法和从大型数据集中提取非明显和有用模式的过程。它与数据挖掘和机器学习领域密切相关,但范围更广。如今,数据科学几乎在现代社会的所有领域推动着决策的制定。数据科学可能会影响你的日常生活,包括确定哪些广告会在网上呈现给你;哪些电影、书籍和朋友被推荐给你;哪些邮件会被过滤到垃圾邮件文件夹中;当你更新你的手机服务时,你会收到什么优惠;你的健康保险费的费用;你所在区域红绿灯的顺序和时间;你可能需要的药物是如何设计的;还有你所在城市警方的目标是哪些地方。 大数据和社交媒体的出现、计算能力的提升、计算机内存成本的大幅降低,以及更强大的数据分析和建模方法(如深度学习)的发展,推动了整个社会对数据科学使用的增长。这些因素一起意味着组织从未像现在这样容易地收集、存储和处理数据。与此同时,这些技术创新和数据科学更广泛的应用意味着,与数据使用和个人隐私相关的道德挑战从未像现在这样紧迫。这本书的目的是提供数据科学的介绍,涵盖了该领域的基本元素在一个深度,提供了一个原则性的理解该领域。第一章介绍了数据科学领域,并简要介绍了它是如何发展和演变的。它还研究了为什么数据科学在今天是重要的,以及推动采用它的一些因素。本章最后回顾并揭穿了一些与数据科学相关的神话。第二章介绍与数据相关的基本概念。它还描述了数据科学项目中的标准阶段:业务理解、数据理解、数据准备、建模、评估和部署。第三章重点介绍了数据基础设施和大数据带来的挑战以及多源数据的集成。典型数据基础设施可能具有挑战性的一个方面是,数据库和数据仓库中的数据通常驻留在不同于用于数据分析的服务器上。因此,当处理大型数据集时,在数据库或数据仓库所在的服务器和用于数据分析和机器学习的服务器之间移动数据会花费大量的时间。第3章首先描述了一个组织的典型数据科学基础设施和一些新兴的解决方案,以应对在数据基础设施中移动大型数据集的挑战,其中包括数据库内机器学习的使用,使用Hadoop进行数据存储和处理,以及混合数据库系统的开发,将传统数据库软件和类似Hadoop的解决方案无缝结合。本章最后强调了在将来自整个组织的数据集成为适合机器学习的统一表示时所面临的一些挑战。第4章介绍了机器学习领域,并解释了一些最流行的机器学习算法和模型,包括神经网络、深度学习和决策树模型。第5章通过回顾一系列标准业务问题并描述如何通过机器学习解决方案来将机器学习专业知识与现实问题联系起来。第6章回顾了数据科学的伦理影响,数据监管的最新发展,以及在数据科学过程中保护个人隐私的一些新的计算方法。最后,第7章描述了数据科学在不久的将来将产生重大影响的一些领域,并列出了决定数据科学项目是否成功的一些重要原则。

成为VIP会员查看完整内容
36

本文采用一种独特的教学方法,通过引导学生通过Python编程实现基本的逻辑概念和数学证明来介绍数学逻辑。这种方法专为日益增长的精通编程的学生量身定制的独特直觉和优势,将数学逻辑带入这些学生的舒适区,并提供了只有通过深入的动手理解和创建工作代码的满足感才能实现的清晰。虽然方法是独特的,文本遵循相同的主题集通常涵盖在一个学期的本科课程,包括命题逻辑和一阶谓词逻辑,最终证明Gödel的完整性定理。还提供了Gödel的不完备性定理的预览。该教材附有大量编程任务、代码框架和单元测试的集合。假定您熟悉证明并基本精通Python。

https://www.logicthrupython.org/ * 避开数学课程中严格的“定义-定理-证明”风格,而使用编程作为推理逻辑的工具,使数学逻辑更容易为数学背景较低的学生所理解 * 按照任务顺序呈现材料,全书有超过150个任务,为学生提供了清晰、明确和深入的动手理解 * 遵循传统第一课程数学逻辑中通常涵盖的同一组主题 * 对于想要将编程融入基础逻辑、离散数学和自动机/形式语言课程的教师来说,是否也可以作为补充文本 * 额外的在线资源包括书中所有任务的代码框架和api,以及单元测试,这些单元测试为书中每个任务的解决方案提供自动测试,所有这些都是用Python编程语言编写的

成为VIP会员查看完整内容
32

本书演示了针对几种重要信号处理算法的最优对抗性攻击。通过介绍无线传感器网络、阵列信号处理、主成分分析等方面的最优攻击,揭示了信号处理算法对对抗性攻击的鲁棒性。由于数据质量在信号处理中至关重要,能够毒害数据的攻击者将对信号处理构成重大威胁。因此,研究机器学习算法在对抗性攻击下的信号处理行为是必要和迫切的。

作者在本书中分别考察了信号处理中常用的三种机器学习算法:线性回归、基于lasso的特征选择和主成分分析(PCA)的对抗鲁棒性。对于线性回归,给出了最优中毒数据样本和最优特征修正,并证明了攻击无线分布式学习系统的有效性。作者进一步将线性回归扩展到基于lasso的特征选择,并研究了误导学习系统选择错误特征的最佳策略。作者通过解决一个双级优化问题找到了最优的攻击策略,并说明了这种攻击如何影响阵列信号处理和天气数据分析。最后,作者考虑了子空间学习问题的对抗鲁棒性。研究了能量约束下的最优修正策略,以欺骗基于PCA的子空间学习算法。

这本书的目标是研究人员在机器学习,电子信息,和信息理论以及高级水平的学生研究这些主题。从事机器学习、对抗性机器学习、鲁棒性机器学习的研发工程师,以及研究机器学习安全性和鲁棒性的技术顾问都有可能购买这本书作为参考指南。

成为VIP会员查看完整内容
35

随着技术的进步、快速的市场和系统的更高复杂性,软件工程师往往会跳过软件效率这个令人不舒服的话题。然而,战术的、可观察性驱动的性能优化对于每个产品来说都是至关重要的,可以节省资金并确保业务成功。 有了这本书,任何工程师都可以学习如何有效、专业、无压力地提高软件效率。作者bartzuomiej potka提供了使您的系统更快、减少资源消耗所需的工具和知识。高效Go引导您使用Go实现更好的日常效率。此外,大多数内容与语言无关,允许您在编程或产品管理周期中引入小而有效的习惯。 这本书告诉你如何:

明确和协商效率目标 * 优化各个层次的效率 * 有效利用CPU和内存等公共资源 * 通过Prometheus、Jaeger和Parca等开源项目,使用可观察性信号(如度量、日志记录、跟踪和(持续的)分析)来评估效率 * 应用go test、pprof、benchstat和k6等工具来创建可靠的微观和宏观基准 * 高效地使用Go和它的特性,如切片、泛型、goroutine、分配语义、垃圾收集等等!

成为VIP会员查看完整内容
28

Python最近在TIOBE索引上被列为当今最流行的编程语言,这要归功于它对设计和测试、部署和维护的原型设计的广泛适用性。通过更新后的第四版,无论您是专业程序员还是需要这门语言解决特定领域问题的人,都将学习如何最大限度地利用Python。 这个新版本由公认的Python专家精心策划,专注于3.10版本,将Python语言的这项开创性工作在五个版本发布中完全更新,包括即将发布的3.11特性的预览报道。 这篇书籍指南将帮助你:

了解Python如何将数据和程序表示为对象 * 理解类型注释的价值和用途 * 检查哪个语言特性出现在哪个最新版本中 * 了解如何习惯地使用现代Python * 学习适当构造Python项目的方法 * 了解如何调试Python代码

https://www.oreilly.com/library/view/python-in-a/9781098113544/

成为VIP会员查看完整内容
30

本书是由GAMMA Lab实验室推出,全面介绍了图神经网络的基础和前沿问题,主要分为以下三个部分: * Part 1:GNNs的基本定义和发展(Chaps. 1 - 2);

  • 我们首先概述了不同图的基本概念,以及图神经网络的发展,包括几个典型的图神经网络。这一部分将帮助读者迅速了解这个领域的整体发展。特别是在第1章,将总结基本概念和定义,以及图神经网络的发展。第二章将介绍基本的图神经网络,包括GCN,GAT,GraphSAGE,HAN等。

Part 2:GNNs的前沿课题(Chaps. 3 - 7);

  • 我们接着对有代表性的图神经网络技术进行了深入而详细的介绍。该部分将帮助读者了解该领域的基本问题,并说明如何为这些问题设计高级图神经网络。特别是第三章讨论了同质图神经网络,包括多通道图神经网络等。第4章介绍了异质图神经网络,主要集中在异质图传播网络等。之后,我们在第五章中介绍了动态图神经网络,其中考虑了时态图、动态异质Hawkes process和时态异质图。然后,在第六章中,我们介绍了双曲图神经网络,包括双曲图注意网络和洛伦兹图卷积神经网络等。最后,第七章介绍了蒸馏图神经网络,包括图神经网络的知识蒸馏和对抗性知识蒸馏等。

Part 3:GNNs的未来发展方向(Chaps. 8)。

  • 我们做出结论并讨论了未来的研究方向。尽管有大量的图神经网络方法被提出,许多重要的开放性问题仍然没有得到很好的探索,例如图神经网络的鲁棒性和公平性。当图神经网络被应用于现实世界的应用,特别是一些风险敏感的领域时,这些问题仍需要被仔细考虑仔细考虑。

📖一言以蔽之,本书从图表示学习的基础知识开始,广泛地介绍了GNNs的前沿研究方向,包括heterogeneous GNNs, dynamic GNNs, hyperbolic GNNs, distilling GNNs等。一方面基本知识可以帮助读者迅速了解GNNs的优点,另一方面各种前沿GNNs则有望激发读者开发自己的模型。相信,无论是初学者还是来自学术界或工业界的研究人员,相信都会从本书的内容中受益。 本文主要聚焦于Part 1,简要介绍GNNs的基本定义和发展,并帮助读者快速回顾GNNs经典模型。 (其余章节会在GAMMA Lab公众号持续更新,希望能与读者一同在本书中获益🥰)

✏️chapter 1-简要介绍

1.1 基本概念

**1.1.1 图的定义和属性

图一般被定义为 1. 邻接矩阵A一般用于描述图中边的分布

邻居,一般指一阶邻居节点的邻居集合可以表示为,这里表示的是无向图,类似的还可以定义有向图出边邻居,入边邻居 1. 节点的度,一般可以由临界矩阵行(列)求和得到 同时,这里表示的是无向图,类似的还可以定义有向图出度,入度。

  1. 拉普拉斯矩阵(Laplacian)定义为

相应地,有标准化形式的拉普拉斯矩阵(Normalized Laplacian),一般记作或者:

**1.1.2 复杂图

异质图(Heterogeneous Graph) 一般可以简单认为是含有多个类型的节点,多个类型的边组成的图,数学定义为每个节点v和每条边e与其类型相关联的映射函数 1. 元路径(Meta-path) 给定一个异质图,一条Meta-path 可以被定义为, 表示特定类型的节点和边,这种新的关系可以定义为 1. 元图(Meta-graph) 元图可以视为一个具有共同节点的多条元路径有向无环图(DAG)。 形式上,元图可以被定义为,对于所有的,都有 所有的,都有

"APA"的meta-path表示一篇论文共同作者的关系;"APCPA"代表两作者在同一会议发表过文章关系。 两者都可以用来制定作者之间的接近关系。并且,元图可以是对称的或不对称的。 1. 二部图(Bipartite Graph) 一个二部图,其中包含两个不相交的子集,并且, 所以对所有的边,都有. 1. 动态图(Dynamic Graph) 一个动态图,其中是随时间动态改变的。具体来说,每个节点或每条边有一个时间戳信息,表明它们出现的时间。

1.2 图上的计算任务 * 对于不同的计算任务,它们主要可以分为两类

  • 如图分类、图匹配和图生成(如用于药物发现)。
  • 如节点分类、节点排名、链接预测、社区检测等。

一类是以节点为中心的任务,整个数据通常被表示为一个图,节点为数据样本。 * 另一种是以图为中心的任务,数据通常由一组图组成,每个数据样本就是一个图。

1.3 图神经网络的发展

在过去的几十年里,它得到了很大的发展,可以大致分为三代,包括传统图嵌入、现代图嵌入和图上深度学习。 * 例如,DeepWalk是一种结合了random walk和word2vec的图表示学习算法。 * 图神经网络(GNN)可以大致分为空域方法和谱域方法

  • 频谱方法通过利用图傅里叶变换和反图傅里叶变换的优势来利用图的谱信息。它们主要侧重于设计图谱滤波算子,可用于过滤输入信号的某些频率。如从谱域的GCN理解。
  • 基于空域的发放执行涉及邻居的空间信息聚合。这些方法明确地利用图的结构信息。如从空域的GCN理解,GAT,GraphSAGE。

✒️chapter 2-Fundamental Graph Neural Networks

在CNN的启发下,图卷积网络(GCN)被提出来,将卷积操作从网格数据推广到图数据,并导致图领域的突破。作为基本的GNN,GCN在基于频谱(从图信号处理的角度)和基于空间(从信息传播的角度)的卷积GNN之间架起了桥梁。

  • 基于空域的GCN(从消息传播的角度)指出GCN的本质的本质是迭代地聚合邻居的信息;
  • 基于谱域的GCN将傅里叶变换引入图信号处理,将GCN看作一个低通滤波器。

2.1 Graph Convolutional Network (GCN)

**谱域角度

谱域的图卷积可以被定义为一个信号(每个节点由一个标量表示)与一个滤波器的乘积,可以写成 ,其中是标准化后的拉普拉斯矩阵,通常定义是特征值的函数,即. 由于对拉普拉斯矩阵L的特征分解开销较大,一般用切比雪夫多项式去逼近,切比雪夫多项式的递推定义如下 从而,. GCN的简单推导如下:(使用了切比雪夫多项式的一阶近似,K=1)

**空域角度

空域的图卷积一般被定义为消息传递(MessagePassing),

2.2 Graph SAmple and aggreGatE (GraphSAGE

  • transductive learning(转导学习),指所有的数据在训练阶段都可以拿到,学习过程是在固定的数据上,一旦数据发生改变,需要重新进行学习训练,典型的比如图上的随机游走算法,一旦图数据发生变动,所有节点的表示学习都需要重新进行。
  • inductive learning(归纳学习),指可以对在训练阶段不可见的数据(在图数据中,可以指新的节点,也可以指新的图)直接进行预测而不需要重新训练学习方法

GCN被设计为从一个固定的图中学习每个节点的良好表示。 * 对于大规模的图来说,训练过程在内存方面可能是昂贵的。 * GNN的主要问题是它们缺乏对未见过的数据的概括能力。而且,它必须为新的节点重新训练模型以表示这个节点。

GraphSAGE计算过程中完全没有拉普拉斯矩阵的参与,每个节点的特征学习过程仅仅只与其K阶邻居相关,而不需要考虑全图的结构信息。对于新出现的节点数据,只需要遍历得到K阶子图,就可以代入模型进行相关预测。

上述,算法的基本思路是先 将小批量集合B内的中心节点聚合操作要涉及到的k阶子图一次性全部遍历出来,然后在这些节点上进行 K 次聚合操作的迭代计算。 【Sampling时,从内到外,得到k阶子图(由于每层设置的有邻居采样倍率,所以一般来说是非完全子图), Aggregate时,从外到内,生成 minibatch B 所有节点最终的特征表示】

2.3 Graph Attention Network (GAT)

GAT通过引入注意力机制来聚合邻居,从而扩展了GCN. * 注意力机制 为了获得足够的表达能力将输入特征转化为更高层次的特征,至少需要一个可学习的线性变换。GAT中,每层使用一个可训练的共享的线性变换矩阵 和权重向量。

多头注意力

多头注意力机制的引入,同样与transformer相似,用Muti-Head Attention来模拟CNN多输出通道的效果。以求学习到更多层次的表达。GAT原文中,除最后一层muti-head attention取avg外,其余均concat. * GAT:http://arxiv.org/abs/1710.10903

2.4 Heterogeneous Graph Attention Network (HAN)

在这部分,我们介绍HAN,它通过利用节点级注意力和语义级注意力来学习节点和元路径的重要性,为异构图扩展了GCN。因此,HAN可以捕获异构背后的复杂结构和丰富的语义。 HAN

  • 利用元路径将异质图分割成几个同质图,在每个同质图内应用节点级别的注意力机制生成节点表示。

  • 然后再通过一次语义级别的注意力机制去关注基于每个Meta-path的同质图间的节点表示,进而生成最终的节点表示。

  • HAN:http://arxiv.org/abs/1903.07293


本期责任编辑:杨成本期编辑:刘佳玮

成为VIP会员查看完整内容
32

如何阅读Java:理解、调试和优化JVM应用程序将教会您如何更好地理解Java应用程序代码。它充满了针对棘手问题的代码调查技术,比如发现代码逻辑中的小故障或定位间歇性运行时问题。有了这些工具和实践,当您需要识别性能问题、理解依赖关系、发现崩溃的根本原因或解释意外结果时,您将节省时间。无论您是高级软件工程师还是刚刚开始,这本无价的指南都将帮助您了解应用程序如何工作的基本任务。

成为VIP会员查看完整内容
12
Top
微信扫码咨询专知VIP会员