第 一部分 机器学习基础知识 第 1 章 开始机器学习 2 1.1 机器学习简介 2 1.2 理解机器学习的背景知识 3 1.2.1 数学(线性代数、微分、统计和概率) 3 1.2.2 编程 4 1.3 机器学习发展史 4 1.3.1 机器学习的历史与现状 4 1.3.2 机器学习的三大学派 6 1.4 机器学习的分类 7 1.4.1 监督学习、无监督学习、强化学习 8 1.4.2 监督学习的详细分类 9 1.4.3 无监督学习详细分类 10 1.4.4 深度学习 11 1.5 小结 11 第 2 章 机器学习主要概念 12 2.1 模型:观察问题的角度 12 2.1.1 模型的定义 13 2.1.2 简单模型 14 2.1.3 复杂模型 15 2.1.4 结构模型 16 2.1.5 好模型的定义 17 2.2 损失函数:模型的公式化学习目标 19 2.2.1 算术损失函数 20 2.2.2 概率损失函数 21 2.2.3 排序损失函数 23 2.2.4 模型复杂度与相关损失函数 24 2.3 优化:实际训练的方法 25 2.3.1 梯度下降法 26 2.3.2 牛顿/拟牛顿法 28 2.3.3 随机梯度下降法 28 2.3.4 反向传播 30 2.3.5 *新的优化方法 31 2.4 模型评估:实际运用中的性能评估方法 31 2.4.1 模型的泛化特征评估 31 2.4.2 准确率 32 2.4.3 **率与召回率 33 2.4.4 排序评估 34 2.5 小结 35 第二部分 机器学习的主要模型 第3 章 数据与问题 38 3.1 数据类型 38 3.1.1 文本数据 38 3.1.2 数值数据 39 3.1.3 图像数据 39 3.1.4 音频数据 40 3.1.5 混合数据 40 3.2 数据量与数据质量 40 3.2.1 数据量与机器学习的相关性 40 3.2.2 数据质量与机器学习的相关性 41 3.3 数据标准化 42 3.3.1 数值数据标准化 42 3.3.2 分类数据标准化 44 3.3.3 序数数据标准化 44 3.4 问题类型 45 3.4.1 回归 45 3.4.2 分类 46 3.4.3 聚类问题 46 3.4.4 表征学习(嵌入学习) 47 3.5 小结 48 第4 章 利用购买历史数据构建用户群 49 4.1 聚类 49 4.2 K **点聚类 50 4.3 层次聚类 53 4.4 基于密度的聚类 56 4.5 计算相似度 57 4.5.1 闵氏距离 58 4.5.2 马氏距离 59 4.6 小结 61 第5 章 构建文本分析系统 62 5.1 构建文本分类系统 62 5.1.1 文本分类的常用特征 62 5.1.2 利用特征进行分类操作 65 5.2 主题建模 69 5.3 语法分析 71 5.3.1 词性标注 71 5.3.2 命名实体识别 74 5.4 词嵌入学习——word2vec 75 5.5 小结 78 第6 章 构建电影**系统 79 6.1 电影**系统 79 6.2 相似度运算 80 6.2.1 杰卡德系数 80 6.2.2 余弦相似度 81 6.2.3 编辑距离 82 6.3 基于内容的**系统 83 6.4 协同过滤 84 6.4.1 均方根误差 85 6.4.2 基于用户/商品的协同过滤 86 6.4.3 隐因子模型 87 6.5 标准化 90 6.6 小结 91 第7 章 构建图像识别系统 92 7.1 图像处理基本概念 92 7.1.1 像素 92 7.1.2 滤波 93 7.1.3 卷积 95 7.2 图像识别 97 7.2.1 图像分类 98 7.2.2 图像检测 98 7.3 用于图像识别的特征 99 7.3.1 轮廓线 99 7.3.2 角点 100 7.3.3 SIFT 103 7.3.4 主成分分析 105 7.4 利用深度学习进行图像识别 107 7.4.1 关于CNN 107 7.4.2 卷积层 108 7.4.3 池化 109 7.4.4 激活函数 110 7.4.5 全连接层 111 7.5 小结 112 第8 章 解决机器学习中的多种问题 113 8.1 模型问题 113 8.1.1 过度学习 113 8.1.2 如何更轻松地找到好模型 119 8.2 数据问题 121 8.2.1 数据量过大 121 8.2.2 数据量过少 123 8.2.3 数据略微倾斜 124 8.3 速度问题 126 8.3.1 向量运算 126 8.3.2 机器学习**运行系统 128 8.3.3 分布式处理 128 8.4 小结 129 第三部分 机器学习系统应用 第9 章 机器学习软件简介 132 9.1 安装Python 与库 132 9.2 **数据库简介 133 9.2.1 机器学习库 133 9.2.2 深度学习库 134 9.2.3 与计算相关的库 136 9.3 本书使用的工具包 136 9.3.1 Scikit-learn 137 9.3.2 TensorFlow 140 9.4 小结 151 第 10 章 利用购买历史数据构建用户群——实战 152 10.1 数据集 152 10.2 数据预处理 153 10.3 K 均值聚类 160 10.4 确定正确的簇数K 161 10.4.1 定量评估 161 10.4.2 定性评估 164 10.5 分层聚类法 168 10.6 小结 173 第 11 章 构建文本分析系统——实战 174 11.1 构建垃圾短信过滤器(文本分类) 174 11.1.1 用于示例的数据处理 174 11.1.2 通过特征分类 179 11.2 构建主题模型系统 182 11.3 构建词性分析系统 184 11.4 构建专有名词标记系统 185 11.5 小结 187 第 12 章 构建电影**系统——实战 188 12.1 数据集 188 12.2 数据预处理 189 12.3 构建基于内容的电影**系统 192 12.4 构建基于协同过滤的电影**系统 198 12.4.1 实现奇异值分解 198 12.4.2 实现梯度下降法 203 12.4.3 评估近似结果 205 12.5 小结 209 第 13 章 构建图像识别系统——实战 210 13.1 图像数据的K 均值聚类 210 13.2 以主成分分析进行人脸识别 213 13.3 运用CNN 进行手写数字分类 223 13.3.1 生成特征 224 13.3.2 训练与测试 228 13.4 小结 234