协调滤波:基于领域的推荐


1. 基于用户评分

基于用户评分

  • 基于领域用户:预测用户$$u$$ 对 物品$$i$$的评分$$r_{ui}$$;利用和用户$$u$$ 兴趣相近且对物品$$i$$做出评分的用户;
  • $$w_{uv}$$ 是用户$$u$$和$$v$$的兴趣相近程度
  • 用户的$$k$$近邻:k个与用户$$u$$ 相似度$$w_{uv}$$最高的用户$$v$$ , 表示为$$N(u)$$
  • 选择k个和用户$$u$$兴趣相近似且对物品$$i$$已经评价过的用户代替$$k$$ 近邻,表示为$$N_i(u)$$

** 用户预测的评分$$r_{ui}$$,用 $$k$$ 近邻用户的评价得分

$$\hat{r}{ui}=\frac{1}{|N_i(u)|}\sum{v \in Ni(u)} r{vi}$$

($$|N_i(u)|$$表示个数)

** 添加权值

$$\hat{r}{ui}=\frac{\sum{v \in Ni(u)} w{uv} r{vi}}{\sum{v \in Ni(u)} |w{uv}|}$$

** 上式没有考虑到用户使用不同的评价尺度。将$$r{vi}$$进行标准化的转换$$h(r{vi})$$

$$\hat{r}{ui}=h^{-1}[\frac{\sum{v \in nNi(u)} w{uv}h(r{vi})}{\sum{v \in Ni(u)}|w{uv}|}]$$

OK@@@ Empirical analysis of predictive algorithms for collabotive filtering

* 基于用户分类

  • 上述通过对领域用户的评分加权计算,本质是回归

2. 基于物品的推荐

  • 基于用户推荐是依赖于和自己兴趣相同的用户来预测一个评分
  • 基于物品推荐是通过评分相似的物品来预测

$$N_u(i)$$:用户u 已经评分且和物品$$i$$ 评分相近的 物品

用户 u 对物品 i 的评分时用户$$N_u(i)$$中物品的评分的加权平均

$$\hat{r}{ui}=\frac{\sum{j \in Nu(i)} w{ij}r{uj}}{\sum{j \in Nu(i)}|w{ij}|}$$

  • 不同用户拥有不同的评分尺度

$$\hat{r}{ui}=h^{-1}[\frac{\sum{i \in nNu(i)} w{ij}h(r{uj})}{\sum{v \in Nu(i)}|w{ij}|}]$$

基于物品推荐的分类


3 基于用户和基于物品的对比

* 准确性

  • 推荐系统的准确性很大程度取决于系统中用户和物品数之间的比例
  • 用户数量大,物品少,Amazon等,基于物品的推荐
  • 用户数量少,物品多,论文推荐等,基于用户的推荐

* 效率

  • 推荐系统的内存和计算效率也依赖于用户和物品的数量比例

* 稳定性

  • 如果物品的列表稳定性高于用户,那么使用基于物品的推荐效果更好
  • 反之

* 合理性

  • 基于物品的推荐,很理性强

* 惊喜度

  • 基于用户的方法,惊喜度高

4. 近邻方法的要素

  • 评分标准化
  • 效率
  • 近邻的选择

* 评分标准化

* 均值中心化

(1)基于用户的原公式

$$\hat{r}{ui}=\frac{\sum{v \in Ni(u)} w{uv} r{vi}}{\sum{v \in Ni(u)} |w{uv}|}$$

$$\hat{r}{ui}=h^{-1}[\frac{\sum{v \in nNi(u)} w{uv}h(r{vi})}{\sum{v \in Ni(u)}|w{uv}|}]$$

设均值平均化评分

$$h(r{ui})=r{ui} - \bar{r}_u$$

$$\hat{r}{ui}=\bar{r}_u+\frac{\sum{v \in Ni(u)}w{uv}(r{vi}-\bar{r}_v)}{\sum{v \in Ni(u)}|w{uv}|}$$

(2) 基于物品的原公式

$$\hat{r}{ui}=\frac{\sum{j \in Nu(i)} w{ij}r{uj}}{\sum{j \in Nu(i)}|w{ij}|}$$

$$\hat{r}{ui}=h^{-1}[\frac{\sum{i \in nNu(i)} w{ij}h(r{uj})}{\sum{v \in Nu(i)}|w{ij}|}]$$

设均值平均化评分

$$h(r{ui})=r{ui} - \bar{r}_i$$

$$\hat{r}{ui}=\bar{r}_u+\frac{\sum{j \in Nu(i)}w{ij}(r{uj}-\bar{r}_j)}{\sum{j \in Nu(i)}|w{ij}|}$$


* Z-score标准化

考虑到个人的评分范围带来的差异性

(1) 基于用户

$$h(r{ui}) = \frac{r{ui-\bar{r}_u}}{\sigma_u}$$

$$\hat{r}{ui}=\bar{r}_u+\sigma_u \frac{\sum{v \in Ni(u)} w{uv}(r{vi}-\bar{r}_v)/ \sigma_v}{\sum{v \in Ni(u)}|w{uv}|}$$

(2) 基于物品

$$h(r{ui}) = \frac{r{ui-\bar{r}_i}}{\sigma_i}$$

$$\hat{r}{ui}=\bar{r}_i+\sigma_i \frac{\sum{j \in Nu(i)} w{ij}(r{ui}-\bar{r}_j)/ \sigma_j}{\sum{j \in Nu(i)}|w{ij}|}$$


  • 基于用户偏好的过滤

@@@learning to order things

@@@ An efficient boosting algorithm for combining preference

