[学习笔记]数据挖掘-week8

推荐算法

学习视频:80240372X 数据挖掘:理论与算法(自主模式)

思维导图

大致分为两类算法:基于内容推荐,基于协同过滤推荐。以买书为例,基于内容的推荐算法会根据该书的内容,作者等信息推荐其他书籍。基于协同过滤的推荐算法会推荐我“朋友”所认为好的书。

TF-IDF

t f ( t , d ) = n t , d ∑ k n k , d i d f ( t , D ) = log ⁡ ∣ D ∣ ∣ d ∈ D : t ∈ d ∣ \begin{aligned} & tf(t,d) = \frac{n_{t,d}}{\sum_k n_{k,d}}\\ & idf(t,D) = \log\frac{|D|}{|d\in D:t\in d|} \end{aligned} tf(t,d)=knk,dnt,didf(t,D)=logdD:tdD

d为单个文档,D为所有文档,t为目标词汇,k为文档中词汇,idf的分母为包含特定搜索词的文档的个数。

t f − i d f ( t , d , D ) = t f ( t , d ) × i d f ( t , D ) \begin{aligned} tf-idf(t,d,D) = tf(t,d)\times idf(t,D) \end{aligned} tfidf(t,d,D)=tf(t,d)×idf(t,D)

实际操作过程中会将所有文档整合成一个文档矩阵,行代表某个词汇,列代表某个文档,矩阵中的元素表示某个词汇在某个文档中出现的次数。

Vector Space Model

文档用向量表示后,即可用向量间的计算来查看文档的相似度。

s i m ( p , q ) = c o s ( θ ) = p ⋅ q ∣ p ∣ ⋅ ∣ q ∣ \begin{aligned} sim(p,q) = cos(\theta) = \frac{p\cdot q}{|p|\cdot|q|} \end{aligned} sim(p,q)=cos(θ)=pqpq

但是,由于近义词与多义词的问题,导致难以操作。

Collaborative Filtering

协同过滤算法在最开始时,会有一个打分矩阵,每一行为一个用户,每一列为某件商品,矩阵元素为该用户对商品的评分。

I1I2I3
U102
U2345

计算两个用户之间的相关性:

W u , v = ∑ i ∈ I ( r u , i − r ˉ u ) ( r v , i − r ˉ v ) ∑ i ∈ I ( r u , i − r ˉ u ) 2 ∑ i ∈ I ( r v , i − r ˉ v ) 2 \begin{aligned} W_{u,v} = \frac{\sum_{i\in I}(r_{u,i}-\bar{r}_u)(r_{v,i}-\bar{r}_v)}{\sqrt{\sum_{i\in I}(r_{u,i}-\bar{r}_u)^2}\sqrt{\sum_{i\in I}(r_{v,i}-\bar{r}_v)^2}} \end{aligned} Wu,v=iI(ru,irˉu)2 iI(rv,irˉv)2 iI(ru,irˉu)(rv,irˉv)

通过相关性预测用户a对商品i的打分:

P a , i = r ˉ a + ∑ u ∈ U ( r u , i − r ˉ u ) ⋅ W a , u ∑ u ∈ U ∣ W a , u ∣ \begin{aligned} P_{a,i} = \bar{r}_a + \frac{\sum_{u\in U}(r_{u,i}-\bar{r}_u)\cdot W_{a,u}}{\sum_{u\in U}|W_{a,u}|} \end{aligned} Pa,i=rˉa+uUWa,uuU(ru,irˉu)Wa,u

r ˉ \bar{r} rˉ为某个用户对所有商品打分的平均值(只计算打了分数的商品)。该方式为User-Based CF,计算的是行与行之间的相关性。同样可以计算列于列之间的相关性,对应的方式为Item-Based CF。

W i , j = ∑ u ∈ U ( r u , i − r ˉ i ) ( r u , j − r ˉ j ) ∑ u ∈ U ( r u , i − r ˉ i ) 2 ∑ u ∈ U ( r u , j − r ˉ j ) 2 P a , i = ∑ j ∈ I W i , j ⋅ r a , j ∑ j ∈ I ∣ W i , j ∣ \begin{aligned} & W_{i,j} = \frac{\sum_{u\in U}(r_{u,i}-\bar{r}_i)(r_{u,j}-\bar{r}_j)}{\sqrt{\sum_{u\in U}(r_{u,i}-\bar{r}_i)^2}\sqrt{\sum_{u\in U}(r_{u,j}-\bar{r}_j)^2}}\\ & P_{a,i} = \frac{\sum_{j\in I}W_{i,j}\cdot r_{a,j}}{\sum_{j\in I}|W_{i,j}|} \end{aligned} Wi,j=uU(ru,irˉi)2 uU(ru,jrˉj)2 uU(ru,irˉi)(ru,jrˉj)Pa,i=jIWi,jjIWi,jra,j

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值