当前位置:主页 > 计算机电子书 > 人工智能 > 机器学习下载
机器学习项目开发实战

机器学习项目开发实战 PDF 高清版

  • 更新:2019-11-21
  • 大小:180 MB
  • 类别:机器学习
  • 作者:马蒂亚斯·布兰德温德尔
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

机器学习项目开发实战 PDF

本书通过一系列有趣的实例,由浅入深地介绍了机器学习这一炙手可热的新领域,并且详细介绍了适合机器学习开发的Microsoft F#语言和函数式编程,引领读者深入了解机器学习的基本概念、核心思想和常用算法。书中的例子既通俗易懂,同时又十分实用,可以作为许多开发问题的起点。通过对本书的阅读,读者无须接触枯燥的数学知识,便可快速上手,为日后的开发工作打下坚实的基础。本书适合对机器学习感兴趣的.NET开发人员阅读,也适合其他读者作为机器学习的入门参考书。

目录

  • 第1章 256级灰度 1
  • 1.1 什么是机器学习 2
  • 1.2 经典的机器学习问题:图像分类 3
  • 1.2.1 挑战:构建一个数字识别程序 3
  • 1.2.2 机器学习中的距离函数 5
  • 1.2.3 从简单的方法入手 5
  • 1.3 我们的□□个模型(C#版本) 6
  • 1.3.1 数据集组织 6
  • 1.3.2 读取数据 7
  • 1.3.3 计算图像之间的距离 9
  • 1.3.4 编写分类器 11
  • 1.4 那么,如何知道程序有效? 12
  • 1.4.1 交叉验证 12
  • 1.4.2 评估模型质量 13
  • 1.4.3 改进模型 14
  • 1.5 介绍用于机器学习的F# 15
  • 1.5.1 使用F#交互执行进行实时脚本编写和数据研究 15
  • 1.5.2 创建□□个F#脚本 18
  • 1.5.3 剖析□□个F#脚本 19
  • 1.5.4 创建函数管道 22
  • 1.5.5 用元组和模式匹配操纵数据 23
  • 1.5.6 训练和评估分类器函数 24
  • 1.6 改进我们的模型 26
  • 1.6.1 试验距离的另一种定义 26
  • 1.6.2 重构距离函数 27
  • 1.7 我们学到了什么 30
  • 1.7.1 在好的距离函数中能找到什么 30
  • 1.7.2 模型不一定要很复杂 31
  • 1.7.3 为什么使用F#? 31
  • 1.8 更进一步 32
  • 第2章 垃圾邮件还是非垃圾邮件? 33
  • 2.1 挑战:构建一个垃圾邮件检测引擎 34
  • 2.1.1 了解我们的数据集 34
  • 2.1.2 使用可区分联合建立标签模型 35
  • 2.1.3 读取数据集 36
  • 2.2 根据一个单词决定 38
  • 2.2.1 以单词作为线索 38
  • 2.2.2 用一个数字表示我们的确定程度 39
  • 2.2.3 贝叶斯定理 40
  • 2.2.4 处理罕见的单词 42
  • 2.3 组合多个单词 42
  • 2.3.1 将文本分解为标记 42
  • 2.3.2 简单组合得分 43
  • 2.3.3 简化的文档得分 44
  • 2.4 实现分类器 45
  • 2.4.1 将代码提取到模块中 46
  • 2.4.2 文档评分与分类 47
  • 2.4.3 集合和序列简介 49
  • 2.4.4 从文档语料库中学习 51
  • 2.5 训练□□个分类器 53
  • 2.5.1 实现□□个标记化程序 54
  • 2.5.2 交互式验证设计 54
  • 2.5.3 用交叉验证确立基准 55
  • 2.6 改进分类器 56
  • 2.6.1 使用每个单词 56
  • 2.6.2 大小写是否重要? 57
  • 2.6.3 简单就是美 58
  • 2.6.4 仔细选择单词 59
  • 2.6.5 创建新特征 61
  • 2.6.6 处理数字值 63
  • 2.7 理解分类错误 64
  • 2.8 我们学到了什么? 66
  • 第3章 类型提供程序的快乐 67
  • 3.1 探索StackOverflow数据 68
  • 3.1.1 StackExchange API 68
  • 3.1.2 使用JSON类型提供程序 70
  • 3.1.3 构建查询问题的□小化DSL 73
  • 3.2 世界上的所有数据 76
  • 3.2.1 世界银行类型提供程序 76
  • 3.2.2 R类型提供程序 77
  • 3.2.3 分析数据与R数据框架 81
  • 3.2.4 .NET数据框架Deedle 83
  • 3.2.5 全世界的数据统一起来! 84
  • 3.3 我们学到了什么? 88
  • 第4章 自行车与人 91
  • 4.1 了解数据 92
  • 4.1.1 数据集有哪些内容? 92
  • 4.1.2 用FSharp.Charting检查数据 93
  • 4.1.3 用移动平均数发现趋势 94
  • 4.2 为数据适配模型 96
  • 4.2.1 定义简单直线模型 96
  • 4.2.2 寻找□□代价模型 97
  • 4.2.3 用梯度下降找出函数的□小值 98
  • 4.2.4 使用梯度下降进行曲线拟合 99
  • 4.2.5 更通用的模型公式 100
  • 4.3 实施梯度下降的方法 101
  • 4.3.1 随机梯度下降 101
  • 4.3.2 分析模型改进 103
  • 4.3.3 批量梯度下降 105
  • 4.4 拯救者——线性代数 107
  • 4.4.1 宝贝,我缩短了公式! 108
  • 4.4.2 用Math.NET进行线性代数运算 109
  • 4.4.3 标准形式 110
  • 4.4.4 利用MKL开足马力 111
  • 4.5 快速演化和验证模型 112
  • 4.5.1 交叉验证和过度拟合 112
  • 4.5.2 简化模型的创建 113
  • 4.5.3 在模型中添加连续特征 115
  • 4.6 用更多特征改进预测 117
  • 4.6.1 处理分类特征 117
  • 4.6.2 非线性特征 119
  • 4.6.3 正规化 122
  • 4.7 我们学到了什么? 123
  • 4.7.1 用梯度下降□□限度地减小代价 123
  • 4.7.2 用回归方法预测数字 124
  • 第5章 你不是□□□□的雪花 125
  • 5.1 发现数据中的模式 126
  • 5.2 我们所面临的挑战:理解StackOverflow上的主题 128
  • 5.3 用K-均值聚类方法找出聚类 132
  • 5.3.1 改进聚类和质心 133
  • 5.3.2 实施K-均值聚类方法 135
  • 5.4 StackOverflow标签的归类 138
  • 5.4.1 运行聚类分析 138
  • 5.4.2 结果分析 139
  • 5.5 好的聚类和坏的聚类 141
  • 5.6 重新标度数据集以改进聚类 144
  • 5.7 确定需要搜索的聚类数量 147
  • 5.7.1 什么是“好”的聚类? 147
  • 5.7.2 确定StackOverflow数据集的k值 148
  • 5.7.3 □终的聚类 150
  • 5.8 发现特征的相关性 151
  • 5.8.1 协方差和相关系数 151
  • 5.8.2 StackOverflow标签之间的相关性 153
  • 5.9 用主成分分析确定更好的特征 154
  • 5.9.1 用代数方法重新组合特征 155
  • 5.9.2 PCA工作方式预览 156
  • 5.9.3 实现PCA 158
  • 5.9.4 对StackOverflow数据集应用PCA 159
  • 5.9.5 分析提取的特征 160
  • 5.10 提出建议 165
  • 5.10.1 简单标签推荐系统 165
  • 5.10.2 实现推荐系统 166
  • 5.10.3 验证做出的推荐 168
  • 5.11 我们学到了什么? 170
  • 第6章 树与森林 171
  • 6.1 我们所面临的挑战:“泰坦尼克”上的生死存亡 171
  • 6.1.1 了解数据集 172
  • 6.1.2 观察各个特征 173
  • 6.1.3 构造决策桩 174
  • 6.1.4 训练决策桩 176
  • 6.2 不适合的特征 177
  • 6.2.1 数值该如何处理? 177
  • 6.2.2 缺失数据怎么办? 178
  • 6.3 计量数据中的信息 180
  • 6.3.1 用熵计量不确定性 180
  • 6.3.2 信息增益 182
  • 6.3.3 实现□□特征识别 184
  • 6.3.4 使用熵离散化数值型特征 186
  • 6.4 从数据中培育一棵决策树 187
  • 6.4.1 建立树的模型 187
  • 6.4.2 构建决策树 189
  • 6.4.3 更漂亮的树 191
  • 6.5 改进决策树 192
  • 6.5.1 为什么会过度拟合? 193
  • 6.5.2 用过滤器限制过度的自信 194
  • 6.6 从树到森林 195
  • 6.6.1 用k-折方法进行更深入的交叉验证 196
  • 6.6.2 将脆弱的树组合成健壮的森林 198
  • 6.6.3 实现缺失的部分 199
  • 6.6.4 发展一个森林 200
  • 6.6.5 尝试森林 201
  • 6.7 我们学到了什么? 202
  • 第7章 一个奇怪的游戏 205
  • 7.1 构建一个简单的游戏 206
  • 7.1.1 游戏元素建模 206
  • 7.1.2 游戏逻辑建模 207
  • 7.1.3 以控制台应用的形式运行游戏 209
  • 7.1.4 游戏显示 211
  • 7.2 构建一个粗糙的“大脑” 213
  • 7.2.1 决策过程建模 214
  • 7.2.2 从经验中学习制胜策略 215
  • 7.2.3 实现“大脑” 216
  • 7.2.4 测试“大脑” 218
  • 7.3 我们能更高效地学习吗? 221
  • 7.3.1 探索与利用的对比 221
  • 7.3.2 红色的门和蓝色的门是否不同? 222
  • 7.3.3 贪婪与规划的对比 223
  • 7.4 无限的瓷砖组成的世界 224
  • 7.5 实现“大脑”2.0 227
  • 7.5.1 简化游戏世界 227
  • 7.5.2 预先规划 228
  • 7.5.3 ε-学习 229
  • 7.6 我们学到了什么? 231
  • 7.6.1 符合直觉的简单模型 231
  • 7.6.2 自适应机制 232
  • 第8章 重回数字 233
  • 8.1 调整代码 233
  • 8.1.1 寻求的目标 234
  • 8.1.2 调整距离函数 235
  • 8.1.3 使用Array.Parallel 239
  • 8.2 使用Accord.NET实现不同的分类器 240
  • 8.2.1 逻辑回归 241
  • 8.2.2 用Accord实现简单逻辑回归 242
  • 8.2.3 一对一、一对多分类 244
  • 8.2.4 支持向量机 246
  • 8.2.5 神经网络 248
  • 8.2.6 用Accord创建和训练一个神经网络 250
  • 8.3 用m-brace.net实现伸缩性 253
  • 8.3.1 用Brisk启动Azure上的MBrace 253
  • 8.3.2 用MBrace处理大数据集 256
  • 8.4 我们学到了什么? 259
  • 第9章 结语 261
  • 9.1 描绘我们的旅程 261
  • 9.2 科学! 262
  • 9.3 F#:函数式风格更有效率 263
  • 9.4 下一步是什么? 264

资源下载

资源下载地址1:https://pan.baidu.com/s/1uonhAYQcz0C-svNJl--JTg

相关资源

网友留言