增强型分析是数据科学的未来,本书讲解了如何通过前沿的大数据技术和AI技术实现智能的数据分析和业务决策,即增强型分析。
本书的三位作者是来自德勤、前华为和前IBM的资深数据科学家,在大数据和AI领域至少都有10年以上的工作经验,他们将各自多年来在构建数据挖掘模型,解决实际业务问题方面积累的经验全部总结在了这本书中。
全书的内容由两条主线贯穿:
技术主线:一方面讲解了预测模型、序列分析、预测分析、Prescriptive分析等前沿数据处理技术,一方面讲解了CNN、RNN和GNN等前沿的AI技术如何为数据分析赋能。
业务主线:在数字化转型的大时代背景下,如何通过数据分析实现智慧营销、智慧风险管控,实现由初级的主动营销到被动营销,再到全渠道协同营销等营销手段的升级应用。
本书的重点聚焦在本质内容上,即数据处理、算法及模型、模型洞见到业务决策的分析等。
全书共8章:
第1章:作者结合自己的从业经验介绍了数据科学家的职业生涯发展、工作模式和工作方法要点等内容,为有志成为数据科学家的读者指明了道路和方向;
第2章:从描述性分析的角度讲解了数据探索、数据预处理衍生指标加工方面的技巧;
第3章:介绍了预测类模型构建时的新方法、新思路、新工具;
第4章:讲解了序列分析的相关内容,包括序列模式、序列规则、序列预测等的挖掘与应用,用实例的方式说明了算法的原理、特点和使用技巧;
第5章:介绍了人工智能下一个阶段的重点领域,即如何应用数据分析做出*决策;
第6~8章:通过与传统模型的对比,介绍了CNN、RNN、GNN等算法的原理,通过大量的实例说明了这些AI技术在数据分析与决策领域的用法和实际效果。
人工智能技术由于数据、算法、硬件支撑的计算能力等核心要素的共同发展,进入了广泛的、实质性的应用阶段。在不远的将来,我们肯定能看到人工智能及其相关技术在不同行业发挥巨大的价值。
增强型分析将会长足发展
多年以来,人们在构建模型时总是要花费大量的时间和精力在准备数据、数据预处理、多次尝试构建模型、模型验证等过程上。在工业发展的历程中,纯手工打造的时代势必要被标准化流水线的工厂取代,因为工序分解后可以按照统一的模式来处理。构造模型的过程也可以从纯手工打造时代发展为一个更加智能化的时代。笔者十年前在SPSS任职时,就深度参与了自动化建模相关组件的开发,即同一个模型可以按照不同的算法来实现并通过同一个评价指标筛选出最优模型。这样的功能在现在的开源算法库(如sklearn)中已经非常常见。最近AutoML、H2O等知名开源平台使得自动化建模又有了长足的发展。然而建模自动化并不是终点。
增强型分析(Augmented Analytics)于Gartner在2017年7月发表的《增强型分析是数据及分析的未来》报告中首次进入人们的视野。其核心的概念包括:
智慧数据洞察(Smart Data Discovery)。应用相关的工具能够比较智能和自动化地实现数据收集、准备、集成、分析、建模,能够输出各种洞察,可以为人们在战略方向、对应具体范围的战术活动(如针对某市场机会发起营销)、执行(具体执行营销策略)等不同层面的活动提供指导,包括相关关系的发现、模式识别、趋势判断与预测、决策建议等。
增强型数据准备(Augmented Data Preparation)。提供智能化的工具使得业务人员能够快速、轻松地访问数据,并连接各种数据源通过统一的、标准化的、可交互的视图展现内容、数据间的关系等。同时提供丰富的工具进行自动数据归约、清洗、智能化分箱、降噪等功能。增强型数据要能够在原数据和经过数据治理后的数据间灵活处理,尽量避免因为数据治理而丢失信息,同时也避免在大量原数据间进行无序的探索。
从上述的定义中可以看出,增强型分析的特点是其可以智能和自动地完成数据准备和数据分析的工作。对于增强型分析的一个美好的预期就是交给机器大量的原数据,机器直接针对特定场景给出决策建议。要实现这个愿景需要人们至少完成如下的几个要点。
(1)大数据存储与访问
基于大数据平台的存储、计算的相关技术发展很快,目前已经比较成熟,能够高效地处理大量数据。
(2)数据分析流程的组件化、标准化改造
数据分析过程中关键步骤如数据收集、准备、集成、分析、建模等过程,需要细分为不同的子任务,并通过子任务间的灵活搭配构成数据分析的流程。流程的自动化运行以及对应的有价值的结果输出已经有了较好的组件,如H2O等。
(3)提供大量的算法支持数据处理、模型构建
算法既可以用来构建业务模型,也可以用来分析数据间的关系、进行变量聚类等工作。
(4)将模型洞见到业务决策纳入分析范围
模型输出洞见,如模型输出每一个客户的购买可能性,还需要配套如当购买可能性大于90%时再根据时机因素进行推荐的业务决策,才能在实际营销活动中实施。这是一个洞见决策行动的过程。
实现增强型分析所需的技术势必是庞杂的,本书的重点涵盖范围是数据处理、算法及模型、模型洞见到业务决策的分析等内容。这些内容既是我们日常建模时要用到的技术,也是增强型分析中必不可少的内容。虽然增强型分析的表现形式是追求智能化、自动化等功能,但是增强型分析的终极目标还是通过数据分析发挥数据价值。目前增强型分析还处于概念在逐步清晰但需要不断发展的阶段,所以本书的重点是聚焦在其本质内容,即数据处理、算法及模型、模型洞见到业务决策的分析等内容。
本书特点
应用机器学习、人工智能技术不仅需要理解算法原理,还需要对算法参数调优、算法使用时的数据要求、算法输出结果,以及如何在具体业务场景使用数据挖掘模型等方面都有所了解,这样才能真正发挥数据价值,产生实际的业务效果。
本书作者结合多年来给不同的大型机构构建数据挖掘模型、解决实际业务问题的实践,总结归纳技术、应用等方面的经验,以介绍较新机器学习及人工智能技术和如何应用这些技术解决实际问题两个方面作为本书的整体选题思路。总体来讲,本书具有如下两个主要特点。
(1)介绍较新的技术
有监督学习的建模技术早已不是只懂得算法就可以了。目前基于集成学习、Grid Search、交叉验证等自动化建模技术方兴未艾,这些技术在专门的章节作了重点介绍;基于序列模式挖掘、序列规则、序列预测等进入公众视野还较新的技术在实际业务中有巨大的价值,这些也是本书介绍的重点;对于目前比较火热的深度学习、对抗学习等内容,本书也有专门的章节进行介绍。从这些技术的特点来看,已经具备了增强型分析的部分特点,如集成学习的技术就是旨在将多个模型结合起来,达到相对于单独采用一个模型而明显改善的效果。
(2)兼顾原理与大量实例
按照深入浅出的方式介绍算法原理、参数调优及使用方法等信息,并结合实际例子展示如何使用以及使用时的思路。笔者采用深入浅出的原理介绍 实际使用的案例的内容安排,期望能够让读者真正了解机器学习及人工智能的技术原理、特点与使用方法,并能直接在实践中起到指导作用。
除此之外,在本书中涉及汉语直译不能达意的词汇时都是采用英语原词,方便读者能够与科技类的英文材料对应,尽量避免生硬翻译带来的疑惑。在本书的大量实例中,代码注释基本上都是英文的,这与笔者多年的编码习惯有关。
读者范围
本书的目标读者是实际解决业务问题的数据分析建模人员。目前各个企业在应用机器学习及人工智能方面,不断在人才、技术、平台方面进行投入,特别是不断招聘了大量的数理统计、机器学习方面的人才。但是能够实际解决业务问题的数据分析建模人员,除了对算法原理要了解外,还需要对业务有一定了解,同时需要打开眼界快速了解不同的建模方法能够解决什么问题;除此之外,还要具备较高的实践能力,能够灵活应用不同的技术工具来快速完成任务。
本书深入浅出的原理介绍 实际使用的案例的内容安排能够使得数据分析建模人员从算法原理、数据挖掘知识结构、业务应用方法等方面得到提升,帮助数据分析建模人员开阔眼界、优化知识结构、提升实践技能。
从整体来说,本书适用于中、高级的数据分析建模人员,但是初学者也能从实例中得到重要的参考。
章节概要说明
在本书的内容安排中,保持业务和技术两个主线:业务主线是数字化转型背景下的智慧营销、智慧风险管控如何通过数据分析完成具体工作,实现由初级的主动营销到被动营销,再到全渠道协同营销等营销手段的升级应用;技术主线是从常见算法的较新发展到深度学习及对抗学习的复杂度由低向高分析技术由预测性分析到Prescriptive分析进行介绍。具体对应于大纲的内容如表1所示。
表1 本书章节大纲概览
章节 技 术 业 务
内容概要 技术分类 内容概要 业务分类
第1章 鼓励数据科学家加入数字化变革的进程,与业务深度结合
第2章 数据处理技巧、数据可视化等 描述性分析
第3章 介绍预测类模型构建时的新方法、新思路、新工具 预测性分析(输出洞见) 通过一个具体案例,利用看重客户需求而从众多产品中寻找最可能的推荐。较之前单个产品响应预测,是从以客户为中心的视角来产生推荐,以解决多产品排序的问题,实际效果有较大提升 主动营销
第4章 介绍序列分析的相关技术,应用较新的算法以实例的方式说明算法原理、特点、注意事项等 客户行为是不是存在一些共有模式?客户下一个行为会是什么?这些都是具体营销和分享管控领域的实际问题,对营销和风险的具体决策具有非常大的影响。仔细挖掘,善于应用,往往能取得非常好的效果 事件式营销(被动营销)
第5章 介绍Prescriptive Analytics的相关技术,这方面的技术注定会成为数据分析不断深入应用时要用到的重点技术 Prescriptive 分析(输出决策) 因为传统模型大多只输出名单,而Prescriptive Analytics模型要输出的是名单 决策,实现真正的智能决策 全渠道协同营销(考虑成本、收益等诸多限制因素)
第6章 通过与传统模型的对比,介绍CNN算法的原理,通过大量实例说明其特点、用法、实际效果等
第7章 通过介绍RNN算法的原理、特点,以大量实例的方式说明其用法 通过LSTM算法研究客户行为预测,掌握精准的营销时机 基于客户行为事件式营销
第8章 通过介绍Generative Adversarial Network算法的原理、特点,以实例的方式说明其用法
总体来讲,本书是一本既能扩展读者视野又具有实际参考价值,能够紧贴实际业务的关于大数据与人工智能的书籍。
在上述章节中,笔者完成了大部分工作,另外两位作者协助笔者做了一些内容补充,这些内容包括:张宗耀完成了2.1节、2.2节、3.6节、5.4节、7.3节;聂磊完成了第2章的大幅修改、5.5节、5.7节、6.2节。在整个写作过程中,大家经常一起讨论、相互学习,这个过程很愉悦!
为什么写这本书
笔者自2008年加入IBM SPSS,从一个单纯的软件开发者变身为数据分析行业的参与者至今已经快11年了。在这段时间,数据分析行业发生了巨大变化,作为行业的参与者,笔者自身从业经历也在不停地发生变化。总结下来,笔者遵从数据分析驱动业务的主线,按照软件开发人员数据挖掘工具开发者和团队管理者资深数据科学家深入理解业务的资深数据科学家深刻理解数字化变革的高级咨询顾问和管理者的职业路径,在数据分析行业的浩瀚波澜中前行。这些年的从业经历,笔者有如下几点感触。
(1)从事数据分析行业的人是需要不断充电的
用日新月异来形容数据分析的发展是最为确切的了,新技术、新论文不断涌现。大量书籍上描述的是一些基本的算法,对于新技术、新算法,我们应该永远保持不断学习的态度,才能在日常数据分析实践中不断发挥作用。书中并没有讲大家在很多书籍上能看到的传统算法,而是重点讲一些大多数书籍还未涉及的内容。
(2)真正发挥数据价值需要融会贯通数据与业务
在很多情况下,当数据科学家花费大量时间和精力构建出模型后,兴高采烈地试图交给业务人员使用时,往往会遇到一个有趣的情况:业务人员听不懂你对高深算法的解释,甚至不在乎你对数据的各种费心处理,他们只关心实际的问题,如模型到底效果如何。所以在本书中穿插了大量与业务相关的例子。
(3)数字化变革的浪潮与数据分析的广泛应用密不可分
数字化变革是目前几乎所有企业都无法回避的任务。企业由于所处行业、自身特点等原因,需要量身定制数字化转型的战略。大型企业需要选择发展重点作为突破方向,在转型过程中既要做好技术基础,也需要大力推行敏捷的方法,同时要对人们的观念、组织内的流程等方面做出更新。数据分析的广泛应用在数字化变革中势必要发挥巨大作用。笔者认为数据分析者要抬头看,深刻地参与到数字化变革的浪潮中。
本书的写作历时近一年,笔者在做好本职工作的同时花费了巨大的精力总结归纳过往项目经验、学习研究新技术。这个过程既是一个自我充电的过程,也是一个不断总结归纳的过程。笔者试图尽力做到将自己走过的路按照深入浅出的方式讲出来,期望提供一定的参考价值。这也是笔者写这本书的目的。
笔者相信书中难免有一些疏漏,非常希望能够得到阅读反馈。读者可以通过yfc@hzbook.com联系到笔者。
感谢
笔者年近不惑,能够有大量时间花费在写书上,是因为笔者的父母、爱人、孩子给笔者铸就了一个坚强的后方。风暖春日雪,化作涓涓流,这是爱人、孩子和笔者在一次春游时看到终南山中的雪即兴而作的。其实这也能对应到现实中,家人的爱和关心让笔者在前行时如沐春风,遇到困难时他们就是笔者的动力!同时也感谢笔者的三个姐姐对笔者的关心和鼓励。
感谢另外两位作者张宗耀和聂磊,一位是我的师弟,另一位是与我完成过第一本书《发现数据之美数据分析原理与实践》的合著者。兄弟之情已经在聚会、讨论、相互学习、写作中镌刻在我们各自的人生轨迹中!
感谢德勒中国副主席、金融服务业领导合伙人吴卫军能够在百忙之中给本书作序并给出非常积极的评价。吴总在写序过程中,严谨的工作态度给我留下深刻印象,这使我觉得他的序言非常重要。感谢笔者的研究生导师西安交通大学朱利教授的鼓励与肯定,并欣然接受给本书作序的请求。青春挥洒的校园生活是笔者不能忘记的,特别感谢老师在笔者上学期间的关心与培养。
感谢笔者的老板吴颖兰(德勤全球主管合伙人)在笔者写作过程中的鼓励;感谢上海依图网络科技有限公司COO张小平在笔者写作过程中给予的鼓励;感谢美丽聪慧的同事崔璨、罗瑞丽能够在笔者写作过程中不断给予鼓励,并提出非常有价值的意见;感谢同事李敬军、曹文俊、刘田林、刘婷婷、仇敏讷、李宸豪、马克、母丹、张宇姮,在一起做项目的过程中,我们相互学习、相互成长。
感谢我们的客户,在项目中我们能够相互学习、相互提高。可以非常肯定地说,客户的很多痛点是笔者不断学习的动力所在。
感谢机械工业出版社杨福川编辑对本书的肯定,他的专业性和工作效率让笔者惊叹。感谢机械工业出版社常晓敏老师在鲜读渠道对本书的大力推广,也万分感谢鲜读渠道上热心读者给本书内容提出的各种意见和建议。
彭鸿涛
推荐序一
推荐序二
前言
第1章 数据科学家的成长之路 1
1.1 算法与数据科学家 1
1.1.1 数据科学、人工智能、机器学习等 2
1.1.2 室内活动还是室外活动 3
1.2 数据科学家不断成长的几个阶段 3
1.2.1 算法如何构建数据分析模型 5
1.2.2 用法如何回头看模型 6
1.2.3 业务如何产生更大价值 7
1.2.4 战略如何更广 8
1.3 数据科学家的工作模式与组织结构 9
1.3.1 数据驱动还是业务驱动 9
1.3.2 数据科学家团队的组织结构 9
1.4 数据科学家的工作方法要点 10
第2章 大数据探索及预处理 13
2.1 大数据探索 13
2.1.1 数值类型 13
2.1.2 连续型数据的探索 14
2.1.3 分类型数据的探索 19
2.1.4 示例:数据探索 20
2.2 数据预处理 26
2.2.1 数据清洗 26
2.2.2 数据变换 29
2.2.3 数据归约 41
2.3 衍生指标的加工 44
2.3.1 衍生指标概述 45
2.3.2 将数值转化为百分位数 45
2.3.3 把类别变量替换为数值 46
2.3.4 多变量组合 47
2.3.5 从时间序列中提取特征 47
第3章 预测模型的新技术 49
3.1 集成学习 49
3.1.1 Averaging方法 49
3.1.2 Boosting方法 51
3.2 Gradient Tree Boosting介绍 53
3.2.1 梯度与梯度下降 53
3.2.2 Gradient Tree Boosting算法的原理 55
3.3 Gradient Tree Boosting的改进方向 57
3.3.1 Gradient Tree Boosting的使用要点 57
3.3.2 Regularization 59
3.3.3 XGBoost介绍 60
3.4 模型的最佳参数设置 60
3.5 投票决定最终预测结果 65
3.6 让模型在训练结束后还能被更新 66
3.6.1 热启动 67
3.6.2 增量学习 67
3.7 多输出预测 68
3.7.1 Binary Relevance 69
3.7.2 Classifier Chain 70
3.7.3 Ensemble Classifier Chain 70
3.8 案例:如何给客户从数百个产品中寻找合适的产品 71
3.8.1 问题提出 72
3.8.2 建模思路 72
3.8.3 模型训练及应用 73
第4章 序列分析 76
4.1 通过客户行为研究做出服务策略 76
4.2 频繁项集、关联规则的挖掘 77
4.2.1 基本概念 77
4.2.2 频繁或稀疏项集的挖掘 78
4.2.3 关联规则的挖掘 86
4.3 序列模式的挖掘以及应用 88
4.3.1 换种视角观察项间的顺序 88
4.3.2 事无巨细还是事有巨细 89
4.3.3 序列挖掘的相关算法介绍 92
4.3.4 示例:挖掘购买物品的序列模式 96
4.4 序列规则的挖掘以及应用 101
4.4.1 将频繁序列通过业务解读转换为行动指南 101
4.4.2 序列规则的挖掘实现行动指南 102
4.4.3 序列规则的挖掘算法 102
4.4.4 示例:通过客户购买产品的序列推荐合适的产品 104
4.5 序列预测的挖掘以及应用 107
4.5.1 序列规则与序列预测的关系 107
4.5.2 序列预测算法的介绍 108
4.5.3 示例:客户下一步会做什么 110
第5章 应用数据分析做出最优决策 114
5.1 Prescriptive分析概述 114
5.1.1 业务分析的3个层次 115
5.1.2 为什么需要Prescriptive分析 116
5.1.3 什么时候需要Prescriptive分析 117
5.2 确定因素和非确定因素下的决策分析 118
5.3 What-If分析和Goal Seeking分析 121
5.4 优化技术介绍 122
5.4.1 数据挖掘算法中常用的优化技术 122
5.4.2 优化问题求解工具介绍 127
5.4.3 CVXPY优化工具在机器学习算法中的应用 130
5.4.4 应用优化技术寻找最优产品推荐 134
5.5 仿真分析 135
5.5.1 蒙特卡洛的介绍 135
5.5.2 采用蒙特卡洛方法进行重采样 137
5.6 马尔可夫链及马尔可夫决策过程 143
5.6.1 马尔可夫过程及马尔可夫链 145
5.6.2 马尔可夫决策过程及应用工具 148
5.6.3 应用马尔可夫决策过程研究营销策略及客户生命周期价值 151
第6章 深入探讨CNN 155
6.1 换个角度讨论CNN 155
6.1.1 卷积是在做什么 156
6.1.2 人脸检测与人脸识别 159
6.1.3 深度学习意味着什么 165
6.1.4 CNN的结构 168
6.1.5 CNN的训练及结果 172
6.2 用CNN做人脸识别 174
6.2.1 数据加载 175
6.2.2 使用ImageDataGenerator 175
6.2.3 定义模型和训练模型 176
6.2.4 详细探究卷积最终的效果 178
6.3 Embedding 181
6.3.1 文本向量化的一般方法 181
6.3.2 Word Embedding的原理及实现 186
6.3.3 利用Word Embedding实现翻译 190
6.3.4 Embedding的用途不止于Word Embedding 192
6.4 一个例子:文本分类 193
6.4.1 采用传统分类模型实现文本分类 193
6.4.2 采用CNN进行文本分类 196
6.4.3 采用FastText进行文本分类 200
第7章 深入探讨RNN 201
7.1 两种建模方法:Prediction 和 Sequence Labeling 201
7.1.1 Prediction的特点 201
7.1.2 Sequence Labeling的特点 202
7.2 RNN及其变种的详细原理 203
7.2.1 RNN的Activation 函数 204
7.2.2 RNN 的初级神经元及计算逻辑 205
7.2.3 LSTM的神经元及计算逻辑 205
7.2.4 GRU的神经元与计算逻辑 206
7.2.5 深度RNN的原理 207
7.2.6 RNN算法的输入输出形式 208
7.3 利用LSTM预测股票价格 209
7.3.1 模型构建及验证 209
7.3.2 模型应用的探讨 216
7.4 让计算机学会写唐诗 216
7.4.1 构想:如何让计算机能够写出唐诗 216
7.4.2 构建:模型实现的过程 218
7.5 预测客户的下一个行为 221
7.5.1 构想:如何利用LSTM实现客户行为的预测 221
7.5.2 构建:模型实现过程 222
7.6 计算机,请告诉我你看到了什么 226
7.6.1 构想:如何让计算机生成图片描述 226
7.6.2 实现:逐步构建图片描述生成模型 227
7.6.3 VQA 232
第8章 深入探讨GAN 235
8.1 基本原理 235
8.1.1 构想 235
8.1.2 GAN的基本结构 237
8.1.3 GAN模型训练及应用过程 240
8.1.4 GAN原理的再探索 241
8.2 让计算机书写数字 243
8.2.1 建模思路 243
8.2.2 基本实现过程 244
8.2.3 采用DCGAN来实现 248
8.3 让计算机画一张人脸 251
8.3.1 如何让计算机理解我们的要求 252
8.3.2 基本实现过程 253