
本书的主体内容包括机器学习概念与特征工程、机器学习技术、模型关系管理,其中,模型关系管理部分主要介绍了弱集成学习、强集成学习和混合专家模型。弱集成学习是指使用机器学习中的弱分类器实现模型准确度和稳定性之间的平衡。强集成学习是指协同特征工程与强分类器形成强集成学习环境。混合专家模型是指通过神经网络集成和网络结构设计形成深度学习框架。本书以案例分析为主线介绍不同的集成学习方法,首先阐述弱集成学习如何解决项目痛点问题,然后以痛点为起点,集中讨论强集成学习如何解构子项目问题,最后通过深度学习分析非结构化数据。在每个案例中,归因问题是分析的核心,提供了解析归因问题的一系列方法,以作者多年的项目经验为基础,展示 Python 数据分析的强大之处。
序言 人之初,只有本性。那本性是什么呢?一系列的定律揭示了人的本性和行为,包括生理学、心 理学、经济学等,即使是被称为自由意志的,也只不过是人类对自身所经历的历史总和的反映,从 这个角度来说,人类不过是生物机器。既然人类是生物机器,那么机器也可以学习人类,只是复杂 程度不同而已。 多年来,人类一直在研究能实现全部或部分人类功能的机器,它们能听、能看、能说,能像 人类一样劳动和工作。人类已经在各细分领域中创造出能替代人类部分功能的机器。小度机器人、 工业机器人、会下围棋的AlphaGo、能自动驾驶的特斯拉、刷脸支付等几乎都离不开一项统计建 模技术——机器学习。 机器学习在数字经济时代可以说是一项改变世界的技术,随着大数据和人工智能技术的发展, 机器学习的重要性日益凸显,目前深度学习的应用都与机器学习算法有着密不可分的关系,数据、 算法、算力这三个要素正在深刻地改变整个世界,三个要素缺一不可。既不能没有大数据,也不能 没有承载和运算这些数据的算力,当然最终还需要优秀的算法,近年来,优秀的算法层出不穷,相 关论文不断涌现,因此了解算法的原理尤其重要。 作者丁亚军近十年来一直致力于个人和企业培训实务、了解学员的种种困惑、知道如何深入浅 出地教会学员。本书从机器学习的基础概念、特征工程技术、机器学习准备、统计学、神经网络模 型、决策树、支持向量机、关联分析、集成学习方法、多阶段模型管理、深度学习模型、自动化机 器学习方面,详细阐述了机器学习技术的基础与实践,丁亚军讲授的模型与算法课程深受学员和企 业好评。这本书是丁亚军多年教学经验的总结,能使一个门外汉逐步理解和掌握机器学习这门技 术,懂得各相关模型之间的关系,并学会应用和管理模型。基于丁亚军严谨的治学态度和一贯认真 负责的精神,我向读者推荐这本书! CDA Institute 理事 赵坚毅
第 1 部分 机器学习概念与特征工程 第 1 章 机器学习的基础概念 / 002 1.1 数据源 / 002 1.1.1 数值:单元格 / 002 1.1.2 图像:像素点 / 003 1.1.3 文本:词向量 / 004 1.2 模型的基本形式:回归 / 006 1.2.1 文氏图:方差分解 / 006 1.2.2 分布图:分布与随机 / 007 1.2.3 角色:监督与非监督 / 008 1.2.4 模型应用:归因与预测 / 008 1.3 模型与算法 / 013 1.3.1 模型进化:从 1.0 到 4.0 / 013 1.3.2 算法驱动:参数与超参数 / 014 1.4 SMD 学习技术 / 014 1.4.1 统计学习:线性回归 / 014 1.4.2 机器学习:支持向量机 / 015 1.4.3 深度学习:神经网络 / 016 1.5 机器学习误差源 / 018 1.5.1 误差源 / 018 1.5.2 偏差与方差窘境 / 019 1.6 模型拟合诊断 / 020 1.6.1 模型拟合 / 020 1.6.2 模型的评估指标 / 021 1.7 数据分区技术 / 024 1.7.1 数据分区:训练与评估 / 025 1.7.2 交叉验证:分区的升级 / 026 1.8 集成学习方法 / 028 1.8.1 强分类器:特征工程+模型 / 029 1.8.2 弱分类器:模型+模型 / 029 1.8.3 混合专家:神经网络 / 029 1.9 运算加速度 / 029 1.9.1 大数据挑战 / 030 1.9.2 数据的高效运算 / 030 第 2 章 特征工程技术 / 032 2.1 数据变换 / 032 2.1.1 特征规范化:对中处理 / 033 2.1.2 样本规范化:距离相似度 / 035 2.2 数据编码 / 036 2.2.1 独热编码:无序性 / 037 2.2.2 数据分箱:业务标签 / 038 2.3 缺失值填补 / 039 2.3.1 中位数填补:稳健 / 039 2.3.2 最近邻填补:高维 / 039 2.3.3 随机森林填补:“贤内助” / 041 2.4 异常值诊断 / 045 2.4.1 单变量异常值:描述 / 045 2.4.2 多变量异常值:监督 / 046 2.4.3 多变量异常值:非监督 / 046 2.4.4 非结构式异常值:自编码器 / 047 2.5 共线性的危害 / 053 2.5.1 双变量共线:新特征 / 053 2.5.2 多变量共线:特征分解 / 055 2.5.3 特征组合技术 / 058 2.6 特征筛选技术 / 059 2.6.1 经验:“站在谁的肩膀上” / 061 2.6.2 相关:相关系数 / 061 2.6.3 回归:特征筛选 / 061 2.6.4 降维:线性与非线性 / 062 2.6.5 工具:“指南针” / 065 2.7 聚类技术:市场细分 / 066 第 2 部分 机器学习技术 第 3 章 机器学习准备 / 069 3.1 机器学习的数学基础 / 069 3.1.1 微积分基础 / 069 3.1.2 向量运算:相关分析 / 072 3.1.3 矩阵运算:回归模型 / 074 3.1.4 张量运算:神经网络 / 076 3.2 机器学习理解 / 077 3.2.1 连续型因变量:线性回归 / 077 3.2.2 分类型因变量:逻辑回归 / 081 3.3 机器学习算法 / 083 3.3.1 最小二乘法:准确度 / 083 3.3.2 最大似然估计法:测量 / 083 3.3.3 随机梯度下降法:大数据 / 085 第 4 章 统计学:回归“进化” / 087 4.1 大数据与回归模型 / 087 4.1.1 统计学的烦恼 / 087 4.1.2 线性回归的进化 / 088 4.2 正则化约束 / 089 4.2.1 正则化技术的原理 / 089 4.2.2 LASSO 回归与岭回归 / 090 4.2.3 弹性网的特征 / 091 4.3 案例:随机梯度下降回归与归因解释 / 092 第 5 章 神经网络模型:预测 / 096 5.1 感知器模型 / 096 5.1.1 与或四门通往何方 / 096 5.1.2 感知器=线性回归 / 099 5.1.3 激活函数为何是非线性的 / 100 5.1.4 感知器=CPU / 102 5.2 神经网络模型 / 102 5.2.1 感知器集成:网络结构 / 102 5.2.2 前向传播技术:联立方程 / 105 5.2.3 反向传播技术:自动微分 / 107 5.2.4 网络结构设计:隐含层 / 110 5.2.5 神经网络专题 1:特征工程 / 111 5.2.6 神经网络专题 2:维度灾难 / 112 5.3 案例:数据分析流与神经网络 / 112 第 6 章 决策树:归因与可视化 / 122 6.1 决策树模型原理 / 122 6.1.1 熵与相关性 / 122 6.1.2 决策树概览 / 123 6.1.3 特征分叉运算 / 124 6.1.4 特征选择运算 / 125 6.1.5 决策树与剪枝 / 128 6.2 树模型的特征 / 128 6.3 两类归因:决策树与逻辑回归 / 130 6.3.1 树形图解释 / 130 6.3.2 S 形图解释 / 131 第 7 章 支持向量机:高维数据 / 135 7.1 支持向量机简介 / 135 7.1.1 超平面 / 135 7.1.2 点距超平面 / 137 7.2 线性支持向量机 / 138 7.2.1 硬间隔:严格边界 / 138 7.2.2 软间隔:松弛边界 / 138 7.3 非线性与核技巧 / 139 7.3.1 理解核技巧 / 139 7.3.2 核函数及其应用 / 140 7.3.3 支持向量机:经验汇总 / 141 7.4 支持向量机模型运算 / 142 7.5 案例:图像识别与预测分类 / 144 第 8 章 关联分析 / 148 8.1 数据源格式 / 148 8.1.1 标准数据格式 / 148 8.1.2 概念的层级性 / 149 8.2 关联规则与度量指标 / 150 8.2.1 关联规则度量 / 150 8.2.2 频繁项集 / 151 8.2.3 Apriori 算法 / 151 8.2.4 强关联规则 / 153 8.3 案例:商品关联过滤与营销推荐 / 154 第 3 部分 模型关系管理 第 9 章 集成学习方法:弱集成 / 160 9.1 集成学习:弱分类器 / 160 9.1.1 自抽样法 / 161 9.1.2 套袋法与随机森林 / 162 9.1.3 套袋法的运算 / 163 9.1.4 随机森林与特征工程 / 165 9.1.5 提升法与提升树 / 165 9.1.6 提升法的运算 / 167 9.1.7 XGBoost 的原理与应用 / 170 9.2 集成学习:聚合策略 / 173 9.2.1 简单投票法 / 174 9.2.2 堆叠法 / 175 9.2.3 理论判断法 / 176 9.2.4 元分析法 / 177 9.2.5 结构方程模型 / 178 第 10 章 多阶段模型管理:强集成 / 181 10.1 特征工程与模型集成 / 181 10.1.1 机器学习与模型关系管理 / 181 10.1.2 “主成分+”与“聚类+”模式 / 182 10.2 多阶段模型管理与案例解析 / 183 10.2.1 线性与非线性:决策树+回归 / 184 10.2.2 异常诊断一:异常评分+主次归因+规则归因 / 190 10.2.3 异常诊断二:异常规则+复杂归因 / 195 10.2.4 经验法:贝叶斯规则+回归 / 199 10.2.5 不平衡修正:平衡性抽样+模型集成 / 208 10.2.6 数据源:问卷+数据库 / 212 第 11 章 深度学习模型:混合专家 / 219 11.1 全连接神经网络:数值分析 / 220 11.1.1 全连接神经网络规则 / 220 11.1.2 梯度爆炸与梯度消失 / 221 11.1.3 全连接层:正则化 / 224 11.1.4 构建全连接神经网络 / 224 11.2 卷积神经网络:图像识别 / 225 11.2.1 卷积层:核运算 / 226 11.2.2 池化层:标准化 / 232 11.2.3 全连接层:信息传递 / 233 11.2.4 构建卷积神经网络 / 234 11.3 循环神经网络:自然语言处理 / 237 11.3.1 概率语言模型 / 237 11.3.2 循环神经网络 / 239 11.3.3 长短期记忆网络 / 241 11.3.4 构建循环神经网络 / 244 第 12 章 自动化机器学习 / 246 12.1 自动化与集成学习 / 246 12.1.1 自动化集成 / 246 12.1.2 TPOT 配置 / 247 12.1.3 案例:模型复杂度评估 / 248 12.2 数据分析流水线 / 251 12.2.1 数据分析流 / 252 12.2.2 模型失效周期 / 255 12.2.3 知识发现与模型 / 258 12.2.4 流水线技术准备 / 259 12.2.5 创建复杂流水线 / 261 12.3 超参数与高效运行 / 265 12.3.1 热启动 / 266 12.3.2 随机搜索 / 266 12.3.3 贝叶斯搜索 / 268 12.3.4 增量学习 / 269 总结与展望 / 272