zoukankan      html  css  js  c++  java
  • Collaborative and One-Class Collaborate Filtering的概念以及区别

      在经典的推荐算法中,协同过滤推荐应该是占有很重要的一部分,在论文“One-Class Collaborative Filtering“(链接:https://pdfs.semanticscholar.org/7d54/15874e0f8b8f9eda49187a9030ce6bca41b1.pdf)”介绍到协同推荐(Collaborate filtering)为:The collaborative filtering is aiming at predicting the preferences of items for a particular user based on  the items previously rated by all users. 因此我们不难知道其实协同过滤的本质为:通过其他用户的历史数据来为目标用户进行协助推荐,以使得推荐更加精准;像传统的系统过滤推荐算法有User based collaborative filtering(通过用户之间的日志数据(如购买数据,浏览数据等)来计算用户之间的相似度(计算方法如Cosine Similarity, Pearson Correlation Coefficient等等),通过相邻用户对于目标物品的喜好程度来反观目标用户对于目标物品的喜好程度,从而为目标用户做出推荐), Item based collaborative filtering(与User Based Collaborative Filtering相似,通过计算两个物品被相同用户购买过的程度来计算两个物品之间的相似度,最后通过在目标物品的近邻物品集合与目标用户购买过的物品集合中取出交集,通过交集物品来计算目标用户关于目标物品的喜好程度,从而为目标用户进行推荐), Hybrid collaborative filtering(结合User Based Collaborative Filtering 与 Item Based Collaborative Filtering,分别给这两个方法的预测喜好程度加上不同的权重系数来进行喜好程度的判断), etc;

      在上述论文中还提及到了OCCF问题,在很多数据中,往往只有正反馈的结果而没有负反馈的结果,举个例子来说:在100部电影的喜好反馈中(只有喜欢或者不喜欢两种反馈结果,1表示喜欢,0表示没看过或者不喜欢),然而如果出现一个用户只对其中的10电影进行了分值1的评价(喜欢),那剩余的90部电影反馈回来的都是0,那么在下一次为该用户推荐电影的时候,用到用户的历史数据,90评分为0的电影并不意味着用户不喜欢,因为也有可能代表着用户没有看过这些电影,但是却是喜欢这些电影(如果后期去看)的可能性。因此OCCF解决的就是这么一类的问题:"We refer to collaborative filtering  with only positive examples  given as  One-Class Collaborative Filtering(OCCF)".

  • 相关阅读:
    【BZOJ4236】JOIOJI(前缀和)
    【BZOJ3351】[IOI2009] regions(设阈值+分块)
    【BZOJ3992】[SDOI2015] 序列统计(原根+NTT+倍增)
    【洛谷5070】[Ynoi2015] 即便看不到未来(树状数组)
    【BZOJ4908】[BeiJing2017] 开车(分块)
    【BZOJ3730】震波(点分树)
    【洛谷4075】[SDOI2016] 模式字符串(点分治+哈希)
    【BZOJ4402】Claris的剑(组合数学)
    【BZOJ4767】两双手(容斥+DP)
    【BZOJ3601】一个人的数论(莫比乌斯反演+高斯消元)
  • 原文地址:https://www.cnblogs.com/liuji/p/7570971.html
Copyright © 2011-2022 走看看