您的位置:首页 > 业界新闻

【读书笔记】《大数据——互联网大规模数据挖掘与分布式处理》

2012-10-21 11:44 253 查看
计算所王斌老师翻译的,前两天在微博上炒得比较热。第一时间买来,通读了下。

先说一下总体感觉吧。

有些内容结合了map-reduce等大数据的流行处理方法,是比较“时尚的”。
有些内容过于理论化,例如证明算法的上界和下界,而证明过程又不是严谨的过程,鸡肋
有些内容,如:pagerank、推荐引擎等内容,比较浅显,不够深入
全文读起来不够流畅,往往一段内容看了几遍,才看清楚说的内容;不知道是原著的水平还是翻译的质量。总之,有种嚼蜡的感觉。
鉴于此,可以将这本书当做一个“目录”来读,对于有些内容,知道其中的“关键词”就行了,真正用到的时候,google一下,比书上讲的详细。

下面分章节说一下,算是读书笔记吧。

第一章《数据挖掘基本概念》

1. 邦弗朗尼原理:

书上说的也不是很详细,基本的意思是——别指望通过大规模统计来发现一些很“稀有”的事情或者规律。例如:恐怖袭击这样的事情,多少年都遇不到一次。通过对某些数据的,大规模统计,可能推断出每年要发生很多起恐怖袭击,这本身就不现实。

总之,统计方法只能解决统计范围内的事情。

2. 对自然对数的底e的解释不错

特别是(1+a)^b 0<a<<1的时候,可以等价为e^ab

第二章《大规模文件系统及Map-Reduce的应用》

对map-reduce介绍的比较浅显。

集合运算的map-reduce实现,有一定的参考意义。

后面对map-reduce扩展以及map-reduce算法效率问题,偏理论,不适用,比较鸡肋。

第三章《相似项的发现》

这一章编排的比较混乱。记录几个知识点。

1. 文档相似性分为两种,“字面上的”相似和“意义上的”相似。现在基于词和统计度量的相似度都是前者。

2. k-shingling的概念:即k个连续出现的词

3. 用hash方法来计算相似度,思路为:将文件表示为文件签名(通常长度短很多),将文件签名Hash,hash值相同的文件有可能是相似的文件。后续内容围绕这个思路展开讨论,提出了多种方法。个人感觉似乎不太实用,需要用的时候,问下度娘就好了。

4. 总结了一些文本距离的计算方法:jaccard距离(集合之间)、而是距离、余弦距离、编辑距离、海明距离(两个向量中不同分量的个数)

第四章《数据流挖掘》

主要很对线上系统的数据流提出的一些方法。

一般处理流数据有两种方法:

(1)将某一个时间段看成一个窗口,窗口中的数据作为挖掘的训练集,用常用的挖掘方法来计算

(2)不设定窗口,用时间衰减因素来对数据流中的元素进行计数,并利用这些计数来进行挖掘

实际上(2)也是设定了一个窗口,只不过窗口的大小和时间衰减系数相关。

这一章的前面几个小节用概率统计的方法来进行技术,涉及到抽样、矩估计等,感觉不是很实用。

1. DGIM算法,解决问题是:对任意k<=N(N是流窗口大小),最近k位的流中有多少个1(1表示感兴趣的项)?思路是用O(logN)的空间来表示O(N)的空间,挺有趣。

2. 衰减窗口:思路很简单,就是对过去(例如与当前时间间隔为t)的数据,乘以一定的衰减因子,然后再计数,如a(1-c)^t,t是时间间隔,c是0<c<<1的数,a是项出现次数。

第五章《链接分析》

介绍pagerank算法及其扩展,以及链接作弊等。没有什么过多可记录的。

第六章《频繁相集》

就是介绍挖掘关联规则的。

1. 介绍了支持度、可信度和兴趣度的基本概念。其中兴趣度比较有意思,是某个项在当前频繁项集合中的可信度和所有频繁项集合中的可信度的差值,这个值比较大,表示当前频繁项集合会“促进“当前项的出现;反之,表示会”抑制“当前项的出现。思路上有点像文本处理中的tf/idf。

2. 频繁相集的发现还能应用在”文档抄袭“中,此时当前项是当前文档,购物篮是句子,目的是寻找在多个购物篮中都出现的文档对儿。

3. 介绍Apriori算法,其思想就是在暴力遍历算法的过程中及时进行剪枝。

4. 三角矩阵方法来存储频繁项,就是把项对儿的二维矩阵进行一维化,并给出公式来计算(i, j)在一位数组中的位置

5. 单调性原理:如果项集I是频繁的,则I的子集都是频繁的。以上Apriori算法可以参考《web数据挖掘》这本书,虽然翻译的很烂。

6. 对Apriori算法的各种改进,包括PCY算法、多阶段算法、多hash算法等,需要用的时候,问度娘就行。

第七章《聚类》

1. 对高维空间的”维数灾难“介绍的很好,结论就是:在高维空间中,两个向量的欧氏距离接近于所有向量的欧氏距离的平均值;两个向量的余弦夹角接近于90度。书中对这个结论阐述的很好。

2. 层次聚类和K均值聚类介绍都和其它书上的一样。对聚类后簇的度量介绍不错,如两个簇的距离定义,簇半径、直径等

3. k均值聚类中k的选择方法介绍的很好。在没有先验知识的情况下,通常簇的数目k和簇的平均直径呈反比关系,类似zipf定律,此时要找的k就是这个曲线上的拐点,即进一步增大k的值也不能有效降低簇的平均直径

4. BFE算法和CURE算法,需要用的时候问度娘。

第八章《web广告》

讨论的问题就是怎么设计广告系统(广告关键词和广告之间的匹配、排序系统)使得搜索引擎的收益最大。

1. 一般来讲用的都是贪心算法,即综合考虑关键词与广告的匹配程度、广告商竞价、广告商剩余预算等因素,给出一个贪心的匹配。本书后面的内容证明了这种匹配的竞争率(可以理解为赚钱的数量与理论上最多赚钱的数量的比率,即赚钱率)的下界,没啥用。

2. 次高价拍卖:每个广告展现按照出价第二高的广告商的价格上加1美分来收取广告费,据说能防止广告商投机的行为,有利于搜索引擎提高收益。不过这里面没有展开说,可惜。

第九章《推荐系统》

主要介绍两类推荐系统:

1. 基于内容相似度的推荐

2. 基于协同过滤的推荐,也介绍了降维处理。

这一章内容介绍的很浅显。

总的来说

这本书内容一般,翻译质量一般。比较新意的是将map-reduce引入到内容中,有一定借鉴意义。有些内容偏理论,实际中没大用;又因为篇幅有限,有些实际的内容来不及展开讲。不知道是原文问题还是翻译问题,这本书读起来很不流畅,有些很浅显的意思,也要反复看才能得到。哎,快餐时代~!

大部分是在地铁上班的时候看的,这本书也算对得起这些时间了。想要找醍醐灌顶的感觉,还是算了吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