1.1 机器学习从数据开始
在机器学习中,食材就是数据。我们先来了解一下什么是数据。先看一个鼎鼎有名的金字塔——DIKUW数据金字塔(图1.2)。这是从数据到智慧的一个过程,每个字母代表一个单词。
D(Data,数据):指基础数据,或者说原始数据(Original Data)。
I(Information,信息):指信息整理,经过简易处理读取表层内容。
K(Knowledge,知识):指知识归纳,根据习惯思维归纳总结模型。
U(Understand,理解):指理解分析,理解并分析模型或模式内涵。
W(Wisdom,智慧):指智慧决策,利用演绎性思维进行决策。
诗对世界就像一个人的自语,可能是无韵无律的,但必须来自心底。这座数据金字塔来自英国诗人托马斯·艾略特(Thomas Eliot)于1934年所写的一个名为《岩石》(The Rock)的剧本中的一个片段——DIKW(数据、信息、知识、智慧)金字塔。但学者们为了适用性,给出了DIKUW,即在DIKW中增加了U(理解)。
图1.2 DIKUW数据金字塔
The Rock
Where is the life we have lost in living?
Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?
从数据到智慧的过程,自古就有。古有神话传说——神农尝百草。神农通过对药草的逐一观察和品尝收集大量数据,获取药草信息,然后归纳总结出不同的药草类别,进而给出不同药草的药性,并演绎出药物的调配之理用于疾病的医治,由此神农登上金字塔之顶,成为药王神。
数据是什么?数据就是数字吗?非也。拆词解意,它可以分为两个字:“数”和“据”。“数”就是数字,“据”就是记录下来。
耳听不一定为真,眼见不一定为实。许多时候,我们虽然看到的不是直接的数,但它可以用数的形式储存,如一段音乐、一支舞蹈、一幅画作、一篇文章等。音乐中有旋律,高低急缓,声波可以用函数的形式表达,这样就可以用数字的形式记录下来。舞蹈中包含节奏、步伐、跳跃等,通过位置的变换也可以将其记录,转换为数字。画作中的笔触、色彩、明暗,可以通过把图片栅格化后,以每个小格子在图片中的位置和色彩深浅度表示,同样能够用数字的形式储存。至于文章中的文字,既然我们可以在计算机中录入,自然可以用二进制的数字表示。于是我们发现,但凡可以用数的形式记录下来的,都可以称为数据,这也验证了毕达哥拉斯所说的“万物皆数”。当今这个时代的数据,大多指的是储存在电子设备中的记录。每个时代有每个时代的特征,关键在于怎么把握。
要注意的是,在构建数据机器之始,首先要明确需求,就像各位小伙伴为了准备元旦大餐,根据各自的需求选购食材似的。但实际上很多人会忽视这一点,拿到数据就直接构建模型,目的都不明确。举个例子,小明读了一本机器学习的书之后十分自信,就想小试牛刀。碰巧,小明有个亲戚在开淘宝店,小明主动提出帮他分析客户消费数据。分析后,亲戚看到小明给他看的酷炫的可视化结果,称赞小明真厉害。然而,在小明分析之前,亲戚每月的收入是1万元,在小明分析之后,亲戚每月的收入还是那些。于是,亲戚暗自觉得小明的分析“华而不实”。如果在小明分析之后,亲戚每月的收入显著提高,比如直接翻倍了,那才能体现出小明分析数据的价值。因为亲戚的目的不是看结果有多漂亮,而是实实在在地提高收入。所以,确定数据建模的目的十分重要。
确定目的后,就可以进入食材的准备与清洗阶段。从数据初始来源看,数据采集一般分为直接来源和间接来源。
直接来源就是根据目标确定变量然后爬取数据,如通过数据资源丰富的电商、短视频、直播等获取数据;也有通过调查或实验获取数据的,如企业或科研工作者为实现某一目的而通过一系列调查或实验得到数据;等等。但采用直接来源的方式获取数据不易,如注重隐私的医疗行业的数据获取。这时候只能通过间接来源的方式分析问题,如汇总数据的分析,就是根据目的分析不同研究者对同一问题的研究结果数据。
间接来源,通常是原始数据已经存在,使用者需要根据目的对原数据重新加工整理,使之成为可以使用的数据。当前网络上的公开数据、图书期刊提供的文献数据、公司发布的定期研报数据等,都属于间接来源数据。通俗来讲,间接数据就是二手资料,这些数据的采集比较容易,成本低,而且用途很广泛;除了用于分析将要研究的问题,还能提供研究问题的背景,帮助使用者定义问题并寻找研究思路。本书中所涉及的数据集,比如共享单车数据集、鸢尾花数据集、泰坦尼克号数据集、企鹅数据集等,都是已公开的二手数据,仅供读者练习模型所用,读者可以轻松获取到。需要注意的是,二手数据有很大的局限性,使用者需要保持谨慎态度。因为二手数据不一定符合使用者研究的目的,可能问题相关性不够,口径可能不同,数据也可能不准确,还有可能有失时效性等。
采集到数据之后,就是数据清洗步骤。如果是间接来源数据,如一些公开数据集或者比赛提供的数据集,通常要做的只是数据筛选,因为这些数据大多已经被处理过。如果是直接来源数据,比如工厂传感器直接采集到的数据,医生对病人的检测数据等,都需要使用者花费大量时间对数据进行清洗。有时,数据清洗过程将占据整个研究过程70%以上的时间。数据清洗的手段包括处理缺失值、检测和过滤异常值,去除噪声点,移除重复数据、选择重要变量等。
在烹饪阶段,我们将根据数据特点准备待选模型并选择最优模型。本书之后的章节将详细介绍监督学习这一大菜系中的各种菜单模型。为方便大家开发新菜谱,将介绍模型的集成结构,并给出多个模型联合的示例。
最后的装盘展示阶段,包括模型结果的可视化展示和模型落地。可视化阶段可以展示模型效果,并对结果做出解释,供决策者作参考。图表展示,包括散点图、直方图、线图、饼图、柱状图、箱线图、雷达图等常用的统计图形,还有表示模型层次结构的树型、圆锥树、树状地图等,以及社交网络、文本词云等。模型落地则是将模型部署到生产环境中,从而产生实用价值的过程。
本节主要介绍机器学习之旅的整个过程,之后的小节详细介绍监督学习的全过程。后续章节除了提供各大模型菜谱,还贴心地准备了实例,以方便读者练手。