bitren豪对《集体智慧编程》的笔记(2)

集体智慧编程
  • 书名: 集体智慧编程
  • 作者: [美] Toby Segaran
  • 副标题: 构建智能Web 2.0应用
  • 页数: 356
  • 出版社: 电子工业出版社
  • 出版年: 2015-3
  • 第1页 第一章 集体智慧导言

    Netflix公司根据顾客以往的租片信息为其提供相应的推荐。

    Netflix的推荐系统:利用每位老顾客对影片的喜好数据,为以前从未访问过该网站的其他顾客提供推荐。

    Google采用全新的方法对搜索结果进行排序——利用上百万个web站点上的链接来决定哪些页面的相关性最大。

    它们都使用了先进的算法,将来自不同人数的数据加以组合,进而得出新的结论。

    ————————————————————————————————————————————什么是集体智慧?

    为了创造新的想法,将一群人的偏好、行为或思想组合在一起。

    如早期使用调查问卷或普查,使我们得出关于群组的统计结论。

    例子:金融市场里,价格并不是由某个个体所决定的,它是由许多独立个体的交易行为所共同决定的。市场将知识、经验和无数人的意志组织在一起,形成一种不依赖个人观点的预测。

    Google的PageRank 算法: 搜集用户的数据,进行计算分析,从而创造可以增强用户体验的新信息。

    如何利用开放的API来搜集数据?

    什么是机器学习?

    例子:电子邮件过滤。

    决策树非常直观;而神经网络则像一个黑盒,要复现结果背后的推导过程非常困难。

    机器学习的局限

    所有ML算法都有过度归纳的可能性——基于少数事例的强归纳很少是完全精确的。

    现实生活中的例子。

    Google: 利用 web 链接对网页进行排名; 搜集不同用户对广告的点击信息,进行广告定位。

    带有推荐系统的web 站点: 如网易云音乐等; 建立定制的广播电台。

    市场预测。

    交友网站:从参与者那里搜集信息来确定交友的最佳配对。 任何成功的匹配算法很可能涉及一个持续不断的求值过程——算法会反复判断选定的匹配成功与否。

    学习算法的其他用途。

    生物工艺学、金融欺诈侦测、机器视觉(独立组元分析技术)、

    2017-05-09 20:35:46 回应
  • 第7页 第二章 提供推荐

    本章:如何根据群体偏好来为人们提供推荐?

    具体而言:如何构建一个系统,用以寻找具有相同品味的人,并根据他人的喜好自动给出推荐。

    协同过滤。CF

    搜集偏好。

    不管偏好是如何表达的,我们需要将它们对应到数字。比如1代表已购买,0代表未购买。又如投票网站,-1代表不喜欢,0代表没有投票,1代表喜欢。又如在线购物,未购买是0,已浏览为1,已购买为2。

    寻找相近用户。

    计算相似度评价值:1 欧几里得距离 2.皮尔逊相关度

    1. 欧几里得距离相似度定义为:1/(两人的欧氏距离+1), 在0到1之间。如2人有一样的偏好,则返回1。

    2。皮尔逊相关系数:度量2个变量(矢量)相关程度的方法,取值在-1到1之间。1表示完全正线性关系,例如一个向量是另一个向量的 k倍(k>0), 带入计算得到 r=1; r=0表示完全无关; r=-1 表示完全负线性关系。

    该相关系数是判断两组数据与某一直线拟合的一种度量,修正了 “夸大分值”的情况。

    ————————————————————————————————————

    应该选用哪一种相似性度量方法?

    有很多方法可以衡量两组数据间的相似程度,使用哪一种方法最优取决于具体应用。

    ————————————————————————————————————

    为评论者打分

    最后函数给出的结果是元组构成的列表: [(分值1, 他人1),(分值2,他人2) ,……],即所谓 “根据某个指定人员,对字典里的其他评论者打分”。当然,表达式中的 “分值” 要使用之前定义的相似度函数 similarity. 最后用 .sort() 和 .reverse() 进行排序。

    ————————————————————————————————————

    推荐物品 recommending items

    为 Toby 推荐其还未看过(评分)的影片!!

    根据每个评价者的相似度计算加权平均分值(相近的人对于整体评价值有更多的贡献)

    2. 考虑:一部受更多人评价的影片会对结果产生更大的影响,要修正这个问题。

    说白了,为Toby提供建议,就需要给每部影片打分。打分的依据很简单:

    除了 Toby 外的评分者的分数分别乘以相似度之和/ (相似度之和)

    最后,得到一个经过加权评分的影片列表。、

    发现:选择不同的相似性度量方法,对结果的影响微乎其微。

    总结:建立一个涉及人员、物品和评价值的字典,就可以借此为任何人提供意见了。

    ————————————————————————————————————

    匹配商品

    如何了解哪些商品彼此相近?

    很简单,想象字典中的人员和商品对调。可以复用以前写过的关于求相近人员的程序 TopMatches。

    实际存在相关评价值为负的情况,表明喜欢影片 A 的人,存在不喜欢片子B的倾向。

    应用:可以为某部影片推荐相近的评论者,比如邀请谁和自己一起去看某部影片。

    为影片A推荐还没看过它的人(这些人应该对A的相似影片打了较高的加权平均分值);

    或是帮助零售商找到购买某些商品的潜在用户。

    ————————————————————————————————————

    构建一个基于

    2017-05-10 14:55:13 回应