"机械工业出版社"出版的书籍

数据结构与算法分析

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

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

全书特点如下:

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

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

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

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

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

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

Flask Web开发实战

这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。

• 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2 .7和Python3.6。

• 内容最新,基于Flask 1.0.2版本,所有的Python库、前端框架和JavaScript库均使用最新版本。

• 内容全面,除了基础知识,还包含Web API、全文搜索、国际化和本地化、第三方登录、AJAX、WebSocket、源码分析、扩展开发等实用内容。

• 实战性强,包含8个示例程序,5个实战项目和1个Flask扩展。实战项目包括留言板、个人博客、图片社交网站、待办事项程序和聊天室,分别对应不同的知识点,难度递增。

• 5个实战项目的Git标签经过精心设置,每个标签都对应新增的某个程序功能。

• 全书所有章节均经过精心设计和编排,力求满足不同水平读者的需要,并且让读者可以循序渐进的掌握Flask开发知识和技巧。

• 通过丰富的图表和代码示例讲解复杂知识点,尽量做到通俗易懂。

本书共16章,分为三部分。

第一部分 基础篇(第1~6章)

通过大量的程序实例详细介绍了Flask的所有基础知识,同时在每章的后面又提供了一些进阶技巧,供进阶读者学习。

第二部分 实战篇(第7~11章)

通过5个真实的项目案例来串接和阐释不同的知识点,难度逐渐递增。这5个案例分别为:留言板SayHello、个人博客Bluelog、图片社交网站Albumy、待办事项程序Todoism和聊天室CatChat。

第三部分 进阶篇(第12~16章)

首先介绍了Flask程序的部署流程:测试、性能优化和部署上线;然后通过一个真实的实例讲解了Flask扩展的开发,最后以源代码为切入点深入剖析了Flask的实现原理与主要工作机制。

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阅读。

Redis设计与实现

【官方网站】

本书的官方网站 www.RedisBook.com 提供了书本试读、相关源码下载和勘误回报等服务,欢迎读者浏览和使用。

【编辑推荐】

系统而全面地描述了 Redis 内部运行机制

图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备

包括大部分Redis单机特征,以及所有多机特性

【读者评价】

这本书描述的知识点很丰富,覆盖很全,里面提到特性较多,有不少我们也没用过 :) 每个命令内部的机制的介绍很不错,很多估计也是首次有详细文档介绍。

——杨卫华(@TimYang)新浪微博技术总监

近几年Redis以其高性能、高灵活性的优点,变得越来越流行。但很多人在使用Redis时,仅仅还是停留在比较表层的功能性认识,缺乏对内部机制原理的深入理解。本书是huangz同学长期对Redis源码的阅读心得结晶,书中对Redis的各个方面都进行了详细且深入的讲解,将复杂的原理用最简单的方式为大家解构和讲解,强烈推荐给每一位Redis的使用者阅读。

—— iammutex,NoSQLFan站长,乐视网技术经理

Redis 是近些年来特别火爆的 NoSQL 之一。纵观中外各种书籍还没有一本能对 Redis 内部进行深入剖析,《Redis 设计与实现》可谓开此先河。常和作者在网上交流,知道作者为这本书付出了大量的心血。这本书行文流畅,思路清晰,详细地介绍了 Redis 源码的方方面面。无论是想学习 NoSQL、网络编程的初学者,还是源码控的进阶者,本书都会有很大的帮助。

—— 阮若夷,支付宝高级专家

【内容简介】

本书全面而完整地讲解了Redis的内部机制与实现方式,对Redis的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,图示丰富,描述清晰,并给出大量参考信息。通过阅读本书,读者可以快速、有效地了解Redis的内部构造以及运作机制,更好、更高效地使用Redis。

本书主要分为四大部分。第一部分“数据结构与对象”介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分“单机数据库的实现”对Redis实现单机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分“多机数据库的实现”对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分“独立功能的实现”对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本、排序、二进制位数组、慢查询日志、监视器等。本书作者专门维护了www.redisbook.com网站,提供带有详细注释的Redis源代码,以及本书相关的更新内容。

现代操作系统(原书第4版)

