推荐系统
- 定义:一种预测用户对于一个物品喜好程度的系统;
- 作用:帮助人们发现一些未曾想过的物品;
- 方式:有两种:基于内容的过滤和协同过滤;
- 基于内容的过滤:专注于物品的特征,一般都是推荐和历史记录中相似的物品;
- 协同过滤:根据用户间的相似度来预测用户会喜欢什么,就很像去问朋友的建议。并且不依赖于机器分析的内容——>词频tf,在其他文档中出现的频率idf;
向量空间模型
- 定义:将文档转换为向量,两篇文档的相似度就可以用向量的夹角余弦表示(1的时候相似度最大,0的时候相似度最小);
- 难点:同义词、多义词难以识别;
- 解决方法:做矩阵分解,类似pca,将原本的空间压缩(保留特征值大的几项),去掉冗余信息、噪点;
LSA隐含语义分析:

pagerank
其中一种算pagerank的方法是根据指向自己的链接的外向链接数以及该链接的pagerank值确定(rank=Σ(ranki)/outbound num i);
- 给定一组超链接的文件,如何评价每个文件的相对重要性?
- 对一个页面的超链接算作是一张支持票。
- 一个页面的投票的重要性取决于它自己的PageRank和外链的数量。
- 一个页面的PageRank是由链接到它的所有页面的数量和PageRank指标决定的。
- 一个页面的外向链接并不影响其PageRank值。
- 难以操纵入站链接。
- 决定一个页面在谷歌搜索结果中的排名的一个关键因素。
协同过滤
- 核心思想:人们从品味相似的人那里得到最好的推荐;
- 工作流程:创建一个评级或购买矩阵,然后通过匹配他们的评级找到相似的人,再推荐相似的人高度评价的物品;
- 分类:
- 基于记忆的CF:基于用户的与基于项目的;
- 基于模型的CF:
- 要注意的三点:
- gray sheep(有人喜欢追求特别,协同过滤一般只能从共同的人或物间找相似);
- shilling attack(水军刷好评导致数据错误,无法带来精确的推荐);
- cold start(冷启动,初次登陆网站,没有给商品打分,怎么推荐)