含有"算法"标签的书籍

数据结构与算法分析

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。

全书特点如下:

●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法

●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树

●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构

●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容

●合并了堆排序平均情况分析的一些新结果

本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。 本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。

剑指Offer

《剑指Offer——名企面试官精讲典型编程题(纪念版)》是为纪念本书英文版全球发行而推出的特殊版本,在原版基础上新增大量本书英文版中的精选题目,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。全书分为8章,主要包括面试流程:讨论面试每一环节需要注意的问题;面试需要的基础知识:从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量代码:讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解题思路:总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路再动手编程;优化时间和空间效率:读者将学会优化时间效率及空间换时间的常用算法,从而在面试中找到最优解;面试必备能力:总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;综合面试案例:总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为;英文版面试题增补,优选久经欧美知名企业面试考验的经典题目,帮助国内读者开阔视野、增补技能。

《剑指Offer——名企面试官精讲典型编程题(纪念版)》适合即将走向工作岗位的大学生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。

从零开始大模型开发与微调:基于PyTorch与ChatGLM

内容简介

大模型是深度学习自然语言处理皇冠上的一颗明珠,也是当前AI和NLP研究与产业中最重要的方向之一。本书使用PyTorch 2.0作为学习大模型的基本框架,以ChatGLM为例详细讲解大模型的基本理论、算法、程序实现、应用实战以及微调技术,为读者揭示大模型开发技术。本书配套示例源代码、PPT课件。

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》共18章,内容包括人工智能与大模型、PyTorch 2.0深度学习环境搭建、从零开始学习PyTorch 2.0、深度学习基础算法详解、基于PyTorch卷积层的MNIST分类实战、PyTorch数据处理与模型展示、ResNet实战、有趣的词嵌入、基于PyTorch循环神经网络的中文情感分类实战、自然语言处理的编码器、预训练模型BERT、自然语言处理的解码器、强化学习实战、只具有解码器的GPT-2模型、实战训练自己的ChatGPT、开源大模型ChatGLM使用详解、ChatGLM高级定制化应用实战、对ChatGLM进行高级微调。

《从零开始大模型开发与微调:基于PyTorch与ChatGLM》适合PyTorch深度学习初学者、大模型开发初学者、大模型开发人员学习,也适合高等院校人工智能、智能科学与技术、数据科学与大数据技术、计算机科学与技术等专业的师生作为教学参考书。

作者简介

王晓华,高校计算机专业讲师,研究方向为云计算、大数据与人工智能。著有《PyTorch 2.0深度学习从零开始学》《Python机器学习与可视化分析实战》《谷歌JAX深度学习从零开始学》《Spark 3.0大数据分析与挖掘:基于机器学习》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow知识图谱实战》《TensorFlow人脸识别实战》《TensorFlow语音识别实战》《TensorFlow+Keras自然语言处理实战》《TensorFlow 2.0卷积神经网络实战》《Keras实战:基于TensorFlow2.2的深度学习实践》《TensorFlow 2.0深度学习从零开始学》《深度学习的数学原理与实现》。

目录

目 录

第1章 新时代的曙光—人工智能与大模型 1

  • 1.1 人工智能:思维与实践的融合 1
    • 1.1.1 人工智能的历史与未来 2
    • 1.1.2 深度学习与人工智能 2
    • 1.1.3 选择PyTorch 2.0实战框架 3
  • 1.2 大模型开启人工智能的新时代 4
    • 1.2.1 大模型带来的变革 4
    • 1.2.2 最强的中文大模型—清华大学ChatGLM介绍 5
    • 1.2.3 近在咫尺的未来—大模型的应用前景 6
  • 1.3 本章小结 7

