推荐系统(Recommender Systems)

一、问题形式化

        在接下来的内容中,我将开始讲解推荐系统的一些理论知识。我们从一个例子开始定义推荐系统,假使我们是一个电影供应商,我们有 5 部电影和 4 个用户,我们要求用户为电影打分

前三部电影是爱情片,后两部是动作片,我们可以看出Alice和Bob似乎更倾向于爱情片,而 Carol 和 Dave 似乎更倾向于动作片,并且没有一个用户给所有的电影都打过分。因此我们希望构建一个算法来预测他们每个人可能会给他们没看过的电影打多少分,并以此作为推荐的依据,下面引入一些标记:

二、基于内容的推荐系统

        在基于内容的推荐系统中,项目或对象是通过相关特征的属性来定义的,系统基于用户评价对象的特征、学习用户的兴趣,考察用户资料与待预测项目的匹配程度。用户的资料模型取决于所用的学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

       在我们的例子中,我们假设每部电影都有两个特征,如x_1代表电影的浪漫程度,x_2代表电影的动作程度,则每部电影都有一个特征向量,如x^{(1)}是第一部电影的特征向量为[0.9 0]。

下面我们要基于这些特征来构建一个推荐系统算法, 假设我们采用线性回归模型,我们可以针对每一个用户都训练一个线性回归模型,如{​{\theta }^{(1)}}是第一个用户的模型的参数,下面引入一些标记:

其中 i:r(i,j)表示我们只计算那些用户$j$ 评过分的电影,在一般的线性回归模型中,误差项和正则项应该都是乘以1/2m,在这里我们将m去掉。并且我们不对$\theta_0$进行正则化处理。

上面的代价函数只是针对一个用户的,为了学习所有用户,我们将所有用户的代价函数求和:

如果我们要用梯度下降法来求最优解,我们计算代价函数的偏导数后得到梯度下降的更新公式为:

三、协同过滤

        在之前的基于内容的推荐系统中,对于每一部电影我们都掌握了可用的特征,使用这些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出电影的特征。

但是如果我们既没有用户的参数,也没有电影的特征,这两种方法都不可行了,协同过滤算法可以同时学习这两者,我们的优化目标便改为同时针对$x$$\theta$进行,如下图:

 对代价函数求偏导数的结果如下:

注:在协同过滤算法中我们通常不使用$\theta_0$$x_0$项,如果需要的话算法会自动学得。 协同过滤算法使用步骤如下:

①初始x^{(1)},x^{(2)},...x^{(nm)},\ \theta^{(1)},\theta^{(2)},...,\theta^{(nu)}为一些随机小值

②使用梯度下降算法最小化代价函数

③在训练完算法后,我们预测(\theta^{(j)})^Tx^{(i)}为用户 j 给电影 i 的评分

我们可以通过获得的特征矩阵作为给用户推荐电影的依据,例如如果一位用户正在观看电影x^{(i)},我们可以寻找另一部电影x^{(j)},选择使得两部电影的特征向量之间的距离\left\| {​{x}^{(i)}}-{​{x}^{(j)}} \right\|最小。

 四、向量化:低秩矩阵分解

        在上几节内容中,我们谈到了协同过滤算法,本节中我将会讲到有关该算法的向量化实现以及说说有关该算法我们可以做的其他事情。

我们有五部电影以及四位用户,那么这个矩阵 Y 就是一个5行4列的矩阵,它将这些电影的用户评分数据都存在矩阵里:

 

 推出评分:

找到相关影片:

        现在你已经对特征参数向量进行了学习,那么我们就会有一个很方便的方法来度量两部电影之间的相似性。例如说:电影 i 有一个特征向量x^{(i)},你是否能找到一部不同的电影 j,保证两部电影的特征向量之间的距离x^{(i)}x^{(j)}很小,那就能很有力地表明电影i和电影 j 在某种程度上有相似,至少在某种意义上,某些人喜欢电影 i,或许更有可能也对电影 j 感兴趣。

        通过这个方法,希望你能知道如何进行一个向量化的计算来对所有的用户和所有的电影进行评分计算。同时希望你也能掌握,通过学习特征参数来找到相关电影和产品的方法。

  五、推行工作上的细节:均值归一化

