集体智慧编程
集体智慧编程
Toby Segaran
出版时间:2008年11月
“太棒了!对于初学这些算法的开发者而言,我想不出有比这本书更好的选择了,而对于像我这样学过AI的老朽而言,我也想不出还有什么更好的办法能够让自己重温这些知识的细节。”
——Dan Russell,资深技术经理,Google
“Toby的这本书非常成功地将机器学习算法这一复杂的议题拆分成了一个个既实用又易懂的例子,我们可以直接利用这些例子来分析当前网络上的社会化交互作用。假如我早两年读过这本书,就会省去许多宝贵的时间,也不至于走那么多的弯路了。”
——Tim Wolters,CTO,Collective Intellect
想了解蕴藏在搜索排名、商品推荐、社会化书签以及在线婚介应用背后的巨大威力吗?本书的内容引人入胜,它将会告诉我们如何构造Web 2.0应用,使其能够挖掘有大量用户参与的互联网应用所产生的海量数据。利用书中介绍的这些复杂算法,可以编写出智能程序、访问其他Web站点的数据集、从我们自己的应用程序中搜集用户数据,进而分析和理解这些数据。
本书将引领我们进入机器学习与计算统计的世界,并解释如何得出有关用户体验、市场营销、个人品味以及我们和他人每天搜集的用户行为方面的结论。书中对每一个算法都进行了详细的描述,并附以简洁的代码,这些代码可以直接用于我们的Web站点、博客、维基,或者其他特定的应用。
本书向读者介绍了:
* 令在线零售商向用户提供商品或媒体推荐的协作型过滤技术;
* 在一个大型数据集中检测相似项群组的聚类方法;
* 在针对某一问题的数以百万计的可能题解中进行搜索,并从中选出最优解的优化算法;
* 用于垃圾过滤技术的贝叶斯过滤器,如何根据单词类型及其他特征对文档进行分类;
* 用于对在线约会站点的用户进行配对的支持向量机;
* 用于问题求解的智能进化技术——随着玩游戏的次数逐渐增多,计算机玩家如何通过改进自身代码的方式来发展技能。
本书的每一章后都有练习,这些练习对算法进行了扩展,使其变得更加强大。让我们超越以数据库为后端的简单应用系统,挖掘互联网数据的价值,为我所用!
  1. 前言 I
  2. 第1章 集体智慧导言 1
  3. 什么是集体智慧 2
  4. 什么是机器学习 3
  5. 机器学习的局限 4
  6. 真实生活中的例子 5
  7. 学习型算法的其他用途 5
  8. 第2章 提供推荐 7
  9. 协作型过滤 7
  10. 搜集偏好 8
  11. 寻找相近的用户 9
  12. 推荐物品 15
  13. 匹配商品 17
  14. 构建一个基于del.icio.us的链接推荐系统 19
  15. 基于物品的过滤 22
  16. 使用MovieLens数据集 25
  17. 基于用户进行过滤还是基于物品进行过滤 27
  18. 练习 28
  19. 第3章 发现群组 29
  20. 监督学习和无监督学习 29
  21. 单词向量 30
  22. 分级聚类 33
  23. 绘制树状图 38
  24. 列聚类 40
  25. K-均值聚类 42
  26. 针对偏好的聚类 44
  27. 以二维形式展现数据 49
  28. 有关聚类的其他事宜 53
  29. 练习 53
  30. 第4章 搜索与排名 54
  31. 搜索引擎的组成 54
  32. 一个简单的爬虫程序 56
  33. 建立索引 58
  34. 查询 63
  35. 基于内容的排名 64
  36. 利用外部回指链接 69
  37. 从点击行为中学习 74
  38. 练习 84
  39. 第5章 优化 86
  40. 组团旅游 87
  41. 描述题解 88
  42. 成本函数 89
  43. 随机搜索 91
  44. 爬山法 92
  45. 模拟退火算法 95
  46. 遗传算法 97
  47. 真实的航班搜索 101
  48. 涉及偏好的优化 106
  49. 网络可视化 110
  50. 其他可能的应用场合 115
  51. 练习 116
  52. 第6章 文档过滤 117
  53. 过滤垃圾信息 117
  54. 文档和单词 118
  55. 对分类器进行训练 119
  56. 计算概率 121
  57. 朴素分类器 123
  58. 费舍尔方法 127
  59. 将经过训练的分类器持久化 132
  60. 过滤博客订阅源 134
  61. 对特征检测的改进 136
  62. 使用Akismet 138
  63. 替代方法 139
  64. 练习 140
  65. 第7章 决策树建模 142
  66. 预测注册用户 142
  67. 引入决策树 144
  68. 对树进行训练 145
  69. 选择最合适的拆分方案 147
  70. 以递归方式构造树 149
  71. 决策树的显示 151
  72. 对新的观测数据进行分类 153
  73. 决策树的剪枝 154
  74. 处理缺失数据 156
  75. 处理数值型结果 158
  76. 对住房价格进行建模 158
  77. 对“热度”评价进行建模 161
  78. 什么时候使用决策树 164
  79. 练习 165
  80. 第8章 构建价格模型 167
  81. 构造一个样本数据集 167
  82. k-最近邻算法 169
  83. 为近邻分配权重 172
  84. 交叉验证 176
  85. 不同类型的变量 178
  86. 对缩放结果进行优化 181
  87. 不对称分布 183
  88. 使用真实数据——eBay API 189
  89. 何时使用k-最近邻算法 195
  90. 练习 196
  91. 第9章 高阶分类:核方法与SVM 197
  92. 婚介数据集 197
  93. 数据中的难点 199
  94. 基本的线性分类 202
  95. 分类特征 205
  96. 对数据进行缩放处理 209
  97. 理解核方法 211
  98. 支持向量机 215
  99. 使用LIBSVM 217
  100. 基于Facebook的匹配 219
  101. 练习 225
  102. 第10章 寻找独立特征 226
  103. 搜集一组新闻 227
  104. 先前的方法 231
  105. 非负矩阵因式分解 232
  106. 结果呈现 240
  107. 利用股票市场的数据 243
  108. 练习 248
  109. 第11章 智能进化 250
  110. 什么是遗传编程 250
  111. 将程序以树形方式表示 253
  112. 构造初始种群 257
  113. 测试题解 259
  114. 对程序进行变异 260
  115. 交叉 263
  116. 构筑环境 265
  117. 一个简单的游戏 268
  118. 更多可能性 273
  119. 练习 276
  120. 第12章 算法总结 277
  121. 贝叶斯分类器 277
  122. 决策树分类器 281
  123. 神经网络 285
  124. 支持向量机 289
  125. k-最近邻 293
  126. 聚类 296
  127. 多维缩放 300
  128. 非负矩阵因式分解 302
  129. 优化 304
  130. 附录A:第三方函数库 309
  131. 附录B:数学公式 316
  132. 索引 323