第2章 PyTorch 2.0深度学习环境搭建 8

  • 2.1 环境搭建1:安装Python 8
    • 2.1.1 Miniconda的下载与安装 8
    • 2.1.2 PyCharm的下载与安装 11
    • 2.1.3 Python代码小练习:计算Softmax函数 14
  • 2.2 环境搭建2:安装PyTorch 2.0 15
    • 2.2.1 Nvidia 10/20/30/40系列显卡选择的GPU版本 15
    • 2.2.2 PyTorch 2.0 GPU Nvidia运行库的安装 15
    • 2.2.3 PyTorch 2.0小练习:Hello PyTorch 18
  • 2.3 生成式模型实战:古诗词的生成 18
  • 2.4 图像降噪:手把手实战第一个深度学习模型 19
    • 2.4.1 MNIST数据集的准备 19
    • 2.4.2 MNIST数据集的特征和标签介绍 21
    • 2.4.3 模型的准备和介绍 22
    • 2.4.4 对目标的逼近—模型的损失函数与优化函数 24
    • 2.4.5 基于深度学习的模型训练 24
  • 2.5 本章小结 26

第3章 从零开始学习PyTorch 2.0 27

  • 3.1 实战MNIST手写体识别 27
    • 3.1.1 数据图像的获取与标签的说明 27
    • 3.1.2 实战基于PyTorch 2.0的手写体识别模型 29
    • 3.1.3 基于Netron库的PyTorch 2.0模型可视化 32
  • 3.2 自定义神经网络框架的基本设计 34
    • 3.2.1 神经网络框架的抽象实现 34
    • 3.2.2 自定义神经网络框架的具体实现 35
  • 3.3 本章小结 43

第4章 一学就会的深度学习基础算法详解 44

  • 4.1 反向传播神经网络的前身历史 44
  • 4.2 反向传播神经网络两个基础算法详解 47
    • 4.2.1 最小二乘法详解 48
    • 4.2.2 梯度下降算法 50
    • 4.2.3 最小二乘法的梯度下降算法及其Python实现 52
  • 4.3 反馈神经网络反向传播算法介绍 58
    • 4.3.1 深度学习基础 58
    • 4.3.2 链式求导法则 59
    • 4.3.3 反馈神经网络的原理与公式推导 60
    • 4.3.4 反馈神经网络原理的激活函数 64
    • 4.3.5 反馈神经网络原理的Python实现 66
  • 4.4 本章小结 70

第5章 基于PyTorch卷积层的MNIST分类实战 71

  • 5.1 卷积运算的基本概念 71
    • 5.1.1 基本卷积运算示例 72
    • 5.1.2 PyTorch中的卷积函数实现详解 73
    • 5.1.3 池化运算 75
    • 5.1.4 Softmax激活函数 77
    • 5.1.5 卷积神经网络的原理 78
  • 5.2 实战:基于卷积的MNIST手写体分类 80
    • 5.2.1 数据的准备 80
    • 5.2.2 模型的设计 81
    • 5.2.3 基于卷积的MNIST分类模型 82
  • 5.3 PyTorch的深度可分离膨胀卷积详解 84
    • 5.3.1 深度可分离卷积的定义 84
    • 5.3.2 深度的定义以及不同计算层待训练参数的比较 86
    • 5.3.3 膨胀卷积详解 87
    • 5.3.4 实战:基于深度可分离膨胀卷积的MNIST手写体识别 87
  • 5.4 本章小结 90

第6章 可视化的PyTorch数据处理与模型展示 91

  • 6.1 用于自定义数据集的torch.utils.data工具箱使用详解 92
    • 6.1.1 使用torch.utils.data. Dataset封装自定义数据集 92
    • 6.1.2 改变数据类型的Dataset类中的transform的使用 93
    • 6.1.3 批量输出数据的DataLoader类详解 98
  • 6.2 实战:基于tensorboardX的训练可视化展示 100
    • 6.2.1 可视化组件tensorboardX的简介与安装 100
    • 6.2.2 tensorboardX可视化组件的使用 100
    • 6.2.3 tensorboardX对模型训练过程的展示 103
  • 6.3 本章小结 105

第7章 ResNet实战 106

  • 7.1 ResNet基础原理与程序设计基础 106
    • 7.1.1 ResNet诞生的背景 107
    • 7.1.2 PyTorch 2.0中的模块工具 109
    • 7.1.3 ResNet残差模块的实现 110
    • 7.1.4 ResNet网络的实现 112
  • 7.2 ResNet实战:CIFAR-10数据集分类 114
    • 7.2.1 CIFAR-10数据集简介 114
    • 7.2.2 基于ResNet的CIFAR-10数据集分类 117
  • 7.3 本章小结 118

