《集体智慧编程》阅读笔记

本书从实际业务、应用场景出发,介绍机器学习算法。

提供推荐

主要从如何寻找相似用户、通过相似用户对用户进行商品推荐以及相似商品进行讲述。

每一位用户对部分商品如影片有评价分数,根据两个人对同一商品的打分情况可以判断两用户相似情况。判断相似程度有欧几里得距离、皮尔逊相关度等。其中欧式距离计算不同分数之差的平方和的开方,范围在0到正无穷,容易受到“夸大分数”的影响。皮尔逊相关度根据两人对同样几件商品的评价分数,进行直线拟合,其范围为0~1,并且可有效减小夸大分数的影响。

通过计算不同用户之间的相似程度,可根据相似用户看过的商品进行推荐。为避免一些特殊的评论出现,可考虑将相似用户的相似度与其对该影片的评分加权求和,同时为了避免不同影片观影人数差异,可用影片评分加权之和除以相似用户的相关度之和。

相似商品的计算方法与相似用户近似,只需将数据库中用户与商品位置互换,如原本记录方式为用户1{商品1,商品2},用户2{商品1,商品2},改为商品1{用户1,用户2},商品2{用户1,用户2}。

发现群组

本章主要讨论一种无监督学习方法——聚类。聚类通常用于数据量很大的情况,例如零售商们据此检测出具有相似购买模式的消费者群体。常见有分级聚类(Hierarchical Clustering)和K均值聚类(K-Means Clustering)。

分级聚类每次计算两两个体之间相似距离,将距离最小的两个个体合并为一个群体,可以用树状图来存储。在每一次的计算中,存在大量之前已经计算的距离,因此可以将其存储,仅计算更新的新群体与其他个体之间的距离。尽管如此,分级聚类的计算量仍十分惊人。

K均值聚类首先随机确定k个聚类中心(k给定),根据各个体与各聚类中心的距离,将其划分为不同的聚类群体,之后根据每个群体的个体值的均值作为新的聚类中心,重复操作,直到个体分配不再发生变化。由于初始时k个聚类中心随机确定,因此返回结果的顺序大概率不同。

搜索与排名

本章介绍了从大量文档或网页中搜索一系列单词,并根据单词与文档的相关程度对搜索结果进行排名。

首先,需要从一定规模的文档,或者一组网页的链接逐步追踪其他网页,建立索引,保存文档、不同单词位置的信息。建立索引之后,需要据此进行搜索结果的排名。常用的度量方法有所搜索的关键词在文档中的频率、关键词在文档中的位置(越靠近前面或者标题中越有可能接近主题)、搜索多个关键词时不同关键词在文档中的距离、外部其他网页谁链向该网页以及这些网页对该网页的评价。

还介绍了Google创始人Larry Page创建的PageRank,对每个页面设定PageRank值,初始时每个页面设定随机值,根据指向该页面的页面的PageRank值更新当前页面的值,多次迭代后每个页面的值基本接近真实值。

另外,根据用户的在线点击情况,可以建立人工神经网络,例如输入各单词是否点击,输出用户的实际点击页面的URL,通过在线点击数据更新网络参数

猜你喜欢

转载自blog.csdn.net/Lyteins/article/details/82081813