以下笔记来自于学堂在线上清华大学的视频网课《80240372X 数据挖掘:理论与算法》,本笔记仅用于个人学习。如有错误,感谢指正。
推荐算法
关于“推荐”:例如搜索引擎的RANK算法,能够把和搜索词更相关的网页推荐给用户。
推荐算法解决的是信息过载的问题,算法分为两大类:
1.内容:根据用户已有的内容。
2.协同过滤:根据类似用户的评价。
应用:精准广告投放、音乐推荐等。
一、TF-IDF:量化关联度
- TF: Term Frequency(频率)
t f ( t , d ) = n t , d ∑ k n t , d tf(t,d)=\frac{n_{t,d}}{\sum_{k}^{}n_{t,d}} tf(t,d)=∑knt,dnt,d
目的:搜索词在本文档中越频繁越好。 - IDF:Inverse Document Frequency
i d f ( t , d ) = l o g ∣ D ∣ ∣ { d ϵ D : t ϵ d } ∣ idf(t,d)=log\frac{\left | D \right |}{\left | \left \{ d\epsilon D:t\epsilon d \right \} \right |} idf(t,d)=log∣{dϵD:tϵd}∣∣D∣
目的:搜索词在别的文档里越少越好。 - 结合TF和IDF:TF-IDF
t f − i d f ( t , d , D ) = t f ( t , d ) × i d f ( t , D ) tf-idf(t,d,D)=tf(t,d)\times idf(t,D) tf−idf(t,d,D)=tf(t,d)×idf(t,D)
目的:同时结合两个参数,实现两个目标。
二、向量空间模型:文章—>向量
- 余弦距离计算文章间的相似度。
- 问题:1.近义词;2.多义词。
- 解决:LSA 隐含语义压缩,实现降维,信息浓缩!
- 可用于:文本搜索,文章聚类
X = T S D T X=TS{D}^{T} X=TSDT
三、PageRank
- 内容之间的互相指向,统计排序。
- 考虑的是被指向的次数,如果考虑的是自己指向的次数,那么将出现造假情况,如:大量指向其他网页,从而使自己排名靠前。
四、协同过滤CF:
- 理解:基于矩阵,矩阵是稀疏的,所以需要弥补空缺值,矩阵二维分别是:用户user,项item。
- 分类:
{ M e m o r y − B a s e d C F { U s e r − B a s e d C F I t e m − B a s e d C F M o d e l − B a s e d C F \left\{\begin{matrix} Memory-Based\, CF \left\{\begin{matrix} User-Based\, CF\\ Item-Based\, CF \end{matrix}\right.\\ Model-Based\, CF \end{matrix}\right. ⎩⎨⎧Memory−BasedCF{User−BasedCFItem−BasedCFModel−BasedCF
其中:
1.user、item分别对应矩阵的两维;
2.Model Based CF 将问题转化为了分类问题。 - 问题:
1.Gray Sheep:非常独特的用户,很难找到与其相似的用户。
2.Shilling Attack:虚假数据的干扰。
3.Cold Start:冷启动,启动时的用户数目太少。