2.写一下读书感受,以供后来者参考:刚看到李刚写的书,还是很看重他的,在短时间内写了那么多的书。看着看着,就感觉永无尽头,他写的书给我的感觉就是“只见林木,不见森林”,即使是天才看了他的书,也绝对不可能开发出实际的项目出来。看了他写的两本书以后,就感觉他的英语水平应该不错,可能是从软件开发商的官网下载一些官方的技术参数说明,加以翻译,再在其中加上自已几段话的理解,而且这几话的理解,反反复复出现在其它的章节,他的书就是这样写的。我估计他本人也没有全盘通读他自己写的书,不然不会那哆嗦。全然没有通盘架构开发实际项目的经验,只是一个技术收集者而已。所以这本书定名为实战,实为工具书。作者本人,我估计也没有多少实战的经验。
李刚的本事就是把简单的东西复杂化,误导初学者。他即不是学院派也不是实战派,他只能算是一个抄书的小偷而已,也仅此而已。
前: 读技术书于我而言就像高中物理老师说的那样:一看就懂、一说就糊、一写就错。为了不马上遗忘昨天刚刚看完的这本书,决定写点东西以帮助多少年之后还有那么一点点记忆。好吧,开写。
1. 总体来说,数据挖掘时数据模型的发现过程。而数据建模的方法可以归纳为两种:数据汇总和数据特征提取。其中数据汇总主要包括聚类和PageRank,数据特征提取主要包括相似项发现以及频繁项集。
2. 相似性发现:在大量集合中发现相似的集合。首先将集合表示为集合矩阵的形式,因为集合矩阵的数据量特别大导致可能无法全部放入内存所以需要通过合理的方式压缩数据。解决方案是使用最小哈希签名矩阵来表示集合矩阵(原理和计算见P50-54)。但是即使签名矩阵中的行数得到了压缩,但是因为列数很庞大所以如果每两个集合都进行比较而计算相似度的话计算量依然很庞大。在这里,作者提到了一种局部敏感哈希算法,采用行条化策略,用来构建候选对(P56-57)。使得候选对较少,计算量大幅度下降。上面所述为Jaccard距离的相似性问题,对于余弦距离的相似性问题主要表示为:集合矩阵--->梗概矩阵-->局部敏感哈希算法(行条化策略)
3. 频繁项集:在购物篮中出现次数大于一定阈值的项对。
1)基本概念:支持读,可信度
2)频繁项对发现算法:
A-priori算法核心:只有i,j都是频繁项,{i,j}才可能是频繁项。
PCY算法核心:i,j都是频繁项同时{i,j}哈希到一个频繁桶中才 可能作为候选频繁相对。
4. PageRank:V‘ = BMV+(1-B)e/n的迭代。其中B是一个常量,一般选为0.8~1,;M是链接转移矩阵。大数据的应对措施是使用Map-Reduce工具处理。
1. 至于楼主说到外国教科书的啰嗦,这个我不同意,人家并不是啰嗦,只是兼固你看者的感受,例如人家引述了一个知识点,会在附近注上需要用到的知识等等,特别是外国学生比较崇尚的是自学、预习,这种风格是方便人家查具体的资料!
可以看看几大理科强国的教材,美国的图表丰富,基础知识完备,苏联时代的《微积分学教程》,光看完例题都已经等同或接近国内数学分析课的水平,德国佬的(当然我只有计算机专业类翻译书),严谨详尽!
就唯一是中国的教授都受卖弄自己多么高明,一个简单的问题解释几句话,可一个需要注意的点,倒没落下半个逗号,反倒是步骤少了几步!
可能楼主会说算法巨著TAOCP也跳步骤啊,我也在看,负责任的说,人家英文原版不会随意去跳关键步骤,关于数学的有趣历史全有资料,该有的公式推导就算内容没直接说,也在习题和习题答案列明,其次,人家不是婴儿奶粉而是让有一定水平的人的补钙奶粉!再者为了让人好应付相应的数学知识,还有一本《具体数学》的数学书,上边有大量关于TAOCP第一卷第一章的补充!
红黑树插入实例供图的b到c步骤中 c的图示印刷错了
2.特定场合的话:初次见面说久仰,再别重逢说久违;求人帮忙说劳驾,求人方便说借光;请人解答说请教,盼人指点说赐教
3.自己动手写网络爬虫,,开始从Web开发转向了网络爬虫的方向,然后在书店一个特偶然的机会,就看到了这本书,由于这是国内唯一一本关于网络爬虫的书,所以想也没想就买下了。
其实我原本是很不信任中国人写的书的,不过最近看了一些比如《Javascript王者归来》,再追溯到很久以前的《你所知道的.NET》,我发现其实国人写的书也是不错的。通俗易懂,而且还相对的比较有深度。
但是买了这本,我的信任再度跌倒谷底。
我想看爬虫多线程的实现如何能达到最优,你给我将Java多线程的语法干嘛啊!
我想看文本过滤的算法,你给我讲HTMLParse的类库干嘛啊!
我想看一些算法,你丫的干脆把数学之美一个字不差的给抄上了!
我想看分布式爬虫,你把Google的论文干脆给写到上面了,我想看GFS,想看Bigtable自己查好不好.....
我现在唯一怀疑的就是一件事了,书里抄的这些东西,你丫的自己真的理解了么?
4.
这是继2009年翻译完《信息检索导论》之后,我翻译的第二本书。翻译完前一本书之后,我曾经下决心几年之内不再翻译书。这一方面是由于翻译书十分辛苦并且需要花费大量的时间,我怕时间和精力上难以保证。另一方面,书的翻译质量好坏会让有点完美主义倾向的我始终承受着巨大的心理压力。但是,我终究没能经受住诱惑。每次看到优秀的英文原版书籍时,都有尽快翻译成中文和国内同仁分享的冲动。而这次冲动的表现就是,我主动请缨提交试译稿,并有幸被出版社选中而再次开始了翻译的历程。
在我的理解体系下,信息检索是一门跨众多学科领域的研究方向,其主要的应用形式包括搜索、推荐和挖掘等三种。如果说先前翻译的《信息检索导论》注重信息检索的基本理论和搜索应用的话,那么本书则关注了推荐和挖掘应用。在这个意义上说,这两本书可以互为补充。这也是我选择本书进行翻译的原因之一。另一个原因在于本书集中关注大数据处理这个极具研究和应用前景的话题,一想到它可以为很多人带来帮助就让我欣慰不已。
同《信息检索导论》一样,本书的电子版也先于印刷版在斯坦福大学网站上公开。得到电子版书籍之后,我很快就看完了并且迫不及待地在课题组内进行了推广,我的很多学生都集中学习了本书。本书主要以Web上的数据为对象介绍大规模情况下的数据挖掘。除了传统的聚类、频繁项发现及链接分析等内容外,它还介绍了数据流挖掘、互联网广告及推荐系统等近年来被广泛关注的话题。特别地,本书专门介绍了支持大规模数据挖掘的分布式文件系统及Map-Reduce分布式计算框架。和《信息检索导论》一书相比,本书在理论上虽然可能不如前者深入,但是它在简明扼要阐明基本原理的基础上,更侧重大数据环境下的实际算法实现。具体地,本书给出了在面对大规模数据时基于Map-Reduce框架的多个算法实现。换句话说,它的算法可以在大数据环境下真正“落地”,这无疑给想要或致力于大数据挖掘的读者带来理解和实现上的巨大裨益。
虽然我的很多学生都对本书内容有较深的理解,但是为了保持翻译风格的一致性并对本书翻译负全部责任,在出版社的建议下我还是与前一本书一样选择了自己独立翻译。整个翻译前后持续了七个多月,并历经多次修改。初稿完成后我发给本领域的一些专家审阅,并得到复旦大学黄萱菁教授、中科院自动化所赵军研究员、中科院软件所孙乐研究员、中科院研究生院何苯博士等人的建设性意见和建议。对他们的无私帮助,我表示由衷的感谢。感谢图灵公司的武总、谢总、傅志红、卢秀丽等人为本书付出的努力,感谢人民邮电出版社杨海玲女士的大力引荐。通过翻译,我也认识了图灵公司及图灵社区的众多朋友,并从他们身上学到了很多宝贵的东西。感谢对我译书给予支持和鼓励的李锦涛研究员、孟丹研究员、郭莉研究员、刘群研究员、贺劲博士、虎嵩林博士等领导、朋友和同事。感谢我的学生们作为最早的读者给予的建议和意见。感谢我的家人,他们总是无怨无悔地给我最大的支持和包容,让我能够全身心投入到工作和翻译当中。由于翻译基本在业余时间完成,因此加班便成了家常便饭。4岁的儿子心心在我每次出门前都嘱咐我路上小心,这让我感到幸福并给我力量。翻译过程中,我和原书作者Jeffrey David Ullman进行了邮件交流,澄清了理解上的一些误区,并更正了原书中一些错误。我的翻译也得到了对方的热情鼓励。
因本人各方面水平有限,现有译文中肯定存在许多不足。希望读者能够和我进行联系,以便能够不断改进。来信请联系[email protected],本书勘误会及时公布在网站http://ir.ict.ac.cn/ ~wangbin/mmd-book/上。原书的初稿电子版等信息也可以从网站http://infolab.stanford.edu/ ~ullman/mmds.html下载。
王 斌
2012年7月20日于中关村