Andrew S. Tanenbaum教授编写的教材《现代操作系统》现在已经是第4版了。第4版在保持原有特色的基础上,又增添了许多新的内容,反映了当代操作系统的发展与动向,并不断地与时俱进。

对比第3版,第4版有很多变化。一些是教材中多处可见的细微变化,一些是就某一功能或机制增加了对最新技术的介绍,如增加了futex同步原语、读–复制–更新(Read-Copy-Update)机制以及6级RAID的内容。另外一些则是重大变化,例如:用Windows 8替换了Vista的内容;用相当大的篇幅介绍了移动终端应用最广泛、发展最快的Android,以替换原来Symbian的内容;增加了新的一章,介绍目前最流行的虚拟化和云技术,其中还包括典型案例VMware。很多章节在内容安排上也有较大的改动,例如:第8章对多处理机系统的内容进行了大幅更新;第9章对安全的内容进行了大量修改和重新组织,增加了对缺陷代码、恶意软件进行探查和防御的新内容,对于空指针引用和缓冲区溢出等攻击行为提出了更详细的应对方法,并从攻击路径入手,详细论述了包含金丝雀(canary)保护、不执行(NX)位以及地址空间随机化在内的防御机制。最后的参考文献也进行了更新,收录了本书第3版推出后发表的新论文。大部分章节最后的相关研究部分都完全重写了,以反映最新的操作系统研究成果。

本教材还增添了一名合著者—来自阿姆斯特丹自由大学的 Herbert Bos教授,他是一名全方位的系统专家,尤其擅长安全和UNIX方面。

Tanenbaum教授的教材还有一个特点,就是丰富的、引发思考的习题。所有章节后面都附有大量的习题,完成这些习题很不容易,需要花费很长时间,在深入理解操作系统精髓的基础上才能作答。这些习题很灵活,并且与实际系统相结合,既考核对基本概念、工作原理的理解,又考核实际动手能力。

Tanenbaum教授的教材是需要细细阅读的,字里行间体现了他对设计与实现操作系统的各种技术的深入思考。正因为Tanenbaum教授自己设计开发了一个小型、真实的操作系统MINIX,所以通过他在教材中的讲述,读者可以了解实现操作系统时应该考虑哪些问题、注重哪些细节。

设计模式之禅(第2版)

本书是设计模式领域公认的3本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”是本书的写作风格和方法的最大特点。第1版2010年出版,畅销至今,广受好评,是该领域的里程碑著作。深刻解读6大设计原则和28种设计模式的准确定义、应用方法和最佳实践,全方位比较各种同类模式之间的异同,详细讲解将不同的模式组合使用的方法。第2版在第1版的基础上有两方面的改进,一方面结合读者的意见和建议对原有内容中的瑕疵进行了修正和完善,另一方面增加了4种新的设计模式,希望这一版能为广大程序员们奉上一场更加完美的设计模式盛宴!

全书共38章,分为五部分:第一部分(第1~6章),以一种全新的视角对面向对象程序设计的6大原则进行了深刻解读,旨在让读者能更深刻且准确地理解这些原则,为后面的学习打下基础;第二部分(第7~29章)通过大量生动的案例讲解和分析了23种最常用的设计模式,并进行了扩展讲解,通俗易懂,趣味性极强而又紧扣模式的核心;第三部分(第30~33章)对同类型和相关联的模式进行了深入分析和比较,旨在阐明各种设计模式之间的差别以及它们的理想应用场景;第四部分(第34~36章)探讨了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用;第五部分(第37~38章)是本书的扩展篇,首先从实现的角度对MVC框架的原理进行了深入分析,然后讲解了5种新的设计模式的原理、意图和最佳实践。本书最后附有一份精美的设计模式彩图,可以裁剪,便于参考。

鸟哥的Linux私房菜

《鸟哥的Linux私房菜:服务器架设篇(第3版)》内容简介:您已有Linux基础,想要进一步学习服务器架设?还想了解如何维护与管理您的服务器?本书是您最佳的选择。

目前有关Linux架站的书籍大多只教导读者如何架设服务器,很少针对服务器的维护与管理,以及发生问题时的应对策略加以说明,以至于一旦服务器遭受攻击,眼见的就是一场手忙脚乱。因此,作者先从系统基础以及网络基础讲起,再谈到网络攻击与防火墙防护主机后,才进入服务器的架设。

