zoukankan      html  css  js  c++  java
  • Recommender Systems

    推荐系统 目的 论文阅读:

    A Survey of Collaborative Filtering Based Social
    Recommender Systems

    1

    研究对象:推荐系统。为用户提供一个可能感兴趣的项目列表,或者预测用户对项目的喜好程度。推荐系统帮助用户决定合适的项目。

    2

    主要记号:

    user-item rating matrix :R^{u_0*i_0}   u_0代表用户数,i_0代表项目数,R_u,i 是用户U对项目i的评价。不难看出R中有很多缺失值,稀疏性通常超过99%。推荐系统能够预测缺失值。

    社交网络信息:S^u_0,u_0。f(+,u)表示用户U关注的邻居集合,f(-,u)表示用户u的粉丝。

    3

    推荐评价指标: user-item rating数据分为训练集和测试集;准确率 root mean square error(RMSE) and mean absolute error(MAE)

    when we need to provide a suer with a list of k recommended items she might direct accuracy emasures of top-k are top-k hit ratio(recall), precision and normalized discounted cumulative gain(NDCG) N(u): the num of ralated items. N(k,u): the num of related items in top-k recommended items
    (hit ratio, non-decreasing function with k)
    As we see, all the above evaluations do not relate with the rank. Assuming the gain of a recommended item is discounted log-arithmically with respect to its positions/ranking in the whole recommendation list. g_u,i: user u has a gain of g_u,i from being recommended an item i. 
    4
     
     

    recommender systems deal with information overload by automatically suggesting to users items that may fit their interests. Accurate recommenders enable users to quickly locate desirable items without being overwhelmed by irrelevant information. 

    recommender systems roots back to several related research disciplines, such as congnitive science, approximation theory, and information retrieval,. Generally, there are two variants of recommendations approaches: content-based and collaborative filtering based approaches. Typically, CF methods can be grouped in two general classes of model based and neighborhood based methods.

    Online social networks present new oppoutunities for further improving the accuracy of RS. 由于人类的同质性,稳定持久的社交关系,人们乐意和朋友分享个人看法。在线社交网络可以让用户更容易的分享,而且也可以成为一个发展新推荐算法的平台。在MF CF中,把user-user矩阵和user-item矩阵整合到一起,实现信息融合。而在neighborhood-based方法中,则是把social network traversal based approaches(在收集了直接和间接朋友的信息后作出推荐) 和 nearest neighbor (传统的协同过滤方法,分为user-user and item-item)方法结合起来。

    假设健在的社交网络是一个有向图G=(U,F) u是用户,f是关系连接。

    5

    content-based approaches:使用项目的性质,例如使用一本书的作者,推荐给具有同样品位的用户。

    6

    CF collaborative filtering: 使用用户的反馈信息,例如评分,连接点击,听一首歌,买一件物品等。相似的用户肯定有重叠的物品评价。

    6.1

    Model based CFapproaches(matrix factorization ):使用user-item ratings来训练预测模型,一般是通过user-item的交互来建模(本质上是用户对项目的反馈),例如用户喜欢的类型以及项目的分类。矩阵分解的经典方法是奇异值分解singular value decomposition 。本质上是把用户和商品映射到低维潜在空间,决定用户和商品在低维空间的相似性。

    就像机器学习那点事上说的一样,一个学习器有三部分组成:表示,评估,优化。上面这个公式是表述,求出p q 可以知道缺失值,也就完成了预测;评估函数如下:

    优化:如何快速求解一个评估函数?一般采用梯度下降方法。gradient descent methods

    左边平方项是为了使预测值尽量和真实值相近,右边范数是为了正规化学习到的两个矩阵,避免过拟合。

    推荐系统可以通过吧不同模型集成来提高精度。

    一个和社交网络结合的例子,表示模型发生变化,还有直接线性组合的,还有把社交网络分圈子的,大同小异。

    6.2

    Neighborhood based CF approaches:使用存储的user-item ratings 直接预测对新项目的评价。通过遍历邻居来预测评价。上述MF方法主要是假设用户对项目的评价相似,对新项目或缺失项目的评价也相似;而基于邻居的方法的假设则是用户之间相互信任,用户对项目的评价相似。

    两个用户直接相连,可以计算truth值,如果间接相连,则通过集成间接的信任值来计算。基于用户的信任值,得到用户对项目的评价模型如下

    还有贝叶斯方法等等

    7算法比较

    方法

    难点

    梯度下降法

    奇异值分解

  • 相关阅读:
    npm镜像切换
    vue组件样式覆盖问题-module
    实现微信小程序多文件同时上传,并且携带参数
    提交现有代码到gitee
    富文本框 字段存入数据库
    js动态添加 <select>标签disable属性
    validate验证,rules属性名为特殊属性名
    springboot themleaf ajax总结
    th:field,th:value
    直接在页面上显示当前年份
  • 原文地址:https://www.cnblogs.com/18fanna/p/3027111.html
Copyright © 2011-2022 走看看