编辑推荐
1.使用Python语言实现代码,清晰简洁地解读机器学习深层概念。 2.读者通过大量的示例详细阐述了机器学习的相关概念,能够快速掌握广泛使用的回归、聚类、神经网络等机器学习算法/技术,并将这些概念应用于日常应用和开发。 阅读本书,你将学到: ·通过简单易懂的方法学习数学和机器学习的原理; ·了解广泛使用的机器学习算法和技术,并掌握它们解决实际问题的方法; ·通过流行的编程框架了解先进概念; ·为从事机器学习领域的工作做好准备; ·了解知名的强大的工具,并运用这些工具解决机器学习中涉及的计算问题; ·掌握当前机器学习领域的概念,并将这些概念应用于有趣的前沿问题。 内容简介
本书将带领读者学习如何实施各种机器学习技术及其日常应用的开发。本书分为9章,从易于掌握的语言基础数据和数学模型开始,向读者介绍机器学习领域中使用的各种库和框架,然后通过有趣的示例实现回归、聚类、分类、神经网络等,从而解决如图像分析、自然语言处理和时间序列数据的异常检测等实际问题。 本书适合机器学习的开发人员、数据分析人员、机器学习领域的从业人员,以及想要学习机器学习的技术爱好者阅读。使用任何脚本语言的编程人员都可以阅读本书,但如果熟悉Python语言的话,将有助于充分理解本书的内容。 作者简介
Rodolfo Bonnin是阿根廷国家科技大学的系统工程师,博士。他在德国斯图加特大学学习并行编程和图像理解的研究生课程。 自2005年以来,他一直在研究高性能计算,并于2008年开始研究和实现卷积神经网络,编写支持CPU和GPU的神经网络前馈阶段。最近,他一直致力于利用神经网络进行欺诈模式检测的工作,并使用机器学习技术进行信号分类。 他也是《Tensorflow机器学习项目实战》的作者。 目录
目录
第 1章 机器学习和统计科学 1
1.1 机器学习的发展 2
1.2 编程语言与库 6
1.3 基本数学概念 11
1.3.1 统计学——不确定性建模的基本支柱 11
1.3.2 概率与随机变量 14
1.3.3 概率函数的统计度量 21
1.3.4 微分基础 22
1.3.5 预备知识 22
1.4 小结 27
第 2章 学习过程 28
2.1 理解问题 28
2.2 数据集定义与检索 30
2.2.1 ETL过程 30
2.2.2 加载数据与使用Scipy和Pandas进行探索分析 31
2.2.3 与IPython交互 32
2.2.4 二维数据处理 34
2.3 特征工程 37
2.3.1 缺失数据估算 37
2.3.2 独热编码 38
2.4 数据预处理 39
规范化和特征缩放 39
2.5 模型定义 41
提出正确的问题 41
2.6 损失函数定义 42
2.7 模型拟合和评价 43
数据集划分 43
2.8 模型应用与结果分析 44
2.8.1 回归指标 45
2.8.2 分类指标 46
2.8.3 聚类质量评估 48
2.9 小结 50
第3章 聚类 51
3.1 分组—— 一种人类行为 51
3.2 自动化聚类过程 52
3.3 寻找一个共同的中心—— K-means 53
3.3.1 K-means的优缺点 56
3.3.2 K-means算法分解 56
3.3.3 K-means算法实现 58
3.4 最近邻(Nearest Neighbors) 62
3.5 K-NN算法实现示例 64
3.6 算法扩展 67
3.7 小结 68
第4章 线性回归和逻辑回归 69
4.1 回归分析 69
回归的应用 70
4.2 线性回归 71
4.2.1 代价函数的确定 72
4.2.2 分析方法 74
4.2.3 协方差和相关性 75
4.2.4 寻找协方差和相关性的斜率和截距 77
4.2.5 梯度下降法 79
4.2.6 递归过程表示 83
4.3 实践中的数据研究和线性回归 86
4.3.1 鸢尾花数据集 87
4.3.2 线性回归与梯度下降 93
4.4 逻辑回归 103
4.4.1 线性回归和逻辑回归 103
4.4.2 logit函数 105
4.4.3 应用逻辑回归建立心脏疾病模型的实例 109
4.5 小结 112
第5章 神经网络 113
5.1 神经模型的历史 114
5.1.1 感知器模型 115
5.1.2 改进预测结果——ADALINE算法 116
5.1.3 感知器和ADALINE之间的异同 118
5.1.4 单层和多层感知器 120
5.2 使用单层感知器实现简单的功能 124
5.2.1 定义并绘制传递函数类型 124
5.2.2 表示和理解传递函数 125
5.2.3 Sigmoid函数或逻辑函数 126
5.2.4 使用Sigmoid函数 126
5.2.5 修正线性单元 128
5.2.6 线性传递函数 129
5.2.7 定义损失函数 130
5.3 小结 136
第6章 卷积神经网络 137
6.1 卷积神经网络的起源 137
6.1.1 从卷积开始 138
6.1.2 卷积核和卷积 140
6.1.3 在实例中实现二维离散卷积 143
6.1.4 下采样(池化) 146
6.1.5 通过Dropout操作提高效率 148
6.2 深度神经网络 149
6.2.1 深度卷积网络框架的发展 149
6.2.2 深度卷积神经网络解决的问题类型 154
6.3 使用Keras部署一个深度神经网络 156
6.4 用Quiver开发卷积模型 158
6.4.1 用Quiver开发卷积网络 158
6.4.2 迁移学习的实现 162
6.5 小结 167
第7章 循环神经网络 168
7.1 按顺序解决问题—— RNN 168
7.1.1 RNN的定义 169
7.1.2 RNN的发展 169
7.2 LSTM 172
7.2.1 门和乘法运算 172
7.2.2 设置遗忘参数(输入门) 174
7.2.3 设置保持参数 174
7.2.4 修改单元 175
7.2.5 输出过滤后的单元状态 175
7.3 采用电能消耗数据预测单变量时间序列 176
数据集的描述和加载 176
7.4 小结 182
第8章 近期的新模型及其发展 183
8.1 GAN 183
GAN的应用类别 184
8.2 强化学习 188
8.2.1 马尔可夫决策过程 189
8.2.2 优化马尔可夫过程 190
8.3 基本强化学习技术:Q学习 191
8.4 小结 193
第9章 软件安装与配置 194
9.1 Linux系统环境安装 194
9.1.1 初始配置要求 195
9.1.2 Anaconda安装 195
9.1.3 pip安装 200
9.2 macOS X系统环境安装 201
9.2.1 Anaconda安装 201
9.2.2 pip安装 204
9.3 Windows系统环境安装 205
Anaconda安装 205
9.4 小结 208
参考资料 209
|