《鸟哥的Linux私房菜:服务器架设篇(第3版)》共分为四篇:第一篇,服务器搭建前的进修专区,主要介绍架设服务器之前必须具备的基本知识,看完这一篇,不论您的Linux是以何种方式进行Internet连接,都将不成问题;第二篇,主机的简易安全防护措施,这一篇鸟哥将告诉您如何保护您的主机,以及如何养成良好的操作习惯,使您的主机能够百毒不侵,安然渡过一次次的考验;第三篇,局域网内常见服务器的搭建,介绍内部网络经常使用的远程连接服务(SSH、VNC、XRDP),网络参数设置服务(DHCP、NTP),网络磁盘服务(Samba、NFS、iSCSI),以及代理服务器等服务。其中SSH密钥系统,对于异地备份更是相当有帮助,您绝对不能错过;第四篇,常见因特网服务器的搭建,介绍DNS、WWW、FTP及Mail Server等常见的服务。

数据库系统概念(原书第六版)

【编辑推荐】

数据库领域的殿堂级作品

夯实数据库理论基础,增强数据库技术内功的必备之选

对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!

【内容简介】

本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。

第6版保持了前5版的总体风格,同时对内容进行了扩充,对结构进行了调整,以更好地符合数据库教学的需求和反映数据库设计、管理与使用方式的发展和变化。具体更新内容如下:

调整了内容组织结构,将SQL内容提前,并集中进行介绍。

采用一个新的模式(基于大学的数据)作为贯穿全书的运行实例。

修订和更新了对数据存储、索引和查询优化以及分布式数据库的涵盖。

修订了E-R模型、关系设计和事务管理等内容。

扩充了关于应用开发和安全性的素材。

