集体智慧编程
基本信息
编辑推荐
深入讲解蕴藏于智能Web 2.0应用背后的算法原理.
介绍挖掘和分析用户贡献的内容,以创造新的用户价值和商业价值...
内容简介回到顶部↑
书籍
计算机书籍
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、pagerank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)向读者介绍了:
令在线零售商向用户提供商品或媒体推荐的协作型过滤技术;
在一个大型数据集中检测相似项群组的聚类方法;
在针对某一问题的数以百万计的可能题解中进行搜索,并从中选出最优解的优化算法;
用于垃圾过滤技术的贝叶斯过滤器,如何根据单词类型及其他特征对文档进行分类;
用于对在线约会站点的用户进行配对的支持向量机;
用于问题求解的智能进化技术——随着玩游戏的次数逐渐增多,计算机玩家如何通过改进自身代码的方式来发展技能。
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)的每一章后都有练习,这些练习对算法进行了扩展,使其变得更加强大。让我们超越以数据库为后端的简单应用系统,挖掘互联网数据的价值,为我所用!
深入讲解蕴藏于智能web 2.0应用背后的算法原理,介绍挖掘和分析用户贡献的内容,以创造新的用户价值和商业价值。
计算机书籍
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、pagerank算法等)、搜索海量信息并进行分析统计得出结论的优化算法、贝叶斯过滤技术(垃圾邮件过滤、文本过滤)、用决策树技术实现预测和决策建模功能、社交网络的信息匹配技术、机器学习和人工智能应用等。
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)向读者介绍了:
令在线零售商向用户提供商品或媒体推荐的协作型过滤技术;
在一个大型数据集中检测相似项群组的聚类方法;
在针对某一问题的数以百万计的可能题解中进行搜索,并从中选出最优解的优化算法;
用于垃圾过滤技术的贝叶斯过滤器,如何根据单词类型及其他特征对文档进行分类;
用于对在线约会站点的用户进行配对的支持向量机;
用于问题求解的智能进化技术——随着玩游戏的次数逐渐增多,计算机玩家如何通过改进自身代码的方式来发展技能。
《集体智慧编程》(programming collective intelligence building smart web 2.0 applications)的每一章后都有练习,这些练习对算法进行了扩展,使其变得更加强大。让我们超越以数据库为后端的简单应用系统,挖掘互联网数据的价值,为我所用!
深入讲解蕴藏于智能web 2.0应用背后的算法原理,介绍挖掘和分析用户贡献的内容,以创造新的用户价值和商业价值。
目录回到顶部↑
前言
第1章 集体智慧导言
什么是集体智慧
什么是机器学习
机器学习的局限
真实生活中的例子
学习型算法的其他用途
第2章 提供推荐
协作型过滤
搜集偏好
寻找相近的用户
推荐物品
匹配商品
构建一个基于del.icio.us的链接推荐系统
基于物品的过滤
使用movielens数据集
基于用户进行过滤还是基于物品进行过滤
练习
第3章 发现群组
译者序回到顶部↑
尤记得上个世纪90年代,当大学校园里的学子们还在为能够通过对等网在不同计算机间相互发送消息而兴奋不已的时候,互联网就已经悄然兴起了。很快,人们就从C/S时代跨入了B/S时代。我们不必再担心每次都要安装复杂的客户端程序,只要有浏览器,就会有绚丽多彩的舞台。然而随着时间的推移,人们又开始有所回归,大家不时地抱怨:为什么不能让浏览器像客户端应用那样具有丰富的表现?为什么每次打开链接都要傻傻地等着空白页面消失?直到有一天,Tim O’Reilly向世人宣告了一个新的概念——Web 2.0。于是,忽如一夜春风来,大大小小的Web 2.0应用如雨后春笋般不断涌现,互联网又迈向了一个新的时代。.
Web 2.0使互联网变得异彩纷呈:来自不同地域的人们可以随时修改别人写过的文字,这就是维基;你有任何想法或观点都可以尽情地表达并欢迎别人评论,这就是博客;甚至连网页上出现的广告也都是与我们当前所关注的内容密切相关,这就是Google AdSense,……,所有这一切,都带给我们不同于以往的全新感受。但是,这些应用究竟是怎样实现的?隐藏在它们背后的原理到底是什么?怎样让我们的Web 2.0程序变得更加聪明,更加贴心呢?译者相信,本书必定能够为大家逐一解开萦绕在心中的这些谜团。
本书以Web 2.0的核心价值观——集体智慧做为出发点,探讨了各种能够让Web 2.0程序变得更为智能的算法及其应用。这些算法大多来自机器学习和计算统计领域,其中的一些算法非常普及,而另一些则属于目前相当前沿的课题。它们包括了过滤器、聚类算法、支持向量机、遗传编程、优化技术,以及非常著名的PageRank算法,等等。将如此众多的优秀算法有效应用于互联网领域,并构造出具有智能特征的Web 2.0应用,应该是本书的一大亮点;同时,这也使本书有别于以往我们所见到过的任何一本纯粹介绍Web 2.0技术与概念的书籍。不仅如此,本书还提供了大量可供运行的示例代码,这些代码具有很好的复用性,只要稍加修改就可以用于实际的应用系统之中。书中代码还大量使用了许多时下流行的开放API,这些API来自于Yahoo!、eBay、FaceBook等众多热门的Web 2.0网站,这使得本书在保有实用价值的同时又不失时效性。..
本书的英文版虽只有聊聊300多页,比起任何一本大部头的技术书籍而言都是不足道的,但作为一本为数不多的深入讲解蕴藏于智能Web 2.0应用背后的算法原理的书籍,其深度和内涵却远远超出了篇幅的局限。为了尽量将原书的思想内涵以中文形式尽数表达出来,作为译者的我们在本书翻译期间着实不敢懈怠。在将书稿提交给出版社编辑之前,我们对每一章的译文都进行了不少于两遍的仔细校对。作为补充,中文版还随附了翻译期间译者所用的中英文术语对照表,希望本书中文版能够得到诸位读者的认可。
这本译作的完成是团队协作努力的结果,这包括了参与翻译、校审,以及关注和支持本书翻译的所有人。感谢博文视点的周筠老师对我们的信任,感谢本书的前后两位责编王凡毓与王晓菲,尤其是晓菲,她为本书的后期校审与编加工作付出了辛劳,我们的合作非常愉快。此外,还要感谢李唯一,她为本书的前期翻译提供了诸多帮助。
由于译者水平所限,译文难免有错误之处,欢迎读者批评指正。
为了便于读者阅读理解,特在此附上本书翻译过程中整理提取的中英文术语对照表。...
莫 映 王开福
2008年9月于北京
Web 2.0使互联网变得异彩纷呈:来自不同地域的人们可以随时修改别人写过的文字,这就是维基;你有任何想法或观点都可以尽情地表达并欢迎别人评论,这就是博客;甚至连网页上出现的广告也都是与我们当前所关注的内容密切相关,这就是Google AdSense,……,所有这一切,都带给我们不同于以往的全新感受。但是,这些应用究竟是怎样实现的?隐藏在它们背后的原理到底是什么?怎样让我们的Web 2.0程序变得更加聪明,更加贴心呢?译者相信,本书必定能够为大家逐一解开萦绕在心中的这些谜团。
本书以Web 2.0的核心价值观——集体智慧做为出发点,探讨了各种能够让Web 2.0程序变得更为智能的算法及其应用。这些算法大多来自机器学习和计算统计领域,其中的一些算法非常普及,而另一些则属于目前相当前沿的课题。它们包括了过滤器、聚类算法、支持向量机、遗传编程、优化技术,以及非常著名的PageRank算法,等等。将如此众多的优秀算法有效应用于互联网领域,并构造出具有智能特征的Web 2.0应用,应该是本书的一大亮点;同时,这也使本书有别于以往我们所见到过的任何一本纯粹介绍Web 2.0技术与概念的书籍。不仅如此,本书还提供了大量可供运行的示例代码,这些代码具有很好的复用性,只要稍加修改就可以用于实际的应用系统之中。书中代码还大量使用了许多时下流行的开放API,这些API来自于Yahoo!、eBay、FaceBook等众多热门的Web 2.0网站,这使得本书在保有实用价值的同时又不失时效性。..
本书的英文版虽只有聊聊300多页,比起任何一本大部头的技术书籍而言都是不足道的,但作为一本为数不多的深入讲解蕴藏于智能Web 2.0应用背后的算法原理的书籍,其深度和内涵却远远超出了篇幅的局限。为了尽量将原书的思想内涵以中文形式尽数表达出来,作为译者的我们在本书翻译期间着实不敢懈怠。在将书稿提交给出版社编辑之前,我们对每一章的译文都进行了不少于两遍的仔细校对。作为补充,中文版还随附了翻译期间译者所用的中英文术语对照表,希望本书中文版能够得到诸位读者的认可。
这本译作的完成是团队协作努力的结果,这包括了参与翻译、校审,以及关注和支持本书翻译的所有人。感谢博文视点的周筠老师对我们的信任,感谢本书的前后两位责编王凡毓与王晓菲,尤其是晓菲,她为本书的后期校审与编加工作付出了辛劳,我们的合作非常愉快。此外,还要感谢李唯一,她为本书的前期翻译提供了诸多帮助。
由于译者水平所限,译文难免有错误之处,欢迎读者批评指正。
为了便于读者阅读理解,特在此附上本书翻译过程中整理提取的中英文术语对照表。...
莫 映 王开福
2008年9月于北京
前言回到顶部↑
无论是有意还是无意,越来越多投身于互联网的人们已经制造出了相当多的数据,这给了我们无数潜在的机会来洞悉用户体验、商业营销、个人偏好和通常所谓的人类行为(human behavior)。本书向大家介绍了一个新兴的领域,称为聚集型智慧(collective intelligence)。这一领域涵盖了诸多方法,借助这些方法我们可以从众多Web站点处(这些站点的名字或许你曾经有所耳闻)提取到值得关注的重要数据;借助这些方法我们还可以从使用自己应用程序的用户那里搜集信息,并对我们所掌握的数据进行分析和理解。
本书的目的是要带领你超越以数据库为后端的简单应用系统,并告诉你如何利用自己和他人每天搜集到的信息来编写更为智能的程序。
先决条件
Prerequisites
本书的代码示例是用Python语言编写的,因此熟悉Python编程将会有助于你对算法的理解,不过笔者给出了所有算法的解释说明,所以其他语言的程序员也能看懂。对于已经了解了像Ruby或Perl这样高级语言的程序员,Python代码应该是非常容易理解的。本书的目的不是要作为一本学习编程的指导书,因此尤为重要的一点在于,为了熟悉基本概念,我们最好已编写过足够多的代码才行。如果懂得递归和一点点函数式编程(functional programming)的基本概念,那么我们就会发觉书中的内容是很容易理解的。
本书并不假设你已经具备了任何有关数据分析、机器学习或统计学方面的知识。笔者在尝试以尽可能浅显易懂的方式来解释数学概念,不过具备一点三角学和统计学的基本知识将会对你理解算法有所助益。
示例风格
Style of Examples
本书每一章节的代码示例都是以一种教程式的风格编写而成的,它鼓励你以循序渐进的方式来构建应用程序,并对算法的工作原理有一个深入的理解和认识。大多数情况下,写完一个新的函数或方法之后,我们会在一个交互的会话环境里使用它,以此来理解算法的工作原理。通常算法是有简单的变体的,我们可以用多种方式对其进行扩展。通过示例讲解并以交互的方式对其进行测试,我们对算法将会有更为深入的理解,从而可以对其进行改造,以适应自己的应用程序。
为何选择Python?
Why Python?
尽管书中的算法是伴随着对相关公式的解释,以文字形式加以描述的,但是假如有针对算法和示例问题的实际代码,那将会是更有助益的(而且有可能更易于理解)。本书中的所有示例代码都是用Python,一种优秀的高级语言,编写而成的。之所以选择Python是因为它的如下特性。
简练
使用像Python这样的动态类型语言编写的代码往往比用其他主流语言编写而成的代码更加简短。这意味着,在完成示例的过程中会有更少的录入工作,而且这也意味着我们将更容易记住算法并真正领会算法的原理。
易于阅读
Python不时被人们指为“可执行的伪代码”。虽然很明显这是一种夸大之词,但是它表明,大多数有经验的程序员可以读懂Python代码并领会代码所要表达的意图。Python中一些不是很显见的语言要素将会在后面的“Python技巧”一节中加以解释。
易于扩展
Python随附了许多标准库,这些库涉及数学函数、XML(扩展标记语言)解析,以及网页下载。本书中用到的非标准库,如RSS(Really Simple Syndication)解析器和SQLite接口,则是免费的,很容易下载、安装和使用。
交互性
在学习示例的过程中,可以尝试执行我们编好的函数,而无须为此专门编写额外的程序,这一点是非常有价值的。Python可以直接从命令行运行程序,它还有交互提示,允许我们键入函数调用、创建对象,并以交互的形式来对包进行测试。
本书的目的是要带领你超越以数据库为后端的简单应用系统,并告诉你如何利用自己和他人每天搜集到的信息来编写更为智能的程序。
先决条件
Prerequisites
本书的代码示例是用Python语言编写的,因此熟悉Python编程将会有助于你对算法的理解,不过笔者给出了所有算法的解释说明,所以其他语言的程序员也能看懂。对于已经了解了像Ruby或Perl这样高级语言的程序员,Python代码应该是非常容易理解的。本书的目的不是要作为一本学习编程的指导书,因此尤为重要的一点在于,为了熟悉基本概念,我们最好已编写过足够多的代码才行。如果懂得递归和一点点函数式编程(functional programming)的基本概念,那么我们就会发觉书中的内容是很容易理解的。
本书并不假设你已经具备了任何有关数据分析、机器学习或统计学方面的知识。笔者在尝试以尽可能浅显易懂的方式来解释数学概念,不过具备一点三角学和统计学的基本知识将会对你理解算法有所助益。
示例风格
Style of Examples
本书每一章节的代码示例都是以一种教程式的风格编写而成的,它鼓励你以循序渐进的方式来构建应用程序,并对算法的工作原理有一个深入的理解和认识。大多数情况下,写完一个新的函数或方法之后,我们会在一个交互的会话环境里使用它,以此来理解算法的工作原理。通常算法是有简单的变体的,我们可以用多种方式对其进行扩展。通过示例讲解并以交互的方式对其进行测试,我们对算法将会有更为深入的理解,从而可以对其进行改造,以适应自己的应用程序。
为何选择Python?
Why Python?
尽管书中的算法是伴随着对相关公式的解释,以文字形式加以描述的,但是假如有针对算法和示例问题的实际代码,那将会是更有助益的(而且有可能更易于理解)。本书中的所有示例代码都是用Python,一种优秀的高级语言,编写而成的。之所以选择Python是因为它的如下特性。
简练
使用像Python这样的动态类型语言编写的代码往往比用其他主流语言编写而成的代码更加简短。这意味着,在完成示例的过程中会有更少的录入工作,而且这也意味着我们将更容易记住算法并真正领会算法的原理。
易于阅读
Python不时被人们指为“可执行的伪代码”。虽然很明显这是一种夸大之词,但是它表明,大多数有经验的程序员可以读懂Python代码并领会代码所要表达的意图。Python中一些不是很显见的语言要素将会在后面的“Python技巧”一节中加以解释。
易于扩展
Python随附了许多标准库,这些库涉及数学函数、XML(扩展标记语言)解析,以及网页下载。本书中用到的非标准库,如RSS(Really Simple Syndication)解析器和SQLite接口,则是免费的,很容易下载、安装和使用。
交互性
在学习示例的过程中,可以尝试执行我们编好的函数,而无须为此专门编写额外的程序,这一点是非常有价值的。Python可以直接从命令行运行程序,它还有交互提示,允许我们键入函数调用、创建对象,并以交互的形式来对包进行测试。
媒体评论回到顶部↑
“每年我都要审阅几本图书,自然而然地,在工作当中我阅读了大量的书籍。不得不承认,阅读本书让我获得了以前从未有过的、相当愉悦的阅读体验。太棒了!对于初学这些算法的开发者而言,我想不出有比这本书更好的选择了,而对于像我这样学过AI的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”.
——Dan Russell,资深技术经理,Google
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我要是早两年读过这本书,就会省去我许多宝贵的时间,也不至于走那么多的弯路了。”..
——Tim Wolters,CTO,Collective Intellect
“本书获得了巨大的成功,它为大量相关数据的处理提供了非常丰富的计算方法。更重要的是,它将这些技术应用到了互联网上,而不是在一个个彼此孤立的数据孤岛中寻求价值。如果你是在为互联网开发应用,那么本书将是你的不二之选。”...
——Paul Tyma,高级软件工程师,Google
——Dan Russell,资深技术经理,Google
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我要是早两年读过这本书,就会省去我许多宝贵的时间,也不至于走那么多的弯路了。”..
——Tim Wolters,CTO,Collective Intellect
“本书获得了巨大的成功,它为大量相关数据的处理提供了非常丰富的计算方法。更重要的是,它将这些技术应用到了互联网上,而不是在一个个彼此孤立的数据孤岛中寻求价值。如果你是在为互联网开发应用,那么本书将是你的不二之选。”...
——Paul Tyma,高级软件工程师,Google








点击看大图





加载中...