第8章 有趣的词嵌入 120

  • 8.1 文本数据处理 120
    • 8.1.1 Ag_news数据集介绍和数据清洗 120
    • 8.1.2 停用词的使用 123
    • 8.1.3 词向量训练模型Word2Vec使用介绍 125
    • 8.1.4 文本主题的提取:基于TF-IDF 128
    • 8.1.5 文本主题的提取:基于TextRank 132
  • 8.2 更多的词嵌入方法—FastText和预训练词向量 134
    • 8.2.1 FastText的原理与基础算法 135
    • 8.2.2 FastText训练及其与PyTorch 2.0的协同使用 136
    • 8.2.3 使用其他预训练参数来生成PyTorch 2.0词嵌入矩阵(中文) 140
  • 8.3 针对文本的卷积神经网络模型简介—字符卷积 141
    • 8.3.1 字符(非单词)文本的处理 141
    • 8.3.2 卷积神经网络文本分类模型的实现—Conv1d(一维卷积) 148
  • 8.4 针对文本的卷积神经网络模型简介—词卷积 151
    • 8.4.1 单词的文本处理 151
    • 8.4.2 卷积神经网络文本分类模型的实现—Conv2d(二维卷积) 153
  • 8.5 使用卷积对文本分类的补充内容 155
    • 8.5.1 汉字的文本处理 155
    • 8.5.2 其他细节 157
  • 8.6 本章小结 158

第9章 基于循环神经网络的中文情感分类实战 160

  • 9.1 实战:循环神经网络与情感分类 160
  • 9.2 循环神经网络理论讲解 165
    • 9.2.1 什么是GRU 165
    • 9.2.2 单向不行,那就双向 167
  • 9.3 本章小结 168

第10章 从零开始学习自然语言处理的编码器 169

  • 10.1 编码器的核心—注意力模型 170
    • 10.1.1 输入层—初始词向量层和位置编码器层 170
    • 10.1.2 自注意力层 172
    • 10.1.3 ticks和Layer Normalization 177
    • 10.1.4 多头注意力 178
  • 10.2 编码器的实现 180
    • 10.2.1 前馈层的实现 181
    • 10.2.2 编码器的实现 182
  • 10.3 实战编码器:拼音汉字转化模型 184
    • 10.3.1 汉字拼音数据集处理 185
    • 10.3.2 汉字拼音转化模型的确定 187
    • 10.3.3 模型训练部分的编写 190
  • 10.4 本章小结 191

第11章 站在巨人肩膀上的预训练模型BERT 193

  • 11.1 预训练模型BERT 193
    • 11.1.1 BERT的基本架构与应用 194
    • 11.1.2 BERT预训练任务与微调 195
  • 11.2 实战BERT:中文文本分类 198
    • 11.2.1 使用Hugging Face获取BERT预训练模型 198
    • 11.2.2 BERT实战文本分类 200
  • 11.3 更多的预训练模型 203
  • 11.4 本章小结 205

第12章 从1开始自然语言处理的解码器 206

  • 12.1 解码器的核心—注意力模型 206
    • 12.1.1 解码器的输入和交互注意力层的掩码 207
    • 12.1.2 为什么通过掩码操作能够减少干扰 212
    • 12.1.3 解码器的输出(移位训练方法) 213
    • 12.1.4 解码器的实现 214
  • 12.2 解码器实战—拼音汉字翻译模型 215
    • 12.2.1 数据集的获取与处理 216
    • 12.2.2 翻译模型 218
    • 12.2.3 拼音汉字模型的训练 229
    • 12.2.4 拼音汉字模型的使用 230
  • 12.3 本章小结 231

第13章 基于PyTorch 2.0的强化学习实战 232

  • 13.1 基于强化学习的火箭回收实战 232
    • 13.1.1 火箭回收基本运行环境介绍 233
    • 13.1.2 火箭回收参数介绍 234
    • 13.1.3 基于强化学习的火箭回收实战 234
    • 13.1.4 强化学习的基本内容 239
  • 13.2 强化学习的基本算法—PPO算法 243
    • 13.2.1 PPO算法简介 243
    • 13.2.2 函数使用说明 244
    • 13.2.3 一学就会的TD-error理论介绍 245
    • 13.2.4 基于TD-error的结果修正 247
    • 13.2.5 对于奖励的倒序构成的说明 248
  • 13.3 本章小结 249