本书配套网站(http://www.db-book.com)提供的教辅资源包括:

· 书中各章的教学课件。

· 实践练习的答案。

· 未放入纸版书中的四个附录(高级关系数据库设计、其他关系查询语言、网状模型、层次模型)。

· 实验素材(包括大学模式和习题中用到的其他关系的SQL DDL和样例数据,以及关于建立和使用各种数据库系统和工具的说明书)。

· 最新勘误表。

现代操作系统(第3版)

本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。

本书适合作为高等院校计算机专业操作系统课程教材,也是设计、开发操作系统的重要参考书。

Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。

在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。

本书特色:

● 涉及Windows Vista以及最新的Linux/UNIX操作系统。

● 用一整章(第12章)的篇幅对用于移动设备的Symbian操作系统进行分析。

● 涵盖更多、更新的安全方面的内容。

● 重新组织内容,尽早论述关键抽象概念。

● 给出与未来操作系统发展有关的新研究成果。

● 更新和增加了编程练习。

● 在线操作系统练习(http://www.prenhall.com/tanenbaum/details.html)采用主流Windows操作系统以及开源工具。

● 包括操作系统模拟练习。

MySQL技术内幕

本书是畅销书《MySQL技术内幕:InnoDB存储引擎》的姊妹篇,深刻揭示了MySQL中SQL编程的精髓与奥秘,能为开发者和DBA们利用SQL语言解决各种与开发和管理相关的MySQL难题提供很好的指导和帮助。

全书一共10章,全面探讨了MySQL中SQL编程的各种方法、技巧与最佳实践。第1章首先介绍了SQL编程的概念、数据库的应用类型以及SQL查询分析器,然后介绍了SQL编程的三个阶段,希望读者通过本书的学习能达到最后的融合阶段。第2章全面讲解了MySQL中的各种数据类型和与之相对应的各种编程问题。第3章深入探讨了逻辑查询与物理查询的原理与方法。第4章的主题是子查询,不仅讲解了各种常用的子查询方法及其优化,而且还讲解了MariaDB对子查询的优化。第5章首先详细地分析了MySQL中的各种联接及其内部的实现算法,以及MariaDB数据库中引入的Hash Join,然后针对关于集合的各种操作给出了解决方案。第6章分享了聚合和旋转操作的方法与技巧,并对一些经典的常见问题给出了解决方案。第7章深入阐述了游标的使用,重点在于如何通过正确地使用游标来提高SQL编程的效率。第8章讲解了关于事务的各种编程技巧,同时对事务的分类进行了详细阐述。第9章详细分析了各种索引的内部实现,探讨了如何使用索引来提升查询效率。第10章介绍了分区的方法与技巧,阐明了如何通过分区来进行SQL编程。

无论你是开发人员还是DBA,无论你是需要一本SQL查询手册还是希望系统深入地学习SQL编程,本书都会是不错的选择。

深度学习:方法及应用

序言

译者序

深度学习是目前人工智能、机器学习领域异常火热的研究方向,受到了学术界和工业界的高度关注,被《麻省理工学院技术评论》(MIT Technology Review)评为2013年十大突破性技术之首。深度学习已经在语音识别、图像识别、自然语言处理等诸多领域取得了突破性进展,对学术界和工业界产生了深远的影响。本书原著的作者——微软研究院的邓力博士和俞栋博士是最早将深度学习技术付诸于语音识别工业级实践的专家,他们和深度学习专家多伦多大学Geoffrey Hinton教授合作,最早将深度神经网络应用于大词汇量连续语音识别领域中,使相对识别错误率降低了20%以上。

作为多年的导师和好朋友,两位专家将这本书的中文翻译任务交付给我,我倍感荣幸。此次中译本是在忠于原著的基础上进行翻译的,既涉及深度学习的背景和基本概念,又涉及常用的模型与方法,同时包含深度学习在不同领域中的应用。本书共有12章,具体内容包括:引言、深度学习的历史、三类深度学习网络、深度自编码器、预训练的深度神经网络、深度堆叠网络及其变种、语音和音频处理中的应用、在语言模型和自然语言处理中的相关应用、信息检索领域中的应用、在目标识别和计算机视觉中的应用、多模态和多任务学习中的典型应用、结论。

本书的翻译除了受到原著作者的指导,也受到了张蓬副教授、陈小敏、吕航、丁闯、孙思宁、何长青、樊博、张弼弘、张彬彬、周祥增的帮助,在此表示感谢。同时感谢机械工业出版社的大力支持与推动。没有他们的帮助,本书的翻译是无法促成的。

由于深度学习技术是一个快速发展的方向,新的模型和应用层出不穷,加之本人学识有限以及中英文语言表达、术语翻译上的差异,书中难免存在错误,还请广大读者指正与原谅。建议读者在学习过程中和英文原著一起阅读,并参考本书引用的参考文献,以便提高学习和理解效果。

谢磊

原书序

“这本书对最前沿的深度学习方法及应用进行了全面的阐述,不仅包括自动语音识别(ASR),还包括计算机视觉、语言建模、文本处理、多模态学习以及信息检索。在深度学习这一领域,这是第一本,也是最有价值的一本书,能使读者对这一领域进行广泛而深入的学习。深度学习对信息处理的很多方面(尤其对语音识别)都具有重大的影响,甚至对整个科技领域的影响也不容忽视。因此,对于有意了解这一领域的学者,这本书是绝对不容错过的。”

——Sadaoki Furui,芝加哥丰田技术研究院院长,日本东京工业大学教授

如前所述,深度学习指的是一类广泛的机器学习技术和架构,其特点是采用多层的非线性信息处理方法,这种方法在本质上是分层的。根据这些结构和技术不同的应用领域,如合成/生成或识别/分类,我们可以大致把这些结构分为三类:

(1)无监督或生成式学习的深度网络针对模式分析和合成任务,用于在没有目标类标签信息的情况下捕捉观测到的或可见数据的高阶相关性。各种文献中的无监督特征或表达学习指的就是这一类深度网络。当用于生成模式时,它也可以用来描述可见数据和其相关分类的联合概率分布,此时它具有可利用的类别标签,而且这些类别标签被看作是可见数据的一部分。在后一种情况中,利用贝叶斯准则可以把生成式学习网络转换为判别式学习网络。

(2)有监督学习的深度网络 直接提供用于模式分类目的的判别能力,它的特点是描述了可见数据条件下的类别后验分布。对于这种有监督的学习,目标类别标签总是以直接或间接形式给出,所以它们也被称作判别式深度网络。

(3)混合深度网络 目标是判别式模型,往往以生成式或无监督深度网络的结果作为重要辅助,可以通过更好地优化和正则化类别(2)中的深度网络来实现,也可以通过在对类别(1)中所述的深度生成式或无监督深度网络的参数进行估计时,使用判别式准则来实现。

深度学习:方法及应用

序言

译者序

深度学习是目前人工智能、机器学习领域异常火热的研究方向,受到了学术界和工业界的高度关注,被《麻省理工学院技术评论》(MIT Technology Review)评为2013年十大突破性技术之首。深度学习已经在语音识别、图像识别、自然语言处理等诸多领域取得了突破性进展,对学术界和工业界产生了深远的影响。本书原著的作者——微软研究院的邓力博士和俞栋博士是最早将深度学习技术付诸于语音识别工业级实践的专家,他们和深度学习专家多伦多大学Geoffrey Hinton教授合作,最早将深度神经网络应用于大词汇量连续语音识别领域中,使相对识别错误率降低了20%以上。

作为多年的导师和好朋友,两位专家将这本书的中文翻译任务交付给我,我倍感荣幸。此次中译本是在忠于原著的基础上进行翻译的,既涉及深度学习的背景和基本概念,又涉及常用的模型与方法,同时包含深度学习在不同领域中的应用。本书共有12章,具体内容包括:引言、深度学习的历史、三类深度学习网络、深度自编码器、预训练的深度神经网络、深度堆叠网络及其变种、语音和音频处理中的应用、在语言模型和自然语言处理中的相关应用、信息检索领域中的应用、在目标识别和计算机视觉中的应用、多模态和多任务学习中的典型应用、结论。

本书的翻译除了受到原著作者的指导,也受到了张蓬副教授、陈小敏、吕航、丁闯、孙思宁、何长青、樊博、张弼弘、张彬彬、周祥增的帮助,在此表示感谢。同时感谢机械工业出版社的大力支持与推动。没有他们的帮助,本书的翻译是无法促成的。

由于深度学习技术是一个快速发展的方向,新的模型和应用层出不穷,加之本人学识有限以及中英文语言表达、术语翻译上的差异,书中难免存在错误,还请广大读者指正与原谅。建议读者在学习过程中和英文原著一起阅读,并参考本书引用的参考文献,以便提高学习和理解效果。

谢磊

原书序

“这本书对最前沿的深度学习方法及应用进行了全面的阐述,不仅包括自动语音识别(ASR),还包括计算机视觉、语言建模、文本处理、多模态学习以及信息检索。在深度学习这一领域,这是第一本,也是最有价值的一本书,能使读者对这一领域进行广泛而深入的学习。深度学习对信息处理的很多方面(尤其对语音识别)都具有重大的影响,甚至对整个科技领域的影响也不容忽视。因此,对于有意了解这一领域的学者,这本书是绝对不容错过的。”

——Sadaoki Furui,芝加哥丰田技术研究院院长,日本东京工业大学教授

如前所述,深度学习指的是一类广泛的机器学习技术和架构,其特点是采用多层的非线性信息处理方法,这种方法在本质上是分层的。根据这些结构和技术不同的应用领域,如合成/生成或识别/分类,我们可以大致把这些结构分为三类:

(1)无监督或生成式学习的深度网络针对模式分析和合成任务,用于在没有目标类标签信息的情况下捕捉观测到的或可见数据的高阶相关性。各种文献中的无监督特征或表达学习指的就是这一类深度网络。当用于生成模式时,它也可以用来描述可见数据和其相关分类的联合概率分布,此时它具有可利用的类别标签,而且这些类别标签被看作是可见数据的一部分。在后一种情况中,利用贝叶斯准则可以把生成式学习网络转换为判别式学习网络。

(2)有监督学习的深度网络 直接提供用于模式分类目的的判别能力,它的特点是描述了可见数据条件下的类别后验分布。对于这种有监督的学习,目标类别标签总是以直接或间接形式给出,所以它们也被称作判别式深度网络。

(3)混合深度网络 目标是判别式模型,往往以生成式或无监督深度网络的结果作为重要辅助,可以通过更好地优化和正则化类别(2)中的深度网络来实现,也可以通过在对类别(1)中所述的深度生成式或无监督深度网络的参数进行估计时,使用判别式准则来实现。

Github | Docker | Project