计算机
类型
可以朗读
语音朗读
490千字
字数
2021-06-01
发行日期
展开全部
主编推荐语
深度学习“四大名著”之一、Python机器学习入门教程。
内容简介
本书自第1版出版以来,备受广大读者欢迎。与同类书相比,本书除了介绍如何用Python和基于Python的机器学习软件库进行实践外,还对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及如何避免掉入常见的陷阱提供直观且翔实的解释,是Python机器学习入门必读之作。
它的内容涵盖了众多高效Python库,包括scikit-learn、Keras和TensorFlow等,系统性地梳理和分析了各种经典算法,并通过Python语言以具体代码示例的方式深入浅出地介绍了各种算法的应用,还给出了从情感分析到神经网络的一些实践技巧,这些内容能使你快速解决你和你的团队面临的一些重要问题。
目录
- 版权信息
- 译者序
- 前言
- 作者简介
- 审校者简介
- 第1章 赋予计算机从数据中学习的能力
- 1.1 构建能把数据转换为知识的智能机器
- 1.2 三种不同类型的机器学习
- 1.2.1 用监督学习预测未来
- 1.2.2 用强化学习解决交互问题
- 1.2.3 用无监督学习发现隐藏的结构
- 1.3 基本术语与符号
- 1.3.1 本书中使用的符号和约定
- 1.3.2 机器学习的术语
- 1.4 构建机器学习系统的路线图
- 1.4.1 预处理——整理数据
- 1.4.2 训练和选择预测模型
- 1.4.3 评估模型并对未曾谋面的数据进行预测
- 1.5 将Python用于机器学习
- 1.5.1 利用Python Package Index安装Python及其他软件包
- 1.5.2 采用Anaconda Python发行版和软件包管理器
- 1.5.3 用于科学计算、数据科学和机器学习的软件包
- 1.6 本章小结
- 第2章 训练简单的机器学习分类算法
- 2.1 人工神经元——机器学习的早期历史
- 2.1.1 人工神经元的正式定义
- 2.1.2 感知器学习规则
- 2.2 用Python实现感知器学习算法
- 2.2.1 面向对象的感知器API
- 2.2.2 在鸢尾花数据集上训练感知器模型
- 2.3 自适应线性神经元和学习收敛
- 2.3.1 通过梯度下降最小化代价函数
- 2.3.2 用Python实现Adaline
- 2.3.3 通过特征缩放改善梯度下降
- 2.3.4 大规模机器学习与随机梯度下降
- 2.4 本章小结
- 第3章 scikit-learn机器学习分类器
- 3.1 选择分类算法
- 3.2 了解scikit-learn的第一步——训练感知器
- 3.3 基于逻辑回归的分类概率建模
- 3.3.1 逻辑回归与条件概率
- 3.3.2 学习逻辑代价函数的权重
- 3.3.3 将Adaline实现转换为一个逻辑回归算法
- 3.3.4 用scikit-learn训练逻辑回归模型
- 3.3.5 通过正则化解决过拟合问题
- 3.4 使用支持向量机最大化分类间隔
- 3.4.1 对分类间隔最大化的直观认识
- 3.4.2 用松弛变量解决非线性可分问题
- 3.4.3 其他的scikit-learn实现
- 3.5 用核支持向量机求解非线性问题
- 3.5.1 处理线性不可分数据的核方法
- 3.5.2 利用核技巧发现高维空间的分离超平面
- 3.6 决策树学习
- 3.6.1 最大化信息增益——获得最大收益
- 3.6.2 构建决策树
- 3.6.3 多个决策树的随机森林组合
- 3.7 k-近邻——一种惰性学习算法
- 3.8 本章小结
- 第4章 构建良好的训练数据集——数据预处理
- 4.1 处理缺失数据
- 4.1.1 识别数据中的缺失值
- 4.1.2 删除有缺失值的训练样本或特征
- 4.1.3 填补缺失值
- 4.1.4 了解scikit-learn估计器API
- 4.2 处理类别数据
- 4.2.1 用pandas实现类别数据的编码
- 4.2.2 映射序数特征
- 4.2.3 为分类标签编码
- 4.2.4 为名义特征做独热编码
- 4.3 把数据集划分为独立的训练数据集和测试数据集
- 4.4 保持相同的特征缩放
- 4.5 选择有意义的特征
- 4.5.1 L1和L2正则化对模型复杂度的惩罚
- 4.5.2 L2正则化的几何解释
- 4.5.3 L1正则化的稀疏解决方案
- 4.5.4 序列特征选择算法
- 4.6 用随机森林评估特征的重要性
- 4.7 本章小结
- 第5章 通过降维压缩数据
- 5.1 用主成分分析实现无监督降维
- 5.1.1 主成分分析的主要步骤
- 5.1.2 逐步提取主成分
- 5.1.3 总方差和解释方差
- 5.1.4 特征变换
- 5.1.5 用scikit-learn实现主成分分析
- 5.2 基于线性判别分析的监督数据压缩
- 5.2.1 主成分分析与线性判别分析
- 5.2.2 线性判别分析的内部工作原理
- 5.2.3 计算散布矩阵
- 5.2.4 为新特征子空间选择线性判别
- 5.2.5 将样本投影到新的特征空间
- 5.2.6 用scikit-learn实现LDA
- 5.3 非线性映射的核主成分分析
- 5.3.1 核函数与核技巧
- 5.3.2 用Python实现核主成分分析
- 5.3.3 投影新的数据点
- 5.3.4 scikit-learn的核主成分分析
- 5.4 本章小结
- 第6章 模型评估和超参数调优的最佳实践
- 6.1 用流水线方法简化工作流
- 6.1.1 加载威斯康星乳腺癌数据集
- 6.1.2 在流水线中集成转换器和估计器
- 6.2 使用k折交叉验证评估模型性能
- 6.2.1 holdout方法
- 6.2.2 k折交叉验证
- 6.3 用学习和验证曲线调试算法
- 6.3.1 用学习曲线诊断偏差和方差问题
- 6.3.2 用验证曲线解决过拟合和欠拟合问题
- 6.4 通过网格搜索调优机器学习模型
- 6.4.1 通过网格搜索调优超参数
- 6.4.2 通过嵌套式交叉验证选择算法
- 6.5 了解不同的性能评估指标
- 6.5.1 分析混淆矩阵
- 6.5.2 优化分类模型的精度和召回率
- 6.5.3 绘制ROC曲线
- 6.5.4 多元分类评分指标
- 6.5.5 处理类不均衡问题
- 6.6 本章小结
- 第7章 组合不同模型的集成学习
- 7.1 集成学习
- 7.2 通过多数票机制组合分类器
- 7.2.1 实现一个简单的多数票分类器
- 7.2.2 用多数票原则进行预测
- 7.2.3 评估和优化集成分类器
- 7.3 bagging——基于bootstrap样本构建集成分类器
- 7.3.1 bagging简介
- 7.3.2 应用bagging对葡萄酒数据集中的样本分类
- 7.4 通过自适应boosting提高弱学习机的性能
- 7.4.1 boosting的工作原理
- 7.4.2 用scikit-learn实现AdaBoost
- 7.5 本章小结
- 第8章 用机器学习进行情感分析
- 8.1 为文本处理预备好IMDb电影评论数据
- 8.1.1 获取电影评论数据集
- 8.1.2 把电影评论数据集预处理成更方便的格式
- 8.2 词袋模型介绍
- 8.2.1 把单词转换成特征向量
- 8.2.2 通过词频-逆文档频率评估单词相关性
- 8.2.3 清洗文本数据
- 8.2.4 把文档处理成令牌
- 8.3 训练用于文档分类的逻辑回归模型
- 8.4 处理更大的数据集——在线算法和核外学习
- 8.5 用潜在狄利克雷分配实现主题建模
- 8.5.1 使用LDA分解文本文档
- 8.5.2 scikit-learn中的LDA
- 8.6 本章小结
- 第9章 将机器学习模型嵌入Web应用
- 9.1 序列化拟合的scikit-learn估计器
- 9.2 搭建SQLite数据库存储数据
- 9.3 用Flask开发Web应用
- 9.3.1 第一个Flask Web应用
- 9.3.2 表单验证与渲染
- 9.4 将电影评论分类器转换为Web应用
- 9.4.1 文件与文件夹——研究目录树
- 9.4.2 实现主应用app.py
- 9.4.3 建立评论表单
- 9.4.4 创建结果页面模板
- 9.5 在公共服务器上部署Web应用
- 9.5.1 创建PythonAnywhere账户
- 9.5.2 上传电影分类器应用
- 9.5.3 更新电影分类器
- 9.6 本章小结
- 第10章 用回归分析预测连续目标变量
- 10.1 线性回归简介
- 10.1.1 简单线性回归
- 10.1.2 多元线性回归
- 10.2 探索住房数据集
- 10.2.1 加载住房数据
- 10.2.2 可视化数据集的重要特点
- 10.2.3 用相关矩阵查看关系
- 10.3 普通最小二乘线性回归模型的实现
- 10.3.1 用梯度下降方法求解回归参数
- 10.3.2 通过scikit-learn估计回归模型的系数
- 10.4 利用RANSAC拟合鲁棒回归模型
- 10.5 评估线性回归模型的性能
- 10.6 用正则化方法进行回归
- 10.7 将线性回归模型转换为曲线——多项式回归
- 10.7.1 用scikit-learn增加多项式项
- 10.7.2 为住房数据集中的非线性关系建模
- 10.8 用随机森林处理非线性关系
- 10.8.1 决策树回归
- 10.8.2 随机森林回归
- 10.9 本章小结
- 第11章 用聚类分析处理无标签数据
- 11.1 用k-均值进行相似性分组
- 11.1.1 用scikit-learn实现k-均值聚类
- 11.1.2 k-均值++——更聪明地设置初始集群质心的方法
- 11.1.3 硬聚类与软聚类
- 11.1.4 用肘部方法求解最优集群数
- 11.1.5 通过轮廓图量化聚类质量
- 11.2 把集群组织成层次树
- 11.2.1 以自下而上的方式聚类
- 11.2.2 在距离矩阵上进行层次聚类
- 11.2.3 热度图附加树状图
- 11.2.4 通过scikit-learn进行凝聚聚类
- 11.3 通过DBSCAN定位高密度区域
- 11.4 本章小结
- 第12章 从零开始实现多层人工神经网络
- 12.1 用人工神经网络建立复杂函数模型
- 12.1.1 单层神经网络回顾
- 12.1.2 多层神经网络体系结构简介
- 12.1.3 利用正向传播激活神经网络
- 12.2 识别手写数字
- 12.2.1 获取并准备MNIST数据集
- 12.2.2 实现一个多层感知器
- 12.3 训练人工神经网络
- 12.3.1 逻辑代价函数的计算
- 12.3.2 理解反向传播
- 12.3.3 通过反向传播训练神经网络
- 12.4 关于神经网络的收敛性
- 12.5 关于神经网络实现的最后几句话
- 12.6 本章小结
- 第13章 用TensorFlow并行训练神经网络
- 13.1 TensorFlow与模型训练的性能
- 13.1.1 性能挑战
- 13.1.2 什么是TensorFlow
- 13.1.3 如何学习TensorFlow
- 13.2 学习TensorFlow的第一步
- 13.2.1 安装TensorFlow
- 13.2.2 在TensorFlow中创建张量
- 13.2.3 对张量形状和数据类型进行操作
- 13.2.4 对张量进行数学运算
- 13.2.5 拆分、堆叠和连接张量
- 13.3 用TensorFlow的Dataset API构建输入流水线
- 13.3.1 用现存张量创建TensorFlow的数据集
- 13.3.2 把两个张量整合成一个联合数据集
- 13.3.3 洗牌、批处理和重复
- 13.3.4 从本地磁盘的文件创建数据集
- 13.3.5 从tensorflow_datasets获取可用的数据集
- 13.4 在TensorFlow中构建神经网络模型
- 13.4.1 TensorFlow Keras API(tf.keras)
- 13.4.2 构建线性回归模型
- 13.4.3 通过.compile()和.fit()方法训练模型
- 13.4.4 在鸢尾花数据集上构建多层分类感知器
- 13.4.5 在测试数据集上评估训练后的模型
- 13.4.6 保存并重新加载训练后的模型
- 13.5 选择多层神经网络的激活函数
- 13.5.1 关于逻辑函数的回顾
- 13.5.2 在多元分类中调用softmax函数评估分类概率
- 13.5.3 利用双曲正切拓宽输出范围
- 13.5.4 修正线性单元激活函数
- 13.6 本章小结
- 第14章 深入探讨TensorFlow的工作原理
- 14.1 TensorFlow的主要功能
- 14.2 TensorFlow的计算图:迁移到TensorFlow v2
- 14.2.1 了解TensorFlow的计算图
- 14.2.2 在TensorFlow v1.x中创建计算图
- 14.2.3 将计算图迁移到TensorFlow v2
- 14.2.4 在TensorFlow v1.x中将输入数据加载到模型
- 14.2.5 在TensorFlow v2中将输入数据加载到模型
- 14.2.6 通过函数修饰器提高计算性能
- 14.3 用于存储和更新模型参数的TensorFlow变量对象
- 14.4 通过自动微分和GradientTape计算梯度
- 14.4.1 针对可训练变量计算损失的梯度
- 14.4.2 针对不可训练张量计算梯度
- 14.4.3 保留用于多个梯度计算的资源
- 14.5 通过Keras API简化通用体系结构的实现
- 14.5.1 解决XOR分类问题
- 14.5.2 用Keras的函数式API灵活建模
- 14.5.3 基于Keras的Model类建模
- 14.5.4 编写自定义Keras层
- 14.6 TensorFlow估计器
- 14.6.1 使用特征列
- 14.6.2 带预制估计器的机器学习
- 14.6.3 用估计器进行MNIST手写数字分类
- 14.6.4 基于现有Keras模型创建自定义估计器
- 14.7 本章小结
- 第15章 用深度卷积神经网络为图像分类
- 15.1 构成卷积神经网络的模块
- 15.1.1 理解CNN与特征层次
- 15.1.2 离散卷积计算
- 15.1.3 子采样层
- 15.2 构建卷积神经网络
- 15.2.1 处理多个输入或者颜色通道
- 15.2.2 通过dropout正则化神经网络
- 15.2.3 分类过程中的损失函数
- 15.3 用TensorFlow实现深度卷积神经网络
- 15.3.1 多层卷积神经网络的体系结构
- 15.3.2 数据加载和预处理
- 15.3.3 用TensorFlow的Keras API实现卷积神经网络模型
- 15.4 用卷积神经网络根据人脸图像进行性别分类
- 15.4.1 加载CelebA数据集
- 15.4.2 图像转换和数据扩增
- 15.4.3 训练基于卷积神经网络的性别分类器
- 15.5 本章小结
- 第16章 用循环神经网络为序列数据建模
- 16.1 序列数据介绍
- 16.1.1 序列数据建模——顺序很重要
- 16.1.2 序列数据的表达
- 16.1.3 不同类别的序列建模
- 16.2 循环神经网络序列建模
- 16.2.1 了解循环神经网络的循环机制
- 16.2.2 在循环神经网络中计算激活值
- 16.2.3 隐藏循环与输出循环
- 16.2.4 学习长程交互面临的挑战
- 16.2.5 长短期记忆单元
- 16.3 用TensorFlow实现循环神经网络序列建模
- 16.3.1 项目1:对IMDb电影评论进行情感分析
- 16.3.2 项目2:用TensorFlow实现字符级语言建模
- 16.4 用转换器模型理解语言
- 16.4.1 了解自注意力机制
- 16.4.2 多头注意力和转换器块
- 16.5 本章小结
- 第17章 用生成对抗网络合成新数据
- 17.1 生成对抗网络介绍
- 17.1.1 自编码器
- 17.1.2 用于合成新数据的生成模型
- 17.1.3 用GAN生成新样本
- 17.1.4 理解GAN模型中生成器和判别器网络的损失函数
- 17.2 从零开始实现GAN
- 17.2.1 用谷歌Colab训练GAN模型
- 17.2.2 实现生成器和判别器网络
- 17.2.3 定义训练数据集
- 17.2.4 训练GAN模型
- 17.3 用卷积和Wasserstein GAN提高合成图像的质量
- 17.3.1 转置卷积
- 17.3.2 批归一化
- 17.3.3 实现生成器和判别器
- 17.3.4 两个分布之间相异度的度量
- 17.3.5 在GAN实践中使用EM距离
- 17.3.6 梯度惩罚
- 17.3.7 实现WGAN-GP来训练DCGAN模型
- 17.3.8 模式坍塌
- 17.4 其他的GAN应用
- 17.5 本章小结
- 第18章 用于复杂环境决策的强化学习
- 18.1 概述——从经验中学习
- 18.1.1 了解强化学习
- 18.1.2 定义强化学习系统的智能体-环境接口
- 18.2 RL的理论基础
- 18.2.1 马尔可夫决策过程
- 18.2.2 马尔可夫决策过程的数学公式
- 18.2.3 RL术语:回报、策略和价值函数
- 18.2.4 用贝尔曼方程动态编程
- 18.3 强化学习算法
- 18.3.1 动态编程
- 18.3.2 蒙特卡罗强化学习
- 18.3.3 时序差分学习
- 18.4 实现第一个RL算法
- 18.4.1 介绍OpenAI Gym工具包
- 18.4.2 用Q学习解决网格世界问题
- 18.4.3 深度Q学习概览
- 18.5 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。