第14章 ChatGPT前身—只具有解码器的GPT-2模型 250

  • 14.1 GPT-2模型简介 250
    • 14.1.1 GPT-2模型的输入和输出结构—自回归性 251
    • 14.1.2 GPT-2模型的PyTorch实现 252
    • 14.1.3 GPT-2模型输入输出格式的实现 257
  • 14.2 Hugging Face GPT-2模型源码模型详解 259
    • 14.2.1 GPT2LMHeadModel类和GPT2Model类详解 259
    • 14.2.2 Block类详解 270
    • 14.2.3 Attention类详解 274
    • 14.2.4 MLP类详解 281
  • 14.3 Hugging Face GPT-2模型的使用与自定义微调 282
    • 14.3.1 模型的使用与自定义数据集的微调 282
    • 14.3.2 基于预训练模型的评论描述微调 285
  • 14.4 自定义模型的输出 286
    • 14.4.1 GPT输出的结构 286
    • 14.4.2 创造性参数temperature与采样个数topK 288
  • 14.5 本章小结 290

第15章 实战训练自己的ChatGPT 291

  • 15.1 什么是ChatGPT 291
  • 15.2 RLHF模型简介 293
    • 15.2.1 RLHF技术分解 293
    • 15.2.2 RLHF中的具体实现—PPO算法 296
  • 15.3 基于RLHF实战的ChatGPT正向评论的生成 297
    • 15.3.1 RLHF模型进化的总体讲解 297
    • 15.3.2 ChatGPT评分模块简介 298
    • 15.3.3 带有评分函数的ChatGPT模型的构建 300
    • 15.3.4 RLHF中的PPO算法—KL散度 301
    • 15.3.5 RLHF中的PPO算法—损失函数 303
  • 15.4 本章小结 304

第16章 开源大模型ChatGLM使用详解 305

  • 16.1 为什么要使用大模型 305
    • 16.1.1 大模型与普通模型的区别 306
    • 16.1.2 一个神奇的现象—大模型的涌现能力 307
  • 16.2 ChatGLM使用详解 307
    • 16.2.1 ChatGLM简介及应用前景 308
    • 16.2.2 下载ChatGLM 309
    • 16.2.3 ChatGLM的使用与Prompt介绍 310
  • 16.3 本章小结 311

第17章 开源大模型ChatGLM 高级定制化应用实战 312

  • 17.1 医疗问答GLMQABot搭建实战—基于ChatGLM搭建专业客服问答机器人 312
    • 17.1.1 基于ChatGLM搭建专业领域问答机器人的思路 313
    • 17.1.2 基于真实医疗问答的数据准备 314
    • 17.1.3 文本相关性(相似度)的比较算法 315
    • 17.1.4 提示语句Prompt的构建 316
    • 17.1.5 基于单个文档的GLMQABot的搭建 316
  • 17.2 金融信息抽取实战—基于知识链的ChatGLM本地化知识库检索与智能答案生成 318
    • 17.2.1 基于ChatGLM搭建智能答案生成机器人的思路 319
    • 17.2.2 获取专业(范畴内)文档与编码存储 320
    • 17.2.3 查询文本编码的相关性比较与排序 322
    • 17.2.4 基于知识链的ChatGLM本地化知识库检索与智能答案生成 325
  • 17.3 基于ChatGLM的一些补充内容 327
    • 17.3.1 语言的艺术—Prompt的前世今生 328
    • 17.3.2 清华大学推荐的ChatGLM微调方法 329
    • 17.3.2 一种新的基于ChatGLM的文本检索方案 330
  • 17.4 本章小结 331

