《集体智慧编程》内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。《集体智慧编程》是Web开发者、架构师、应用工程师等的不二之选。
《集体智慧编程》以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。《集体智慧编程》内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、PageRank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
《集体智慧编程》是Web开发者、架构师、应用工程师等的优佳选择。
莫映,现供职于IBM中国开发实验室,在软件开发与设计领域里混迹已然10年有余,目前从事商业领域社交软件产品的研发工作。一直关注社交网络以及社交技术在不同领域里的运用,同时也积极活跃于公司内外的各种技术社区之中。
★“太棒了!对于初学这些算法的开发者而言,我想不出有比这本书更好的选择了,而对于像我这样学过Al的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”
——Dan Russell,资深技术经理,Google
★“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我早两年读过这本书,就会省去许多宝贵的时间,也不至于走那么多的弯路了。”
——Tim Wolters,CTO,Collective Intellect
Table of Contents
前言 viii
第1章 集体智慧导言 1
什么是集体智慧 2
什么是机器学习 3
机器学习的局限 4
真实生活中的例子 5
学习型算法的其他用途 5
第2章 提供推荐 7
协作型过滤 7
搜集偏好 8
寻找相近的用户 9
推荐物品 15
匹配商品 17
构建一个基于del.icio.us的链接推荐系统 19
基于物品的过滤 22
使用MovieLens数据集 25
基于用户进行过滤还是基于物品进行过滤 27
练习 28
第3章 发现群组 29
监督学习和无监督学习 29
单词向量 30
分级聚类 33
绘制树状图 38
列聚类 40
K-均值聚类 42
针对偏好的聚类 44
以二维形式展现数据 49
有关聚类的其他事宜 53
练习 53
第4章 搜索与排名 54
搜索引擎的组成 54
一个简单的爬虫程序 56
建立索引 58
查询 63
基于内容的排名 64
利用外部回指链接 69
从点击行为中学习 74
练习 84
第5章 优化 86
组团旅游 87
描述题解 88
成本函数 89
随机搜索 91
爬山法 92
模拟退火算法 95
遗传算法 97
真实的航班搜索 101
涉及偏好的优化 106
网络可视化 110
其他可能的应用场合 115
练习 116
第6章 文档过滤 117
过滤垃圾信息 117
文档和单词 118
对分类器进行训练 119
计算概率 121
朴素分类器 123
费舍尔方法 127
将经过训练的分类器持久化 132
过滤博客订阅源 134
对特征检测的改进 136
使用Akismet 138
替代方法 139
练习 140
第7章 决策树建模 142
预测注册用户 142
引入决策树 144
对树进行训练 145
选择最合适的拆分方案 147
以递归方式构造树 149
决策树的显示 151
对新的观测数据进行分类 153
决策树的剪枝 154
处理缺失数据 156
处理数值型结果 158
对住房价格进行建模 158
对“热度”评价进行建模 161
什么时候使用决策树 164
练习 165
第8章 构建价格模型 167
构造一个样本数据集 167
k-最近邻算法 169
为近邻分配权重 172
交叉验证 176
不同类型的变量 178
对缩放结果进行优化 181
不对称分布 183
使用真实数据——eBay API 189
何时使用k-最近邻算法 195
练习 196
第9章 高阶分类:核方法与SVM 197
婚介数据集 197
数据中的难点 199
基本的线性分类 202
分类特征 205
对数据进行缩放处理 209
理解核方法 211
支持向量机 215
使用LIBSVM 217
基于Facebook的匹配 219
练习 225
第10章 寻找独立特征 226
搜集一组新闻 227
先前的方法 231
非负矩阵因式分解 232
结果呈现 240
利用股票市场的数据 243
练习 248
第11章 智能进化 250
什么是遗传编程 250
将程序以树形方式表示 253
构造初始种群 257
测试题解 259
对程序进行变异 260
交叉 263
构筑环境 265
一个简单的游戏 268
更多可能性 273
练习 276
第12章 算法总结 277
贝叶斯分类器 277
决策树分类器 281
神经网络 285
支持向量机 289
k-最近邻 293
聚类 296
多维缩放 300
非负矩阵因式分解 302
优化 304
附录A:第三方函数库 309
附录B:数学公式 316
索引 323
O’ReillyMedia,Inc.介绍
O’ReillyMedia通过图书、杂志、在线服务、调查研究和会议等方式传播创新知识。自1978年开始,O’Reilly一直都是前沿发展的见证者和推动者。超级极客们正在开创着未来,而我们关注真正重要的技术趋势——通过放大那些“细微的信号”来刺激社会对新科技的应用。作为技术社区中活跃的参与者,O’Reilly的发展充满了对创新的倡导、创造和发扬光大。
O’Reilly为软件开发人员带来革命性的“动物书”;创建第一个商业网站(GNN);组织了影响深远的开放源代码峰会,以至于开源软件运动以此命名;创立了Make杂志,从而成为DIY革命的主要先锋;公司一如既往地通过多种形式缔结信息与人的纽带。O’Reilly的会议和峰会集聚了众多超级极客和高瞻远瞩的商业领袖,共同描绘出开创新产业的革命性思想。作为技术人士获取信息的选择,O’Reilly现在还将先锋专家的知识传递给普通的计算机用户。无论是通过书籍出版、在线服务或者面授课程,每一项O’Reilly的产品都反映了公司不可动摇的理念——信息是激发创新的力量。
业界评论
“O’ReillyRadar博客有口皆碑。”
——Wired
“O’Reilly凭借一系列(真希望当初我也想到了)非凡想法建立了数百万美元的业务。”
——Business2.0
“O’ReillyConference是聚集关键思想领袖的绝对典范。”
——CRN
“一本O’Reilly的书就代表一个有用、有前途、需要学习的主题。”
——IrishTimes
“Tim是位特立独行的商人,他不光放眼于最长远、最广阔的视野并且切实地按照YogiBerra的建议去做了:‘如果你在路上遇到岔路口,走小路(岔路)。’回顾过去Tim似乎每一次都选择了小路,而且有几次都是一闪即逝的机会,尽管大路也不错。”
——LinuxJournal
对本书的赞誉
PraiseforProgrammingCollectiveIntelligence
“每年我都要审阅几本图书,自然而然地,在工作当中我阅读了大量的书籍。不得不承认,阅读本书让我获得了以前从未有过的、相当愉悦的阅读体验。太棒了!对于初学这些算法的开发者而言,我想不出比这本书更好的选择了,而对于像我这样学过AI的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”
——DanRussell,Google公司资深技术经理
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。我要是早两年读过这本书,就会省去许多宝贵的时间,也不至于走那么多的弯路了。”
——TimWolters,CollectiveIntellect公司CTO
“本书获得了巨大的成功,它为大量相关数据的处理提供了非常丰富的计算方法。更重要的是,它将这些技术应用到了互联网上,而不是在一个个彼此孤立的数据孤岛中寻求价值。如果你是在为互联网开发应用,那么本书将是你的不二之选。”
——PaulTyma,Google公司高级软件工程师
译者序
还记得20世纪90年代,当大学校园里的学子们还在为能够通过对等网在不同计算机间相互发送消息而兴奋不已的时候,互联网就已经悄然兴起了。很快,人们就从C/S时代跨入了B/S时代。我们不必再担心每次都要安装复杂的客户端程序,只要有浏览器,就会有绚丽多彩的舞台。然而随着时间的推移,人们又开始有所回归,大家不时地抱怨:为什么不能让浏览器像客户端应用那样具有丰富的表现?为什么每次打开链接都要傻傻地等着空白页面消失?直到有一天,TimO’Reilly向世人宣告了一个新的概念——Web2.0。于是,忽如一夜春风来,大大小小的Web2.0应用如雨后春笋般不断涌现,互联网又迈向了一个新的时代。
Web2.0使互联网变得异彩纷呈:来自不同地域的人们可以随时修改别人写的文字,这就是维基;你有任何想法或观点都可以尽情地表达并欢迎别人评论,这就是博客;甚至连网页上出现的广告也都是与我们当前所关注的内容密切相关的,这就是GoogleAdSense……所有这一切,都带给我们不同于以往的全新感受。但是,这些应用究竟是怎样实现的?隐藏在它们背后的原理到底是什么?怎样让我们的Web2.0程序变得更加聪明,更加贴心呢?译者相信,本书必定能够为大家逐一解开萦绕在心中的这些谜团。
本书以Web2.0的核心价值观——集体智慧作为出发点,探讨了各种能够让Web2.0程序变得更为智能的算法及其应用。这些算法大多数来自机器学习和计算统计领域,其中的一些算法非常普及,而另一些则属于目前相当前沿的课题。它们包括了过滤器、聚类算法、支持向量机、遗传编程、优化技术,以及非常著名的PageRank算法,等等。将如此众多的优秀算法有效应用于互联网领域,并构造出具有智能特征的Web2.0应用,应该是本书的一大亮点。同时,这也使本书有别于以往我们所见过的任何一本纯粹介绍Web2.0技术与概念的书籍。不仅如此,本书还提供了大量可供运行的示例代码,这些代码具有很好的复用性,只要稍加修改就可以用于实际的应用系统之中。书中代码还大量使用了许多时下流行的开放API,这些API来自于Yahoo!、eBay、FaceBook等众多热门的Web2.0网站,这使得本书在保有实用价值的同时又不失时效性。
本书的英文版虽只有寥寥300多页,比起任何一本大部头的技术书籍都是不足道的,但作为一本为数不多的深入讲解蕴藏于智能Web2.0应用背后的算法原理的书籍,其深度和内涵却远远超出了篇幅的局限。为了尽量将原书的思想内涵以中文形式尽数表达出来,作为译者的我们在本书翻译期间着实不敢懈怠。在将书稿提交给出版社编辑之前,我们对每一章的译文都进行了不少于两遍的仔细校对。作为补充,中文版还随附了翻译期间译者所用的中英文术语对照表,希望本书中文版能够得到诸位读者的认可。
这本译作的完成是团队协作努力的结果,这包括了参与翻译、审校,以及关注和支持本书翻译的所有人。感谢周筠老师对我们的信任,感谢本书的前后两位编辑王凡毓与王晓菲,尤其是晓菲,她为本书的后期审校与编辑加工付出了辛劳,我们的合作非常愉快。此外,还要感谢李唯一,她为本书的前期翻译提供了诸多帮助。
由于译者水平所限,译文难免有疏误之处,欢迎读者批评指正。
为了便于读者阅读理解,特在此附上本书翻译过程中整理提取的中英文术语对照表,参见表0-1,表中所包含的多为专业领域的技术术语。其中部分术语在不同的文献中往往有不同的译法。本书为了统一,选择了比较常见的译法,如clustering可译作“聚类”或“聚集”,此处我们选择了“聚类”。类似的还有k-nearestneighbors、cross-product、dot-product,等等。
另一部分术语,虽有固定译法,但我们结合上下文,采用了更为贴切的翻译。如computation-allyintensive常被译为“计算密集的”,而在此处,我们采用“计算量很大的”。类似的还有data-intensive、solution、crawl,等等。
此外还有一部分术语,在当下的中文文献中并没有明确的公认译法,因而我们在书中给出了参考翻译,以供大家商榷。如collectiveintelligence被译为“集体智慧”,listcomprehension被译为“列表推导式”,等等。
表0-1:中英文术语对照表
莫映王开福
《集体智慧编程》这个书名,让我立刻联想到了一系列关于协作与创新的思考。我一直相信,个体能力的极限是有限的,而当无数个体的智慧汇聚在一起时,便能产生超越个体之和的巨大能量。我期待这本书能够深入探讨这一现象背后的机制,并且以编程为载体,给出具体的实现路径。我推测书中会介绍各种能够促进集体智慧涌现的软件设计模式和算法,比如如何设计一个有效的投票系统,如何构建一个能够协同编辑文档的平台,或者如何开发一个能够众包解决复杂计算问题的系统。我特别想知道,书中是否会涉及一些关于分布式共识算法的内容,以及如何利用这些算法来确保集体决策的准确性和公正性。此外,对于如何激励用户参与,如何处理用户之间的潜在冲突,以及如何评估集体智慧的有效性,我也充满了好奇。我相信,通过学习这本书,我能够更深刻地理解如何利用编程技术来构建能够最大化群体智慧潜能的系统,这对于我理解互联网时代的协作模式,以及未来的人工智能发展,都将具有重要的意义。
评分这本书的名字叫做《集体智慧编程》,光听这个名字就足以让我产生浓厚的兴趣。我一直对人类是如何通过协作来解决复杂问题的过程感到好奇,而“集体智慧”这个词汇恰恰触及了这一点。我设想这本书会深入探讨各种利用群体力量来达成非凡成就的案例,从维基百科的诞生到开源软件的蓬勃发展,再到各种众包项目如何汇聚无数人的力量解决科学难题。我尤其期待书中能提供一些具体的编程范例,演示如何设计和实现能够有效收集、整合和利用群体输入的系统。例如,如何设计一个能够让用户贡献知识并从中提炼出最有价值信息的算法?或者如何构建一个平台,让成千上万的开发者能够协同工作,共同开发一个庞大的软件项目,并且能够有效地处理和解决他们之间可能出现的冲突和分歧?书中是否会涉及一些关于激励机制的讨论,比如如何设计奖励系统来鼓励人们积极参与,贡献自己的智慧?我相信,对于任何对软件开发、社区建设或者组织协同工作感兴趣的读者来说,这本书都将是一份宝贵的财富。它不仅仅是一本技术手册,更是一部关于人类协作潜能的深刻洞察。
评分我拿到《集体智慧编程》这本书的时候,内心充满了期待,因为我一直对如何规模化地解决问题,以及如何在海量数据中发掘有价值的信息抱有浓厚的兴趣。我猜想这本书会从计算机科学的视角出发,去剖析“集体智慧”这一概念,并且会结合实际的编程技术来阐述如何实现它。我非常好奇书中会详细介绍哪些具体的算法和数据结构,能够帮助我们有效地聚合和分析来自大量个体的输入。比如,会不会介绍一些关于分布式计算的理论,以及如何利用这些理论来构建能够处理海量数据的系统?我甚至在想,书中会不会涉及到一些关于机器学习和人工智能的知识,因为这些技术往往需要大量的数据进行训练,而集体智慧恰好可以为这些技术提供源源不断的数据流。我很期待书中能有一些实际的案例分析,比如利用集体智慧来改进搜索引擎的算法,或者开发一个能够预测市场趋势的系统。更进一步,我希望书中能够探讨如何设计一个能够抵御恶意攻击或错误信息的集体智慧系统,确保其输出的可靠性和准确性。这本书的内容,我想必然会对我今后的技术学习和项目开发提供全新的思路和深刻的启发。
评分当我第一眼看到《集体智慧编程》这个书名时,我的脑海中立刻涌现出无数个与“协作”、“创新”和“技术”相关的画面。我一直对“智慧”的来源和运作方式感到着迷,而“集体智慧”这个词汇则将我引向了更广阔的思考空间。我猜测这本书会从计算机科学的角度,深入剖析人类群体协作的规律,并尝试用编程的方式来模拟和实现这种智慧。我迫不及待地想知道书中会介绍哪些具体的编程技术和算法,能够帮助我们有效地汇聚、整合和利用来自不同个体的知识和经验。例如,是否会涉及一些关于网络分析的工具,用来理解群体中的信息流动和影响力传播?或者会探讨如何设计有效的激励机制,来鼓励人们积极参与到集体智慧的构建中?我更关注的是,书中是否会提供一些实际的项目案例,展示如何利用集体智慧来解决现实世界中的复杂问题,比如如何通过众包的方式来加速科学研究的进程,或者如何构建一个能够自主学习和进化的智能系统。这本书,我想必会为我打开一扇新的大门,让我对技术与人类协作的未来有更深的理解。
评分《集体智慧编程》这个名字,瞬间点燃了我对编程和人类协作之间深刻联系的想象。我一直坚信,人类的伟大成就往往源于集体的力量,而编程,作为现代社会最强大的工具之一,无疑是实现和放大这种集体智慧的关键。我期待这本书能够不仅仅停留在理论层面,而是能够提供切实可行的编程方法和解决方案。我设想书中会详细阐述如何设计和实现能够有效收集、处理和整合海量个体贡献的系统,例如,如何构建一个能够让大量用户参与数据标注、内容创作,甚至代码开发的平台?我特别想了解,书中是否会涉及一些关于分布式系统设计、并发编程以及数据挖掘的技术,来支撑起一个庞大且高效的集体智慧系统。此外,我也很好奇,书中是否会探讨如何通过巧妙的算法设计,来引导和优化集体智慧的产出,使其能够规避信息过载、噪声干扰等潜在问题,最终生成有价值的洞见。这本书,我相信会让我从一个全新的角度审视编程的意义,并激励我去探索如何利用代码的力量,构建更智能、更协作的未来。
评分个人而言感觉是挺好的一本书
评分书挺新的,就是没有塑封,快递也很好,正好618图书节的活动,买起来
评分卡夫我好了吗群寂寞
评分真的很好,是专业需要的书,我很喜欢,服务到位
评分超级满意,纸张不错,差不多买齐了,要好好看书啦,啦啦啦啦啦啦
评分看了一小部分,是我想要的看的书,充电,充电
评分很经典的书 买回来看看先。。。。很不错
评分一直喝这个,不错喜欢,碰到有合适活动就买
评分求质量很好,很棒很好
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有