| 作者 |
| [印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)[荷]巴斯蒂安·贾丁(Bastiaan Sjardin) [意]卢卡·马萨罗(Luca Massaron) [意]阿尔贝托·博斯凯蒂(Alberto Boschetti) |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781911191620 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------Python大规模机器学习--------------------------- 本书不仅介绍大规模机器学习的基本概念,还包含丰富的案例研究。书中所选皆为最实用的技术和工具,而对理论细节不进行深入讨论,旨在提供大规模机器学习方法(甚至非常规方法)。不管是初学者、普通用户还是专家级用户,通过本书都能理解并掌握利用Python进行大规模机器学习。为让读者快速掌握核心技术,本书由浅入深讲解大量实例,图文并茂呈现每一步的操作结果,帮助读者更好地掌握大规模机器学习Python工具。例如:基于Scikit-learn可扩展学习、 Liblinear和Vowpal Wabbit快速支持向量机、基于Theano与H2O的大规模深度学习方法、TensorFlow深度学习技术与在线神经网络方法、大规模分类和回归树的可扩展解决方案、大规模无监督学习(PCA,聚类分析和主题建模等)扩展方法、Hadoop和Spark分布式环境、Spark机器学习实践以及Theano和GPU计算的基础知识。 |
| 目录 |
---------------------------Python人工智能项目实战--------------------------- 译者序 前言 作者简介 审校者简介 第1章 人工智能系统基础知识 1 1.1 神经网络 2 1.2 神经激活单元 5 1.2.1 线性激活单元 5 1.2.2 sigmoid激活单元 6 1.2.3 双曲正切激活函数 6 1.2.4 修正线性单元 7 1.2.5 softmax激活单元 9 1.3 用反向传播算法训练神经网络 9 1.4 卷积神经网络 12 1.5 循环神经网络 13 1.6 生成对抗网络 16 1.7 强化学习 18 1.7.1 Q学习 19 1.7.2 深度Q学习 20 1.8 迁移学习 21 1.9 受限玻尔兹曼机 22 1.10 自编码器 23 1.11 总结 24 第2章 迁移学习 26 2.1 技术要求 26 2.2 迁移学习简介 27 2.3 迁移学习和糖尿病视网膜病变检测 28 2.4 糖尿病视网膜病变数据集 29 2.5 定义损失函数 30 2.6 考虑类别不平衡问题 31 2.7 预处理图像 32 2.8 使用仿射变换生成额外数据 33 2.8.1 旋转 34 2.8.2 平移 34 2.8.3 缩放 35 2.8.4 反射 35 2.8.5 通过仿射变换生成额外的图像 36 2.9 网络架构 36 2.9.1 VGG16迁移学习网络 38 2.9.2 InceptionV3迁移学习网络 39 2.9.3 ResNet50迁移学习网络 39 2.10 优化器和初始学习率 40 2.11 交叉验证 40 2.12 基于验证对数损失的模型检查点 40 2.13 训练过程的Python实现 41 2.14 类别分类结果 50 2.15 在测试期间进行推断 50 2.16 使用回归而非类别分类 52 2.17 使用keras sequential工具类生成器 53 2.18 总结 57 第3章 神经机器翻译 58 3.1 技术要求 59 3.2 基于规则的机器翻译 59 3.2.1 分析阶段 59 3.2.2 词汇转换阶段 60 3.2.3 生成阶段 60 3.3 统计机器学习系统 60 3.3.1 语言模型 61 3.3.2 翻译模型 63 3.4 神经机器翻译 65 3.4.1 编码器–解码器模型 65 3.4.2 使用编码器–解码器模型进行推断 66 3.5 实现序列到序列的神经机器翻译 67 3.5.1 处理输入数据 67 3.5.2 定义神经翻译机器的模型 71 3.5.3 神经翻译机器的损失函数 73 3.5.4 训练模型 73 3.5.5 构建推断模型 74 3.5.6 单词向量嵌入 78 3.5.7 嵌入层 79 3.5.8 实现基于嵌入的NMT 79 3.6 总结 84 第4章 基于GAN的时尚风格迁移 85 4.1 技术要求 85 4.2 DiscoGAN 86 4.3 CycleGAN 88 4.4 学习从手绘轮廓生成自然手提包 89 4.5 预处理图像 89 4.6 DiscoGAN的生成器 91 4.7 DiscoGAN的判别器 93 4.8 构建网络和定义损失函数 94 4.9 构建训练过程 97 4.10 GAN训练中的重要参数值 99 4.11 启动训练 100 4.12 监督生成器和判别器的损失 101 4.13 DiscoGAN生成的样例图像 103 4.14 总结 104 第5章 视频字幕应用 105 5.1 技术要求 105 5.2 视频字幕中的CNN和LSTM 106 5.3 基于序列到序列的视频字幕系统 107 5.4 视频字幕系统数据集 109 5.5 处理视频图像以创建CNN特征 110 5.6 处理视频的带标签字幕 113 5.7 构建训练集和测试集 114 5.8 构建模型 115 5.8.1 定义模型的变量 116 5.8.2 编码阶段 117 5.8.3 解码阶段 117 5.8.4 计算小批量损失 118 5.9 为字幕创建单词词汇表 118 5.10 训练模型 119 5.11 训练结果 123 5.12 对未见过的视频进行推断 124 5.12.1 推断函数 126 5.12.2 评估结果 127 5.13 总结 128 第6章 智能推荐系统 129 6.1 技术要求 129 6.2 什么是推荐系统 129 6.3 基于潜在因子分解的推荐系统 131 6.4 深度学习与潜在因子协同过滤 132 6.5 SVD++ 136 6.6 基于受限玻尔兹曼机的推荐系统 138 6.7 对比分歧 139 6.8 使用RBM进行协同过滤 140 6.9 使用RBM实现协同过滤 142 6.9.1 预处理输入 143 6.9.2 构建RBM网络进行协作过滤 144 6.9.3 训练RBM 147 6.10 使用训练好的RBM进行推断 149 6.11 总结 150 第7章 用于电影评论情感分析的移动应用程序 151 7.1 技术要求 152 7.2 使用TensorFlow mobile构建Android移动应用程序 152 7.3 Android应用中的电影评论评分 153 7.4 预处理电影评论文本 154 7.5 构建模型 156 7.6 训练模型 157 7.7 将模型冻结为protobuf格式 159 7.8 为推断创建单词到表征的字典 161 7.9 应用程序交互界面设计 162 7.10 Android应用程序的核心逻辑 164 7.11 测试移动应用 168 7.12 总结 170 第8章 提供客户服务的AI聊天机器人 171 8.1 技术要求 172 8.2 聊天机器人的架构 172 8.3 基于LSTM的序列到序列模型 173 8.4 建立序列到序列模型 174 8.5 Twitter平台上的聊天机器人 174 8.5.1 构造聊天机器人的训练数据 175 8.5.2 将文本数据转换为单词索引 175 8.5.3 替换匿名用户名 176 8.5.4 定义模型 176 8.5.5 用于训练模型的损失函数 178 8.5.6 训练模型 179 8.5.7 从模型生成输出响应 180 8.5.8 所有代码连起来 180 8.5.9 开始训练 181 8.5.10 对一些输入推特的推断结果 181 8.6 总结 182 第9章 基于增强学习的无人驾驶 183 9.1 技术要求 183 9.2 马尔科夫决策过程 184 9.3 学习Q值函数 185 9.4 深度Q学习 186 9.5 形式化损失函数 186 9.6 深度双Q学习 187 9.7 实现一个无人驾驶车的代码 189 9.8 深度Q学习中的动作离散化 189 9.9 实现深度双Q值网络 190 9.10 设计智能体 191 9.11 自动驾驶车的环境 194 9.12 将所有代码连起来 197 9.13 训练结果 202 9.14 总结 203 第10章 从深度学习的角度看CAPTCHA 204 10.1 技术要求 205 10.2 通过深度学习破解CAPTCHA 205 10.2.1 生成基本的CAPTCHA 205 10.2.2 生成用于训练CAPTCHA破解器的数据 206 10.2.3 CAPTCHA破解器的CNN架构 208 10.2.4 预处理CAPTCHA图像 208 10.2.5 将CAPTCHA字符转换为类别 209 10.2.6 数据生成器 210 10.2.7 训练CAPTCHA破解器 211 10.2.8 测试数据集的准确性 212 10.3 通过对抗学习生成CAPTCHA 214 10.3.1 优化GAN损失 215 10.3.2 生成器网络 215 10.3.3 判别器网络 216 10.3.4 训练GAN 219 10.3.5 噪声分布 220 10.3.6 数据预处理 220 10.3.7 调用训练 221 10.3.8 训练期间CAPTCHA的质量 222 10.3.9 使用训练后的生成器创建CAPTCHA 224 10.4 总结 225 ---------------------------Python大规模机器学习--------------------------- 译者序 前言 作者简介 审校者简介 第1章迈向可扩展性的第一步1 11详细解释可扩展性1 111大规模实例3 112介绍Python4 113使用Python进行向上扩展4 114使用Python进行向外扩展5 12Python用于大规模机器学习6 121选择Python 2还是Python 36 122安装Python7 123逐步安装7 124安装软件包8 125软件包升级9 126科学计算发行版10 127Jupyter/IPython介绍11 13Python包13 131NumPy14 132SciPy14 133pandas14 134Scikitlearn15 135小结21 第2章Scikitlearn中的可扩展学习22 21非核心学习22 211选择子采样23 212一次优化一个实例24 213构建非核心学习系统25 22流化源数据25 221处理真实数据集26 222第一个示例——流化共享单车数据集28 223使用pandas I/O工具30 224使用数据库31 225关注实例排序35 23随机学习37 231批处理梯度下降37 232随机梯度下降40 233Scikitlearn的SGD实现40 234定义SGD学习参数42 24数据流的特征管理43 241描述目标46 242哈希技巧49 243其他基本变换51 244流测试和验证52 245使用SGD52 25小结56 第3章实现快速SVM57 31测试数据集58 311共享单车数据集58 312森林覆盖类型数据集58 32支持向量机59 321hinge loss及其变形64 322Scikitlearn的SVM实现65 323探究通过子采样改善非线性SVM68 324使用SGD实现大规模SVM70 33正则化特征选择77 34SGD中的非线性78 35超参数调整82 36小结96 第4章神经网络与深度学习97 41神经网络架构98 411神经网络如何学习106 412选择正确的架构110 413使用神经网络111 414sknn并行化111 42神经网络和正则化113 43神经网络和超参数优化115 44神经网络和决策边界117 45用H2O进行规模化深度学习120 451用H2O进行大规模深度学习121 452H2O上的网格搜索124 46深度学习和无监督预训练126 47使用theanets进行深度学习126 48自动编码器和无监督学习128 49小结131 第5章用TensorFlow进行深度学习132 51TensorFlow安装134 52在TensorFlow上使用SkFlow进行机器学习140 53安装Keras和TensorFlow148 54在TensorFlow中通过Keras实现卷积神经网络152 541卷积层153 542池化层153 543全连接层154 55增量CNN方法156 56GPU计算156 57小结159 第6章大规模分类和回归树160 61bootstrap聚合162 62随机森林和极端随机森林163 63随机搜索实现快速参数优化167 64CART和boosting172 65XGBoost179 651XGBoost回归181 652XGBoost流化大型数据集184 653XGBoost模型存储185 66用H2O实现非核心CART185 661H2O上的随机森林和网格搜索186 662H2O上的随机梯度增强和网格搜索188 67小结191 第7章大规模无监督学习192 71无监督方法192 72特征分解:PCA193 721随机化PCA199 722增量PCA200 723稀疏PCA201 73使用H2O的PCA202 74K-均值聚类算法203 741初始化方法206 742K-均值假设206 743选择最佳K209 744扩展K-均值算法:小批量212 75用H2O实现K-均值216 76LDA218 77小结226 第8章分布式环境——Hadoop和Spark227 81从单机到集群227 82设置VM230 821VirtualBox230 822Vagrant232 823使用VM232 83Hadoop生态系统234 831架构234 832HDFS235 833MapReduce242 834YARN250 84Spark250 85小结260 第9章Spark机器学习实践261 91为本章设置虚拟机261 92跨集群节点共享变量262 921广播只读变量262 922累加器只写变量264 923广播和累加器的示例265 93Spark的数据预处理267 931JSON文件和Spark DataFrame268 932处理缺失数据270 933在内存中分组和创建表271 934将预处理的DataFrame或RDD写入磁盘273 935使用Spark DataFrame274 94Spark机器学习276 941Spark处理KDD99数据集277 942读取数据集277 943特征工程280 944训练学习器284 945评估学习器的表现286 946机器学习管道的威力286 947手动优化288 948交叉验证291 95小结293 附录介绍GPU和Theano294 |