第18章 对训练成本上亿美元的ChatGLM进行高级微调 332

  • 18.1 ChatGLM模型的本地化处理 332
    • 18.1.1 下载ChatGLM源码与合并存档 332
    • 18.1.2 修正自定义的本地化模型 335
    • 18.1.3 构建GLM模型的输入输出示例 337
  • 18.2 高级微调方法1—基于加速库Accelerator的全量数据微调 339
    • 18.2.1 数据的准备—将文本内容转化成三元组的知识图谱 339
    • 18.2.2 加速的秘密—Accelerate模型加速工具详解 342
    • 18.2.3 更快的速度—使用INT8(INT4)量化模型加速训练 345
  • 18.3 高级微调方法2—基于LoRA的模型微调 348
    • 18.3.1 对ChatGLM进行微调的方法—LoRA 348
    • 18.3.2 自定义LoRA的使用方法 349
    • 18.3.3 基于自定义LoRA的模型训练 350
    • 18.3.4 基于自定义LoRA的模型推断 352
    • 18.3.5 基于基本原理的LoRA实现 355
  • 18.4 高级微调方法3—基于Huggingface的PEFT模型微调 357
    • 18.4.1 PEFT技术详解 358
    • 18.4.2 PEFT的使用与参数设计 359
    • 18.4.3 Huggingface专用PEFT的使用 360
  • 18.5 本章小结 362

从机器学习到深度学习

《从机器学习到深度学习:基于scikit-learn与TensorFlow的高效开发实战》是一本场景式的机器学习实践书,笔者努力做到“授人以渔,而非授人以鱼”。理论方面从人工智能(AI)与机器学习(ML)的基本要素讲起,逐步展开有监督学习、无监督学习、强化学习这三大类模型的应用场景与算法原理;实践方面通过金融预测、医疗诊断概率模型、月球登陆器、图像识别、写诗机器人、中国象棋博弈等案例启发读者将机器学习应用在各行各业里,其中后三个案例使用了深度学习技术。

《从机器学习到深度学习:基于scikit-learn与TensorFlow的高效开发实战》试图用通俗的语言讲解涵盖算法模型的机器学习,主要内容包括机器学习通用概念、三个基本科学计算工具、有监督学习、聚类模型、降维模型、隐马尔可夫模型、贝叶斯网络、自然语言处理、深度学习、强化学习、模型迁移等。在深入浅出地解析模型与算法之后,介绍使用Python相关工具进行开发的方法、解析经典案例,使读者做到“能理解、能设计、能编码、能调试”,没有任何专业基础的读者在学习本书后也能够上手设计与开发机器学习产品。

《从机器学习到深度学习:基于scikit-learn与TensorFlow的高效开发实战》内容深入浅出、实例典型,适合对机器学习感兴趣的产品设计、技术管理、数据分析、软件开发或学生读者。阅读本书既能了解当前工业界的主流机器学习与深度学习开发工具的使用方法,又能从战略方面掌握如何将人工智能技术应用到自己的企业与产品中。

信息检索

“这本书是越来越多的信息检索文献里的一本好书”

——Donald H. Kraft,计算机评论

“学术巨匠齐聚一堂编撰了一部信息检索的优秀教材。Stefan Bu ̈ttcher、Charles Clarke和Gordon Cormack以合计超过五十年的研究经验,组成了横跨三代的信息检索研究泰斗组合……这本书是所有信息检索研究者和从业人员的必读教材!”

——来自由Amit Singhal撰写的序言

信息检索奠定了现代搜索引擎的基石。本书介绍了现代搜索技术的核心主题,包括了算法、数据结构、索引、检索和评价。重点在于实现和实验;每一章都有练习和对学生项目的建议。Wumpus——本书其中一位作者开发的一个多用户开源信息检索系统,可以在网上下载——提供了模型实现,可作为学生练习的一个基础。本书采用的模块化结构使教师可以将此书用于不同水平的研究生课程中,包括从数据库系统角度教授的课程、专注于理论的传统信息检索课程和关于Web检索基础的课程。

对信息检索的基础进行介绍之后,本书分别在相应的部分介绍了3个重要主题——索引、检索和评价。本书的最后一部分借用并扩展了前面部分的基本内容,考虑了以下具体应用:并行搜索引擎、Web搜索和XML检索。每章末尾的参考文献给出了延伸阅读;练习包括纸笔练习题和重大编程项目。除了用于课堂教学,本书对计算机科学、计算机工程和软件工程的专业人员来说也具有很好的参考价值。

信息检索