让我们来看下面的用户评分数据:

        如果我们新增一个用户 Eve,并且 Eve 没有为任何电影评分,那么我们以什么为依据为Eve推荐电影呢?我们首先需要对结果 Y 矩阵进行均值归一化处理,将每一个用户对某一部电影的评分减去所有用户对该电影评分的平均值

然后我们利用这个新的 Y 矩阵来训练算法,如果我们要用新训练出的算法来预测评分,则需要将平均值重新加回去,预测值为(\theta^{(j)})^T x^{(i)}+\mu_i。对于Eve,我们的新模型会认为她给每部电影的评分都是该电影的平均分。 

  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一本很好的学习推荐系统的参考手册,全面而系统。由全球做推荐系统的研究人员参与编写。目录主干: 1 Introduction to Recommender Systems Handbook Part I Basic Techniques 2 Data Mining Methods for Recommender Systems 3 Content-based Recommender Systems: State of the Art and Trends 4 A Comprehensive Survey of Neighborhood-based Recommendation Methods 5 Advances in Collaborative Filtering 6 Developing Constraint-based Recommenders 7 Context-Aware Recommender Systems Part II Applications and Evaluation of RSs 8 Evaluating Recommendation Systems 9 A Recommender System for an IPTV Service Provider: a Real Large-Scale Production Environment. 10 How to Get the Recommender Out of the Lab? 11 Matching Recommendation Technologies and Domains 12 Recommender Systems in Technology Enhanced Learning Part III Interacting with Recommender Systems 13 On the Evolution of Critiquing Recommenders 14 Creating More Credible and Persuasive Recommender Systems:The Influence of Source Characteristics on Recommender System Evaluations 15 Designing and Evaluating Explanations for Recommender Systems 16 Usability Guidelines for Product Recommenders Based on Example Critiquing Research 17 Map Based Visualization of Product Catalogs Part IV Recommender Systems and Communities 18 Communities, Collaboration, and Recommender Systems in PersonalizedWeb Search 19 Social Tagging Recommender Systems 20 Trust and Recommendations 21 Group Recommender Systems: Combining Individual Models Part V Advanced Algorithms 22 Aggregation of Preferences in Recommender Systems 23 Active Learning in Recommender Systems 24 Multi-Criteria Recommender Systems 25 Robust Collaborative Recommendation
电子科大《图嵌入推荐系统技术》综述论文,64页pdf422篇文献阐述图嵌入推荐技术进展 推荐系统是一种缓解信息超载问题的关键工具,旨在通过分析观察到的用户-商品关系,从数百万的候选商品中预测出用户喜欢的商品。针对推荐系统存在的稀疏性和冷启动问题,利用侧信息和知识来挖掘隐藏的(间接的)用户-物品关系来丰富推荐的观测信息,近年来被证明是有前景的;而推荐模型在面对高度复杂和大规模的侧信息和知识时的可扩展性在很大程度上决定了推荐模型的性能。为了有效地利用复杂和大规模的数据,图嵌入技术的研究是一个重要的课题。将图嵌入技术用到推荐系统中,可以大大优于传统的直接基于图拓扑分析的推荐实现,近年来得到了广泛的研究。本文从二部图、一般图和知识图谱的嵌入技术出发,系统地回顾了基于图嵌入的推荐方法,提出了基于图嵌入的推荐方法的总体设计思路。此外,将几种有代表性的基于图嵌入的推荐模型与最常用的传统推荐模型进行了仿真比较,结果表明,传统推荐模型在预测隐式用户-物品交互方面总体上优于基于图嵌入的推荐模型。揭示了基于图嵌入的推荐在这些任务中的相对弱点。为了促进未来的研究,本文提出了基于图嵌入的推荐与传统推荐在不同任务中的权衡,以及一些有待解决的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间邮递员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值