集体智慧编程(Programming Collective Intelligence Building Smart Web 2.0 Applications)
分類: 图书,计算机与互联网,图形图像、动画、多媒体与网页开发,综合,
品牌: 西格兰
基本信息·出版社:电子工业出版社
·页码:334 页
·出版日期:2009年
·ISBN:7121075393/9787121075391
·条形码:9787121075391
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·外文书名:Programming Collective Intelligence Building Smart Web 2.0 Applications
产品信息有问题吗?请帮我们更新产品信息。
内容简介《集体智慧编程》(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应用背后的算法原理,介绍挖掘和分析用户贡献的内容,以创造新的用户价值和商业价值。
作者简介Toby Segaran是Genstruct公司的软件开发主管,这家公司涉足计算生物领域,他本人的职责是设计算法,并利用数据挖掘技术来辅助了解药品机理。Toby Segaran还为其他几家公司和数个开源项目服务,帮助它们从收集到的数据当中分析并发掘价值。除此以外,TobySegaran还建立了几个免费的网站应用,包括流行的tasktoy和Lazybase。他非常喜欢滑雪与品酒,其博客地址是bl09.kiwitobes.corn,现居于旧金山。
媒体推荐“太棒了!对于初学这些算法的开发者而言,我想不出有比这本书更好的选择了,而对于像我这样学过A J的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”
——Dan Russell,资深技术经理,Google
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我早两年读过这本书,就会省去许多宝贵的时间,也不至于走那么多的弯路了。”
——Tim Wolters.CT0.Collective Intellect
编辑推荐想了解蕴藏在搜索排名、商品推荐、社会化书签以及在线婚介应用背后的巨大威力吗?《集体智慧编程》(Programming Collective Intelligence Building Smart Web 2.0 Applications)的内容引人人胜,它将会告诉我们如何构造Web 2.0)应用,使其能够挖掘有大量用户参与的互联网应用所产生的海量数据。利用书中介绍的这些复杂算法,可以编写出智能程序、访问其他Web站点的数据集、从我们自己的应用程序中搜集用户数据,进而分析和理解这些数据。
《集体智慧编程》(Programming Collective Intelligence Building Smart Web 2.0 Applications)将引领我们进入机器学习与计算统计的世界,并解释如何得出有关用户体验、市场营销、个人品味以及我们和他人每天搜集的用户行为方面的结论。书中对每一个算法都进行了详细的描述,并附以简洁的代码,这些代码可以直接用于我们的web站点、博客、维基,或者其他特定的应用。
《集体智慧编程》(Programming Collective Intelligence Building Smart Web 2.0 Applications)是Web开发者、架构师、应用工程师等的绝佳选择。
目录
前言
第1章 集体智慧导言
什么是集体智慧
什么是机器学习
机器学习的局限
真实生活中的例子
学习型算法的其他用途
第2章 提供推荐
协作型过滤
搜集偏好
寻找相近的用户
推荐物品
匹配商品
构建一个基于del.icio.us的链接推荐系统
基于物品的过滤
使用MovieLens数据集
基于用户进行过滤还是基于物品进行过滤
练习
第3章 发现群组
监督学习和无监督学习
单词向量
分级聚类
绘制树状图
列聚类
K-均值聚类
针对偏好的聚类
以二维形式展现数据
有关聚类的其他事宜
练习
第4章 搜索与排名
搜索引擎的组成
一个简单的爬虫程序
建立索引
查询
基于内容的排名
利用外部回指链接
从点击行为中学习
练习
第5章 优化
组团旅游
描述题解
成本函数
随机搜索
爬山法
模拟退火算法
遗传算法
真实的航班搜索
涉及偏好的优化
网络可视化
其他可能的应用场合
练习
第6章 文档过滤
过滤垃圾信息
文档和单词
对分类器进行训练
计算概率
朴素分类器
费舍尔方法
将经过训练的分类器持久化
过滤博客订阅源
对特征检测的改进
使用Akismet
替代方法
练习
第7章 决策树建模
预测注册用户
引入决策树
对树进行训练
选择最合适的拆分方案
以递归方式构造树
决策树的显示
对新的观测数据进行分类
决策树的剪枝
处理缺失数据
处理数值型结果
对住房价格进行建模
对“热度”评价进行建模
什么时候使用决策树
练习
第8章 构建价格模型
构造一个样本数据集
k-最近邻算法
为近邻分配权重
交叉验证
不同类型的变量
对缩放结果进行优化
不对称分布
使用真实数据——eBay API
何时使用k-最近邻算法
练习
第9章 高阶分类:核方法与SVM
婚介数据集
数据中的难点
基本的线性分类
分类特征
对数据进行缩放处理
理解核方法
支持向量机
使用LIBSVM
基于Facebook的匹配
练习
第10章 寻找独立特征
搜集一组新闻
先前的方法
非负矩阵因式分解
结果呈现
利用股票市场的数据
练习
第11章 智能进化
什么是遗传编程
将程序以树形方式表示
构造初始种群
测试题解
对程序进行变异
交叉
构筑环境
一个简单的游戏
更多可能性
练习
第12章 算法总结
贝叶斯分类器
决策树分类器
神经网络
支持向量机
k-最近邻
聚类
多维缩放
非负矩阵因式分解
优化
附录A:第三方函数库
附录B:数学公式
索引
……[看更多目录]
序言无论是有意还是无意,越来越多投身于互联网的人们已经制造出了相当多的数据,这给了我们无数潜在的机会来洞悉用户体验、商业营销、个人偏好和通常所谓的人类行为(human behavior)。本书向大家介绍了一个新兴的领域,称为聚集型智慧(collective intelligence)。这一领域涵盖了诸多方法,借助这些方法我们可以从众多Web站点处(这些站点的名字或许你曾经有所耳闻)提取到值得关注的重要数据;借助这些方法我们还可以从使用自己应用程序的用户那里搜集信息,并对我们所掌握的数据进行分析和理解。
本书的目的是要带领你超越以数据库为后端的简单应用系统,并告诉你如何利用自己和他人每天搜集到的信息来编写更为智能的程序。
先决条件
Prerequisites
本书的代码示例是用Python语言编写的,因此熟悉Python编程将会有助于你对算法的理解,不过笔者给出了所有算法的解释说明,所以其他语言的程序员也能看懂。对于已经了解了像Ruby或Perl这样高级语言的程序员,Python代码应该是非常容易理解的。本书的目的不是要作为一本学习编程的指导书,因此尤为重要的一点在于,为了熟悉基本概念,我们最好已编写过足够多的代码才行。如果懂得递归和一点点函数式编程(functional programming)的基本概念,那么我们就会发觉书中的内容是很容易理解的。
本书并不假设你已经具备了任何有关数据分析、机器学习或统计学方面的知识。笔者在尝试以尽可能浅显易懂的方式来解释数学概念,不过具备一点三角学和统计学的基本知识将会对你理解算法有所助益。
文摘插图: