最简数据挖掘
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 什么是数据挖掘

在科学和工程研究中,一个重要的准则就是“第一性原理”(First Principle),也就是说,从一些基本的数学定理、物理规律、普适常数和实验数据出发,进行计算和推导,直到得到结论。物理学家对第一性原理的理解一般比工程学还严格,特指不使用经验参数,只用电子质量、光速、质子中子质量等少量重要常数(实验获得),利用量子力学的基本原理进行计算。考虑一个基于第一性原理的模型,如果想知道某辆汽车从启动到速度稳定行驶的距离,那么你会先统计从启动到稳定耗费的时间、稳定后的速度、加速度等参数,然后运用经典力学定律建立模型,最后根据汽车多次测试的结果列出方程组,从而计算出模型的各参数。通过该过程,你就相当于学习到了一个知识:某辆汽车从启动到速度稳定行驶的具体模型。此后,在该模型中输入汽车的启动参数,便可自动计算出汽车达到稳定速度前行驶的距离。如果汽车的情况也可以用若干参数来刻画并被纳入第一性原理的模型中,那么以后遇到其他汽车,也只需要输入一些参数,就能直接得到从启动到速度稳定行驶的距离,而不需要进行实际测量。

上面这个分析建模过程中会用到一些实验数据,但不是一个数据挖掘的过程。一般而言,汽车和路况比较复杂,没有办法得到完全精确的模型,但是它毕竟是一个较简单的机械系统,整体上属于第一性原理有可能给出解释的对象。下面我们考虑去预测一个人跑 100 米要多长时间,这个问题就复杂了,因为要理解一个人身体的状态比汽车困难多了——他的肌肉、关节和运动协调过程组成了一个复杂多变的系统。如果从头进行计算,那么所需要的参数和方程简直是恒河星数。但是,如果我们记录下了 100 辆型号性能相似的汽车多次从启动到速度稳定行驶的距离,以及 100 个类似体型和身体状况的人多次跑 100 米所用的时间, 我们可以得到一些经验的公式(这类公式来源于数据的拟合,如身高每高 1 cm,跑 100 米所用的时间短 0.015 s),这些公式是绝无可能从牛顿定律推出的,但是可以以相当的精确度进行预测。这其实简化了一直以来人们探索事物的一般方法,在庞大的数据库中,我们或许不需要了解数据背后复杂的本 质,也可以得到一些经验知识(如身高与跑步时间之间的经验关系)和相对精确的预测结果。这个过程就是典型的数据挖掘。

第一性原理模型和数据挖掘是两种不同的方法论,但两者之间不仅不矛盾,还能够互相帮助。如果我们对一个系统的原理理解深刻,就能指导我们去有针对性地记录和分析数据。譬如,我们了解了腿长对于跑步的重要性,就可以在人体参数表中添加这部分并且作为回归分析中的一个特征量,而如果我们没有任何对原理和机制的认识(哪怕不是第一性原理),就没有任何理由支持我们去采集和分析腿的长度而不是腋毛或腿毛的长度!

反过来看,也许各位读者会深感意外,数据挖掘也可能帮我们找到一些原 理和机制。康奈尔大学 Michael Schmidt 和 Hod Lipson 于 2009 年在《科学》上 发表了一个有趣的研究[3] ,他们从实验数据出发,反向挖掘出物理公式,对于单摆、双摆、弹簧振子等经典系统,从数据中得到的公式与第一性原理得到的公式完全一致, 而计算机并不需要知道牛顿力学。 随着算法和计算能力的提高,我们有望从更复杂的数据中挖掘中一些未知的规律,或者至少为最终找到关键机制提供线索。

简而言之,数据挖掘是从数据中发现知识的过程。从河沙中淘出金沙,再淬炼出黄金,我们称其为“淘金”而不是“淘沙”,所以“数据挖掘”更恰当的名称应该是“知识挖掘”,不过因为前者用习惯了,知识挖掘这个说法反而越来越少了。

最早对于这个领域正式的称谓可以追溯到 1989 年,当时 GregoryPiatetsky-Shapiro 博士首先使用了“知识发现” (Knowledge Discovery in Database,KDD)词汇,后来 ACM(Association for Computing Machinery,国际计算机学会)在推出相应的旗舰国际会议 ACM SIGKDD 的时候,改名为“知识发现与数据挖掘” (Knowledge Discovery and Data Mining,依然是 KDD),而电气和电子工程师协会相应的旗舰会议 ICDM 就直接用 Data Mining 冠名。ACM 相应的旗舰杂志 ACM TKDD 用的是 Knowledge Discovery from Data,不再强调数据库,而是强调数据本身——这是对的,因为关键是从数据中发现知识,至于是不是放在某特定的数据库中,显然并不重要。IEEE 的旗舰杂志 IEEE TKDE 则将该方向命名为 Knowledge and Data Engineering。这些名字各有细微差异,但我们都可以理解为数据挖掘。读者注意,这段文字不是为了辩名, 而是为了介绍国际上数据挖掘最重要的两个会议和两本杂志,在上面读者可以找到数据挖掘的前沿进展。

如果能够很好地运用数据挖掘的理念和方法,我们就能从数据中得到重要的知识,再利用这些知识获得价值。如图 1-2 所示,数据是蕴含巨大价值的矿藏,数据挖掘就像挖矿的先进工具,能够帮助我们沙中取金。

反过来,采集和存储数据要消耗大量的成本,如果数据只是安安静静地存在那里,不进行挖掘和分析,或者没有采用正确的方法进行挖掘和分析,那么这些昂贵的数据存储设备就只是数据的坟墓而已。例如,阿里、腾讯和百度在安全隐私可控的前提下,应用海量用户的数据,在增加用户电子商务购买数量、提升用户游戏体验、提高搜索中广告推荐的点击率等方面都获得了巨大的价值,成为了让全世界尊重的创新企业。与之相比,有些运营商比互联网企业起步更早、资源更好、数据更丰富,但是缺乏数据挖掘的理念和方法,前两年它们数据“坟头的野草”都长起来几米高了。与此同时,我们也注意到,互联网公司为了广告收入,在错误地应用数据和挥霍用户的信任,运营商设立了大数据创新的部门,有的还成立了专门的大数据公司。未来谁在掘金,谁死荒野,还真不好说——只能祝愿各家各户都能做得比以前更好!

图 1-2 擅长运用数据挖掘的理念和方法,就能沙中取金,从数据中得到价值,否则数据只会成为沉默的成本

对于数据挖掘技术和应用而言,一切关于安全和隐私的担忧都是不必要的,因为数据挖掘不是数据贩卖,高手们不需要任何隐私信息就能获得行业关键知识。如果用户的隐私受到侵害,责任方应该是采集和管理用户数据的团队,而不在数据挖掘技术本身。我们希望,运营商、银行、医疗机构和政府职能部门有一天能够破土而出,不辜负手上数据的潜力。