@@@ collabotive filtering with decoupled models for preferences and ratings

@@@preference-based graphic models for collaborative filtering


5. 相似度的计算

* 余弦相似度

$$CV(u,v)=cos(xu,x_v)=\frac{\sum{i \in T{uv}}r{ui}r{vi}}{\sqrt{\sum{i \in Tu}r^2{ui}\sum{j \in T_v} r^2{vj}}}$$

$$T_{uv}$$是用户u和用户v都评价过的物品

未考虑用户u和v评分的均值和方差间的差异

* 调整后的相似度

(1) 用户相似度

$$PC(u,v)=\frac{\sum{i \in T{uv}}(r{ui}-\bar{r}_u)(r{uj}-\bar{r}v)}{\sqrt{\sum{i \in T{uv}}(r{ui}-\bar{r}u)^2 \sum{i \in T{uv}}(r{uj}-\bar{r}_v)^2}}$$

(2) 物品相似度

$$PC(i,j)=\frac{\sum{u \in u{ij}}(r{ui}-\bar{r}_i)(r{uj}-\bar{r}j)}{\sqrt{\sum{u \in u{ij}}(r{ui}-\bar{r}i)^2\sum{u \in u{ij}}(r{ij}-\bar{r}_v)^2}}$$


* 其他相似度方法

ok@@@An empirical analysis of design choices in neighborhood-based collaborative filtering

* 均方差(不合适)

* 斯皮尔曼等级关联(SRC)

$$src(u,v) = \frac{\sum{i \in T{uv}}(k{ui}-\bar{k}_u)(k{vi}-\bar{k}v)}{\sqrt{\sum{i \in T{uv}}(k{ui}-\bar{k}u)\sum{i \in T{uv}}(k{vi}-\bar{k}_v)}}$$

$$k_ui$$ 是物品 $$i$$ 在用户 $$u$$ 所评分的排名 排名绕开了标准化的问题。但是当评分只是少数的时候,这种方法会产生大量的并列排名

@@@ rank correlation methods


相似度的重要性

  • 例如:用户评分相等,则认为用户相同,实际上用户对不同物品有不同的喜欢,只是计算后的数值相同。
  • 相似度权重要性: 当只有少数评分用于计算时,会降低相似度的权值 ok@@@An algorithmic framework for performing collaborative filtering ok@@@Effective missing data prediction for collaorative filitering

  • 当两个人共同评价的物品数,$T{uv}$ 小于$$\gamma$$, 则相似度$$w{uv}$$:

    $$w{uv}^{'}=\frac{min{|T{uv}|,\gamma}}{\gamma}* w_{uv}$$

  • 用户评分过少的物品间的相似度

$$w{ij}^{'}=\frac{min{|u{ij}|, \gamma}}{\gamma}* w_{ij}$$

  • 当$$r>=25$$可以显著提高预测评分的准确性,其中$$\gamma=50$$ 为最佳

  • 收缩 @@@modeling relationships at multiple scales to improve accuracy of large recommender system

贝叶斯观点下,少量评分情况下的用户相似度权值:

$$w{uv}^{'}=\frac{|T{uv}|}{|T{uv}|+\beta}*w{uv}$$

  • $$\beta$$通常需要交叉验证,文献中介绍,优化的值是$$\beta = 100$$

差异的说明

ok@@@ Empirical analysis of predictive algorithms for collabotive filtering

* 用户给出一致的喜欢与不喜欢,不如给出差异较大的评分,可以提供更多的信息

* 反用户频率

  1. 每个物品$$i$$被赋予权重$$\lambda_i$$
  2. $$\lambda_i = log \frac{|u|}{|u_i|}$$
  3. 评论了物品$$i$$的用户比例

* 频率加权皮尔逊系数

$$FWPC(u, v) = \frac{\sum{i \in T{uv}}\lambdai(r{ui}-\bar{r}u)(r{vi}-\bar{r}v)}{\sqrt{\sum{i \in T{uv}}\lambda_i(r{ui}-\bar{r}u)^2\sum{i \in T{uv}}\lambda_i(r{vi}-\bar{r}_v)^2}}$$

  • 补充 OK@@@ an automatic weighting sheme for collbarative filtering

领域的选择

  • 全局过滤选择最有可能的n个物品
  • 每一步选择最有可能的n个物品

* k的选择

  1. k<=20的时候,预测精度低
  2. k>50后重要关联下降

* 缺点

  • 覆盖受限 用户近邻的数目很少
  • 数据稀疏

1.冷启动

@@@methods and metric for cold-start recommendations

2 .解决办法:

(1) 用默认数据区填充 评分用户的中值,物品或者用户的平均分 ok@@@Emprical analysis of predictive algorithms for collaborative filtering ok@@@item-based weighted top-Nrecommender system

(2) 内容信息去填充 ok@@@a content-collaborative recommender that exploits wordnet-based user porfile for neighborhood formation ok@@@combining coolaborative filtering with personal agents for better recommendations ok@@@ content-based collaborative filtering for improved recommendations

(3)filterbots自动填充 ok@@@combining coolaborative filtering with personal agents for better recommendations ok@@@Grouplens:applying coolaborative filtering to usenet news

(4) 内容相似性替代和补充评分关联性 OK@@@Learning collaborative information filters OK@@@Combining usage,content and structrue data to improve web site rcommendation OK@@@ A framework for collaborative ,content-based and demographic filtering. @@@Combining content and collaboration in text filtering

* 上述填充方法的缺点:

用默认数据区填充缺失数据会导致推荐的偏差 用内容填充的方法不适应计算评分或者相似性

results matching ""

    No results matching ""