前言
数据分析、数据挖掘、深度学习及云计算,是当前最热门的技术领域。1830年前后,Gauss、Legendre等数学家奠基了数据分析的基础理论;1943年,心理学家Warren McCulloch和数理逻辑学家Walter Pitts首次提出神经网络;19世纪80年代,Hinton、Yann LeCun等人提出BP算法及卷积神经网络;2006年,深度置信网络研究成果发表。至此,数据建模理论研究的宏观大厦已初见雏形。
历史是如此的巧合,正当需要海量数据集和工程技术方案来处理数据时,云计算应运而生。2003年,谷歌发表关于Google File System、Google Bigtable及MapReduce三篇论文,让大数据处理技术风靡全球。以此为基础,2010年前后,整个云计算的概念及技术体系已经非常完善了。
数据理论的完善、工程技术的发展与无数创意的结合,使得2010年以后,整个人类社会进入了“数据时代”。无论是精细化运营,还是人工智能产品,对数据的应用无处不在;无论是政府机构,还是私有的大、中、小型企业,使用数据的热情都达到空前的高度。
2014年,我加入百度公司,从事大数据处理及数据建模等相关工作。回首过往,在该领域的几年中,我经历了云计算从雾里看花到如今的方兴未艾;人工智能的初现端倪到如今的高潮迭起。作为一名前线的数据工程师,我深刻认识到,对我及大多数工程师而言,既无法像Jeff Dean等一样提出经典的大数据计算模型;也无法像Hinton、Yann LeCun一样提出具有深远影响的建模算法。我们所要做的,就是学习与汲取当前的理论与技术,结合应用领域,实现工程应用。这也是我写本书的初衷,希望能从宏观框架上梳理已有的数据分析理论与工程实施技术,并搭建相对系统的知识体系;同时,阐述工作实践中遇到的问题及解决的思路。
Python简洁易懂的语法、丰富的类库、与大数据组件的无缝集成等诸多特点,使其成为数据工程师的首选编程语言。当然,只是掌握Python还完全不足以成为顶级数据工程师,因此,本书介绍数据处理知识体系,并以Python实现相关代码示例,力求让读者能使用Python完成数据处理的各个环节。
本书的第1章和第2章,简要说明了数据处理领域的基本概念,旨在让读者对数据处理工作有宏观的了解。第3章~第5章,主要讲述数据分析理论。笔者按照难易程度,将其划分成三个部分,即基础分析、数据挖掘和深度学习。第6章针对大数据分析,介绍了在工程实施过程中需要用到的工程组件和架构模式,并以一个具体的案例说明整个数据工程的实施流程。
本书适合以下读者阅读:①对人工智能和云计算感兴趣的读者;②刚进入数据处理领域的IT工程师;③希望从宏观上梳理数据处理知识体系的读者;④用Excel、SPSS、Python做过数据分析的数据分析师;⑤应用过HDFS、Kafka等大数据组件的IT工程师。
本书能够完稿,得益于外界诸多的帮助与指导。感谢数据领域的先驱者Geoffrey Hinton、Yann LeCun、Jeff Dean等,他们的著作是数据时代最重要的理论依据;感谢在百度工作中遇到杨振宇、李华青、王珉然、陈合等许多优秀的同事和领导,在和他们一起试错、交流的过程中,让我取得巨大的进步;感谢本书的编辑刘皎,在她不厌其烦地督促下,本书才从凌乱的只言片语中编辑成书;特别感谢女友孙万兴,在本书的撰写过程中给予的谅解与支持。