书名:集体智慧编程
作者:Toby Segaran
出版时间:2008年11月
书号:978-7-121-07539-1
原版书出版商:O'Reilly Media
Toby Segaran
 
Toby Segaran是Genstruct公司的软件开发主管,这家公司涉足计算生物领域,他本人的职责是设计算法,并利用数据挖掘技术来辅助了解药品机理。Toby Segaran还为其他几家公司和数个开源项目服务,帮助它们从收集到的数据当中分析并发掘价值。除此以外,Toby Segaran还建立了几个免费的网站应用,包括流行的tasktoy和Lazybase。他非常喜欢滑雪与品酒,其博客地址是blog.kiwitobes.com,现居于旧金山。
Toby Segaran is a director of software development at Genstruct, a computational
biology company, where he designs algorithms and applies data-mining techniques
to help understand drug mechanisms. He also works with other companies and
open source projects to help them analyze and find value in their collected datasets.
In addition, he has built several free web applications including the popular tasktoy
and Lazybase. He enjoys snowboarding and wine tasting. His blog is located at
blog.kiwitobes.com. He lives in San Francisco.
 
 
本书封面上的动物是王企鹅(Aptenodytes patagonicus)。尽管其命名与巴塔哥尼亚(Patagonia)地区有关,但是王企鹅却并非产于南美洲;它们在那里的最后一片栖息地早在19世纪就已经被海豹狩猎者给摧毁了。如今,这些企鹅分布在次南极群岛一带,如爱德华王子(Prince Edward)、克罗泽特(Crozet)、麦格理(Macquarie),以及福克兰群岛(Falkland Islands)等地。它们居住在海滨及靠近大海的地势平坦的冰川地区。王企鹅完全是一种群居性的鸟类;在它们的繁殖地,种群的数量多达1万,而且它们时常聚集在一起饲养幼鸟。
王企鹅站立时有76.2厘米(30英寸)高,体重达到13.6千克(30磅),它们是企鹅家族中体型最大的种群之一——仅次于其近邻帝企鹅。除了体型以外,王企鹅还有一个主要的识别特征,那就是位于其头部的鲜橙色斑点,这些斑点一直向下延伸到其胸部的银白色羽毛处。王企鹅身形圆滑,并且不像帝企鹅那样只会在陆地上跳跃,它们还可以奔跑。王企鹅很习惯于海洋生活,它们以鱼类和乌贼为食,并且可以向下潜到213.36米(700英尺)的深度,比其他大多数企鹅潜得还要深。由于雄性和雌性在体型和外观上都非常接近,因此人们一般根据它们的行为迹象(比如交配行为)对其加以区分的。
王企鹅并不筑巢;相反,它们会将唯一的一枚卵塞入肚皮下面,并放在两脚的蹼上。没有任何其他鸟类的繁殖周期会比王企鹅的还要长,这些企鹅每三年繁殖两次,并且每次只孵化一只幼鸟。王企鹅的幼鸟身型肥胖呈褐色,浑身毛茸茸的,以至于早期的探险者们以为这是与王企鹅完全不同的另一类企鹅,并将其称为“woolly penguins(意指毛茸茸的企鹅)”。王企鹅在全世界范围内的数量有200万对,它并不属于濒危物种,世界自然保护联盟已将其列入了无危物种。
本书封面的图片取自J.G. Wood的《Animate Creation》。