编辑推荐
适读人群 :本书面向有以下需求的读者: ★ 希望学习原理而不是进行数学推导; ★ 想看到有意义的现实世界应用; ★ 想要可用的Python示例,以容易理解并能快速上手; ★ 希望得一些到可用的想法,并能用自己的数据进行试验。 本书是使用Python 进行深度学习实践的一本初学指南,将带领读者学习使用Python构建深度神经网络模型。
本书不要求读者具有深度神经网络的相关经验,也没有罗列大量的公式,而是通过一些实际案例,以简单直白的方式介绍深度神经网络的两项任务——分类和回归,解析深度学习模型中的一些核心问题,以期让读者对深度学习的全貌有一个清晰的认识。
通过简单易学的步骤,读者将学会如何使用Python构建深度神经网络模型。一旦掌握了这些步骤,读者就能够把这些知识转换为强大的数据科学应用程序。
本书包括以下精彩内容:
★ 释放深度神经网络的有效预测能力;
★ 动手开发二元分类的解决方案;
★ 为多元问题设计成功的应用;
★ 掌握有效模型构建的技术;
★ 调节深度神经网络,以改善其性能。
内容简介
本书是使用Python 进行深度学习实践的一本初学指南。本书并未罗列大量的公式,而是通过一些实用的实际案例,以简单直白的方式介绍深度神经网络的两项任务——分类和回归,解析深度学习模型中的一些核心问题,以期让读者对深度学习的全貌有一个清晰的认识。
本书共9 章,分别介绍了深度学习基础理论、神经网络基础知识、构建定制化深度预测模型、性能提升技术、二元分类的神经网络应用等内容,并借助Python 语言对基本算法和实现模型进行了探索。
本书适合期望用较短时间在深度神经网络领域初试牛刀的读者,也适合深度学习的初学者以及业内人士参考。
作者简介
尼格尔·刘易斯(N.D. Lewis)是一位数据科学和预测领域的讲师、作者和研究者。他在华尔街和伦敦从事投资管理工作多年,编著了统计、数据科学和量化模型方面的数本图书,并且在大学里开设深度学习、机器学习和数据分析应用等方面的课程。
目录
第 1 章 如何阅读本书 1
1.1 获取Python 2
1.1.1 学习Python 3
1.1.2 软件包 3
1.2 不需要等待 3
1.3 小结 4
附注 5
第 2 章 深度学习入门 6
2.1 为什么要学习深度学习 7
2.1.1 最后一子 8
2.1.2 一件怪事 8
2.1.3 两类人 9
2.2 什么是深度学习 10
2.2.1 成功的蓝图 10
2.2.2 有监督学习和无监督学习 11
2.2.3 深度学习的流程 11
2.3 深度学习能解决什么问题 12
2.4 哪些领域使用深度学习 14
2.4.1 深度学习能揭开永葆青春的秘密吗 15
2.4.2 衰老的挑战 15
2.4.3 众多的理论 16
2.4.4 数据科学家的答案 16
2.5 想使用深度学习——却不知如何开始 17
2.6 小结 18
附注 18
第3 章 神经网络基础 27
3.1 历史备忘录 28
3.2 神经网络的拓扑结构 29
3.3 神经元的作用 30
人工神经元 31
3.4 理解激活函数 31
3.4.1 数学计算 32
3.4.2 sigmoid 函数 34
3.4.3 运算成本 34
3.5 神经网络如何进行学习 35
基本算法 36
3.6 解释梯度下降算法 37
3.6.1 误差曲面 38
3.6.2 随机梯度下降 39
3.7 小结 39
附注 40
第4 章 深度神经网络简介 42
4.1 深度神经网络简析 43
4.2 怎样在一分钟内解释深度神经网络 44
4.2.1 如何看待DNN 44
4.2.2 统计学家的视角 45
4.2.3 一个关键的观点 45
4.3 深度神经网络的3 种使用方式 45
4.3.1 增强雾天的可视性 46
4.3.2 打击黑客犯罪 50
4.3.3 不可思议的缩略图 51
4.4 如何快速地近似任何函数 54
4.4.1 一个用Python 构建深度神经网络的极简方法 55
4.4.2 生成示例 56
4.4.3 检查样本 57
4.4.4 格式化数据 58
4.4.5 拟合模型 60
4.4.6 性能表现评估 61
4.5 有监督学习概述 62
4.5.1 有监督学习的目标 63
4.5.2 无监督学习 63
4.5.3 半监督学习 64
4.6 小结 65
附注 65
第5 章 如何构建可定制的深度预测模型 70
5.1 一个深度神经网络预测的实际应用 71
5.1.1 样本数据和神经网络 71
5.1.2 可靠的性能表现 72
5.2 明确预测目标 72
5.3 获取数据的拷贝 74
5.4 标准化的重要性 75
5.5 使用训练样本和测试样本 76
5.6 创建深度神经网络回归模型的极简方式 78
5.7 学习速率详解 79
5.7.1 选择最佳值 80
5.7.2 如果将模型拟合到数据 81
5.8 评估模型在训练集性能表现的几种方式 81
5.8.1 均方差 82
5.8.2 获取预测和度量性能 83
5.9 小结 83
附注 84
第6 章 提高性能的一些技巧 85
6.1 sigmoid 激活函数的局限 86
6.2 选择最佳层数的原则 89
6.3 如何快速改进模型 92
6.4 避免过度拟合 93
6.5 应该包含多少个神经元 95
6.6 评估测试数据集上的性能 96
6.7 冻结网络权重 97
6.8 保存网络以供将来使用 98
6.9 小结 99
附注 99
第7 章 二元分类神经网络的奥秘 101
7.1 感人至深——创造奇迹 102
7.1.1 一项二元分类任务 103
7.1.2 有用的结果 103
7.2 了解分类目标 104
7.3 使用Python 从网络下载数据 105
7.4 处理缺失的观测值 107
7.5 保存数据 111
7.6 冲量简单入门 112
7.7 留出法的秘密 113
7.8 如何用Python 快速构建一个深度神经网络二元分类器 115
7.8.1 生成训练集和测试集 117
7.8.2 指定模型 117
7.8.3 拟合模型 118
7.8.4 混淆矩阵 119
7.9 小结 120
附注 120
第8 章 构建优秀模型之道 123
8.1 尝试最简单的想法提高成功率 124
8.2 辍学的威力 124
8.3 相似性 126
8.4 共适应 126
8.5 一个教训 127
8.6 双曲正切激活函数的威力以及如何有效地使用 127
8.7 如何从小批量方法中获益 128
8.8 重建模型 129
8.9 关于不平衡样本你应该知道的事 131
8.9.1 核心问题 131
8.9.2 查看测试集上的表现 133
8.10 小结 134
附注 134
第9 章 深度神经网络在多元分类问题的简单应用 136
9.1 分类问题描述 138
9.1.1 查看样本 139
9.1.2 检查目标对象 140
9.2 关于softmax 激活函数的说明 140
9.3 使用rmsprop 算法构建多项式模型 141
9.3.1 关于rmsprop 算法的说明 143
9.3.2 模型性能表现 144
9.4 Adagrad 学习算法概述 144
9.5 如何尝试其他学习算法 146
9.5.1 Nesterov 的加速梯度下降算法 146
9.5.2 尝试冲量法 147
9.5.3 常规随机梯度下降法 148
9.5.4 在模型中使用Adadelta 算法 149
9.5.5 测试集性能表现 150
9.6 小结 152
9.7 结束语 152
附注 152
《Python数据科学实践指南》 面向所有希望掌握数据驱动决策的专业人士与研究者 在信息爆炸的时代,数据已成为驱动创新、洞察趋势、优化决策的核心要素。然而,原始数据本身并不能说话,它需要被理解、被分析、被转化为有价值的知识。本书《Python数据科学实践指南》应运而生,它是一本旨在帮助读者从零开始,系统掌握数据科学核心技术与应用的全方位指南。我们不追求哗众取宠的理论模型,而是聚焦于实战,以Python这一强大而灵活的编程语言为载体,带领读者深入数据科学的每一个关键环节。 本书内容涵盖了从数据获取、清洗、预处理,到探索性数据分析 (EDA)、可视化,再到机器学习模型的构建、评估与部署。我们认为,优秀的数据科学实践并非仅仅依赖于算法的复杂性,更在于对数据本质的深刻理解,以及如何有效地利用工具来揭示数据背后的故事。因此,本书将大量篇幅用于介绍Python生态系统中那些经过时间检验、社区认可的强大库,如NumPy、Pandas、Matplotlib、Seaborn、Scikit-learn等,并结合大量真实世界的案例,详细讲解它们的使用方法与最佳实践。 第一部分:数据准备与探索——数据世界的基石 数据分析的成功很大程度上取决于数据的质量。本书的第一部分将聚焦于数据准备与探索,为读者打下坚实的基础。 第一章:Python数据科学环境搭建与基础 我们将首先引导读者搭建稳定可靠的Python数据科学开发环境。这包括Anaconda的安装与使用,以及Jupyter Notebook/Lab等交互式开发工具的配置。 随后,我们将简要回顾Python的基础语法,重点强调与数据处理相关的概念,如数据结构(列表、元组、字典、集合)、控制流、函数等,确保所有读者都能快速进入状态。 第二章:NumPy——科学计算的基石 NumPy是Python进行科学计算的基石,本书将深入介绍其核心——ndarray对象。我们将讲解数组的创建、索引、切片、重塑,以及各种数学运算(点积、转置、矩阵运算等)。 学习NumPy的向量化操作,理解其如何显著提升计算效率,是掌握Python数据科学的第一步。我们将通过实例展示如何使用NumPy进行大规模数值计算。 第三章:Pandas——数据处理的利器 Pandas库是数据分析领域事实上的标准,本书将系统讲解其两大核心数据结构:Series和DataFrame。 我们将详细阐述如何使用Pandas进行数据的读取与写入(CSV、Excel、SQL数据库等),数据的选择、过滤、排序,以及缺失值和异常值的处理(填充、删除、插补)。 数据合并、连接(merge, join, concat)是处理多源数据的关键,本书将提供清晰的讲解和丰富的示例。同时,我们还会介绍分组(groupby)和聚合操作,这是从数据中提取统计信息的强大工具。 第四章:数据可视化——洞察数据之美 “一图胜千言”,数据可视化是将复杂数据转化为直观洞察的有效手段。 本书将重点介绍Matplotlib和Seaborn这两个主流的Python可视化库。我们将从基础的图表类型(折线图、散点图、柱状图、饼图)入手,逐步深入到更复杂的图表(箱线图、小提琴图、热力图、地理信息图)。 我们不仅教授如何绘制图表,更强调如何通过可视化来探索数据分布、发现变量之间的关系、识别模式和异常。同时,也会讨论如何创建清晰、有信息量且美观的可视化作品。 第二部分:机器学习实战——从模型到应用 掌握了数据处理与探索的技能后,本书将带领读者进入机器学习的领域,学习如何构建模型来解决实际问题。 第五章:机器学习基础概念与Scikit-learn入门 本章将介绍机器学习的基本概念,包括监督学习、无监督学习、半监督学习和强化学习。我们将区分分类、回归、聚类等任务,并解释过拟合、欠拟合、偏差-方差权衡等核心概念。 Scikit-learn是Python中最流行的机器学习库之一。我们将介绍其统一的API接口,包括Estimator、Transformer、Pipeline等概念,并演示如何使用它来加载数据集、训练模型、进行预测。 第六章:监督学习算法详解与应用 回归模型: 我们将深入讲解线性回归、多项式回归、岭回归、Lasso回归等模型,并分析它们在预测连续值时的优劣。 分类模型: 本章将覆盖逻辑回归、支持向量机 (SVM)、决策树、随机森林、K近邻 (KNN) 等经典分类算法。我们会讨论它们的原理、参数调优以及适用场景。 模型评估: 对于监督学习模型,准确的评估至关重要。我们将介绍准确率、精确率、召回率、F1分数、ROC曲线、AUC值等评估指标,并讲解交叉验证技术。 第七章:无监督学习算法详解与应用 聚类算法: 我们将讲解K-Means、DBSCAN、层次聚类等聚类算法,并讨论如何评估聚类结果的质量。聚类常用于用户分群、市场细分等场景。 降维算法: 主成分分析 (PCA)、t-SNE等降维技术能够帮助我们减少数据维度,便于可视化和提高模型效率。我们将演示如何使用这些技术来简化高维数据。 第八章:特征工程——提升模型性能的关键 特征工程是机器学习流程中至关重要的一环,它直接影响模型的性能。 本章将介绍如何创建新的特征、转换现有特征(如独热编码、标准化、归一化)、处理类别型特征、处理日期和时间特征,以及特征选择和特征提取的技术。我们将通过实践案例展示特征工程的强大威力。 第九章:模型选择与调优 选择合适的模型以及对其进行精细调优是构建高性能系统的关键。 我们将介绍网格搜索 (Grid Search)、随机搜索 (Random Search) 等超参数调优技术,以及如何利用管道 (Pipeline) 来简化模型评估和调优过程。 第三部分:高级主题与实战案例——学以致用 在掌握了基础和核心技术后,本书将带领读者探索更高级的主题,并通过丰富的实战案例来巩固所学知识。 第十章:文本数据处理与分析 在当今信息时代,文本数据无处不在。本章将介绍如何使用Python处理文本数据,包括文本的清洗、分词、词干提取、词形还原,以及TF-IDF、词袋模型等文本表示方法。 我们将初步接触自然语言处理 (NLP) 的基础概念,并展示如何使用Scikit-learn进行文本分类、情感分析等任务。 第十一章:时间序列分析基础 时间序列数据在金融、气象、销售预测等领域具有广泛应用。 本章将介绍时间序列数据的特点,包括趋势、季节性、周期性,以及ARIMA、指数平滑等经典时间序列模型。我们将使用Python库(如Statsmodels)进行时间序列的建模与预测。 第十二章:数据科学项目实战 理论学习离不开实践检验。本书将通过几个贯穿始终的综合性案例,展示数据科学项目的完整流程。 这些案例可能涵盖: 电商用户行为分析: 分析用户购买记录,进行用户分群,预测用户流失。 房产价格预测: 利用房屋特征预测其市场价格。 文本情感分析: 对社交媒体评论进行情感倾向分析。 在每个案例中,我们将指导读者如何定义问题、收集数据、进行探索性分析、选择和训练模型,最终评估和解释结果。 本书特色: 聚焦实战: 每一章都配有大量的代码示例,读者可以跟随学习,亲手实践。 案例驱动: 通过真实世界的数据集和场景,让抽象的概念变得具体。 循序渐进: 内容从基础到高级,适合不同经验水平的读者。 Python生态优先: 充分利用Python在数据科学领域的丰富生态。 强调理解: 不仅教授“如何做”,更注重解释“为何如此”。 无论您是初学者,还是希望提升数据分析和机器学习技能的开发者、分析师、研究人员,亦或是希望将数据驱动方法应用于业务决策的管理者,《Python数据科学实践指南》都将是您不可或缺的得力助手。让我们一起踏上这段精彩的数据科学探索之旅,用Python的力量释放数据的无限潜能!