“这本书是越来越多的信息检索文献里的一本好书”

——Donald H. Kraft,计算机评论

“学术巨匠齐聚一堂编撰了一部信息检索的优秀教材。Stefan Bu ̈ttcher、Charles Clarke和Gordon Cormack以合计超过五十年的研究经验,组成了横跨三代的信息检索研究泰斗组合……这本书是所有信息检索研究者和从业人员的必读教材!”

——来自由Amit Singhal撰写的序言

信息检索奠定了现代搜索引擎的基石。本书介绍了现代搜索技术的核心主题,包括了算法、数据结构、索引、检索和评价。重点在于实现和实验;每一章都有练习和对学生项目的建议。Wumpus——本书其中一位作者开发的一个多用户开源信息检索系统,可以在网上下载——提供了模型实现,可作为学生练习的一个基础。本书采用的模块化结构使教师可以将此书用于不同水平的研究生课程中,包括从数据库系统角度教授的课程、专注于理论的传统信息检索课程和关于Web检索基础的课程。

对信息检索的基础进行介绍之后,本书分别在相应的部分介绍了3个重要主题——索引、检索和评价。本书的最后一部分借用并扩展了前面部分的基本内容,考虑了以下具体应用:并行搜索引擎、Web搜索和XML检索。每章末尾的参考文献给出了延伸阅读;练习包括纸笔练习题和重大编程项目。除了用于课堂教学,本书对计算机科学、计算机工程和软件工程的专业人员来说也具有很好的参考价值。

神经网络与机器学习(原书第3版)

神经网络是计算智能和机器学习的重要分支,在诸多领域都取得了很大的成功。在众多神经网络著作中,影响最为广泛的是Simon Haykin的《神经网络原理》(第3版更名为《神经网络与机器学习》)。在本书中,作者结合近年来神经网络和机器学习的最新进展,从理论和实际应用出发,全面、系统地介绍了神经网络的基本模型、方法和技术,并将神经网络和机器学习有机地结合在一起。

本书不但注重对数学分析方法和理论的探讨,而且也非常关注神经网络在模式识别、信号处理以及控制系统等实际工程问题的应用。本书的可读性非常强,作者举重若轻地对神经网络的基本模型和主要学习理论进行了深入探讨和分析,通过大量的试验报告、例题和习题来帮助读者更好地学习神经网络。

本版在前一版的基础上进行了广泛修订,提供了神经网络和机器学习这两个越来越重要的学科的最新分析。

本书特色:

1. 基于随机梯度下降的在线学习算法;小规模和大规模学习问题。

2. 核方法,包括支持向量机和表达定理。

3. 信息论学习模型,包括连接、独立分量分析(ICA)、一致独立分量分析和信息瓶颈。

4. 随机动态规划,包括逼近和神经动态规划。

5. 逐次状态估计算法,包括卡尔曼和粒子滤波器。

6. 利用逐次状态估计算法训练递归神经网络。

7. 富有洞察力的面向计算机的试验。

MySQL技术内幕

《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。

《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。

《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。

算法之美

《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑树、AVL 树和字典树)、图、集合(包括不相交集)与字典等常用数据结构。同时,通过对22 个经典问题(包括约瑟夫环问题、汉诺塔问题、八皇后问题和骑士周游问题等)的讲解,逐步揭开隐匿在数据结构背后的算法原理,力图帮助读者夯实知识储备,激活思维技巧,并最终冲破阻碍编程能力提升的重重藩篱。

《算法之美——隐匿在数据结构背后的原理(C++版)》适合作为大专院校相关专业学生研习算法与数据结构知识的课外参考书。对有意参加信息学竞赛的读者,本书亦有很强的参考价值。此外,鉴于算法与数据结构在求职过程中常常被视为考察重点,所以就临近毕业的学生或其他欲从事IT 行业的求职者而言,阅读《算法之美——隐匿在数据结构背后的原理(C++版)》也将对面试备考大有裨益。

编程珠玑(第2版•修订版)

历史上最伟大的计算机科学著作之一

融深邃思想、实战技术与趣味轶事于一炉的奇书

带你真正领略计算机科学之美

多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

书评

“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”

——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者

Github | Docker | Project