4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
1、摘要:
组推荐的一个挑战性问题:因为不同组的成员就有不同的偏好,如何平衡这些组员的偏好是一个难以解决的问题。
在本文中,作者提出了一个COM的概率模型来建立组活动生成过程。
直觉上:
一个组中的用户可能有不同的影响,在不同主题影响力不同,如对看电影有权威的用户在音乐上影响力可能低。
群体中的用户可能作为组员的表现和作为独立个体表现不一样。
COM基于这些直觉,融合组成员之间的偏好成为组偏好来进行推荐。
2、介绍
传统的组推荐主要分为基于memory和基于model两类,这两类都忽略了组成员之间的交互,并使用简单的方法来融合成员的偏好。
COM创新点:
(1)每个组与几个主题相关,例如,野餐组与徒步旅行和餐饮主题相关,而由家庭组成的电影观看组可能与浪漫喜剧主题相关。一个群组的项目选择不仅受相关主题影响还受成员的个人考虑的影响,例如选择去电影院看电影受电影影响还受影院距离影响。
(2)群组成员作为组成员表现和个人不同,如独处喜欢看恐怖电影,与妻子喜欢看浪漫电影。
(3)不同的用户在群体中作出决策时有不同见解,见解程度和主题相关,电影迷可能对电影观看群体作出决定很重要,但在餐饮群体中不是很重要。
COM对一个组的生成过程建模如下:
每个组在潜在主题上具有多项式分布,这些主题吸引一组用户加入。
考虑1:一个用户的项目选择受主题影响也受自身考虑的影响。
考虑2:一个用户的项目选择受群组的主题影响而不是个人的主题。
考虑3:一个组的决策受全体成员的影响,若某个成员是专家则其选择具有更大的权重。
本文贡献:
1、提出一个生成模型COM建立一个群组对项目选择的过程,考虑成员的主题影响和成员的群组行为。
2、提出一个基于COM的群组推荐方法,考虑用户选择历史和用户个人考虑。
3、实验
3、相关工作:
(1)推荐系统:基于内容的、基于CF、基于混合推荐系统
(2)群组推荐:偏好融合方法和评分融合方法
4、模型:
四个直觉:
直觉1:每一组都与多个匹配度相关的主题相关,例如,野餐组比健美话题更适合徒步旅行和就餐话题。一个小组的话题吸引用户加入这个团体。
直觉2:当选择一个项目时,组中的用户有两个考虑因素:主题、个人因素。“RST”是主题,即,用户倾向于选择与组主题相关的项,这导致她加入组。第二个是用户对内容因素的个人考虑,如场地推荐的地理距离、电影推荐的电影列表等。这些因素中的大多数是用户规范,不能被主题捕获。此外,不同的用户在组话题和个人考虑内容因素之间进行不同的交换:一些用户倾向于选择与组话题最匹配的项目,而另一些用户可能认为个人考虑更重要。
直觉3:用户在选择特定组中的项目作为成员时,以及在选择项目作为个人时,行为各异。在一个组中,用户倾向于将她的偏好与组的主题相匹配。
直觉4:一个群体对一个候选项目的偏好是由群体成员的偏好决定的[3, 8 ]。除此之外,我们利用以下新的直觉:每个成员对组中项目选择的影响是依赖于主题的。
直觉1:θg :组g的主题偏好。
ΦZU z:用户U和主题Z的相关性.
ΦZI z:项目I和主题Z的相关性.
ΦZI z,i:给定主题z,i 项目被选择的可能性。
ΦZU z,u:主题z对用户u的吸引力或用户u对z的专长能力。
直觉2:
使用开关变量c来控制用户u是根据组的主题还是个人因素来选择一个项目的。当c=1时,项目被选中是基于主题相关的(满足分布ΦZI )。当 c = 0时,项目被选择是基于个人因素(满足分布ΦUI)。
c是满足伯努利分布的,参数λu表示组主题影响,( 1-λu )表示受个人因素影响,伯努利λu有一个beta先验 γ = { γ,γt } 。
群体事件生成过程如下:


4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)的更多相关文章
- 深度学习课程笔记(二)Classification: Probility Generative Model
深度学习课程笔记(二)Classification: Probility Generative Model 2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw ...
- 转Generative Model 与 Discriminative Model
没有完全看懂,以后再看,特别是hmm,CRF那里,以及生成模型产生的数据是序列还是一个值,hmm应该是序列,和图像的关系是什么. [摘要] - 生成模型(Generative Model) :无 ...
- Generative Model 与 Discriminative Model
[摘要] - 生成模型(Generative Model) :无穷样本==>概率密度模型 = 产生模型==>预测 - 判别模型(Discriminative Model): ...
- 生成模型(Generative Model)和 判别模型(Discriminative Model)
引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以 ...
- 生成模型(Generative Model)Vs 判别模型(Discriminative Model)
概率图分为有向图(bayesian network)与无向图(markov random filed).在概率图上可以建立生成模型或判别模型.有向图多为生成模型,无向图多为判别模型. 判别模型(D ...
- Generative model 和Discriminative model
学习音乐自动标注过程中设计了有关分类型模型和生成型模型的东西,特地查了相关资料,在这里汇总. http://blog.sina.com.cn/s/blog_a18c98e50101058u.html ...
- A Neural Influence Diffusion Model for Social Recommendation 笔记
目录 一.摘言 二.杂记 三.问题定义和一些准备工作 四.模型真思想 五.实验部分 六.参考文献 一.摘言 之前协同过滤利用user-item交互历史很好的表示了user和item.但是由于用户行为的 ...
- Generative Model vs Discriminative Model
In this post, we are going to compare the two types of machine learning models-generative model and ...
- 论文阅读 A Data-Driven Graph Generative Model for Temporal Interaction Networks
13 A Data-Driven Graph Generative Model for Temporal Interaction Networks link:https://scholar.googl ...
随机推荐
- ubuntu16.04 安装配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe环境
网络上有很多ubuntu上caffe配置环境的帖子,本人照着其中的许多进行了参考,都出现了或多或少的错误,很多地方也有差异. 于是自己整理了下自己的安装过程,成功进行了测试,跑通了faster-rcn ...
- UNP学习笔记3——基本UDP套接字编程
1 概述 TCP和UDP网络编程存在一些本质的差异,主要是由于传输层的差别:UDP是无连接的不可靠的数据报协议,而TCP是面向连接的字节流协议. 下图是典型的UDP客户端和服务器之间的通信流程.客户不 ...
- JDBC程序实例
实例 ( Statement ): public class JDBC { public static void main(String[] args) throws Exception { Conn ...
- HDU 1086 You can Solve a Geometry Problem too( 判断线段是否相交 水题 )
链接:传送门 题意:给出 n 个线段找到交点个数 思路:数据量小,直接暴力判断所有线段是否相交 /*************************************************** ...
- [Codeforces 115E]Linear Kingdom Races
题目大意: 有n块地,初始是荒地.你可以把某些荒地开垦(需要花费相应的价值\(a_i\)(正整数)),然后这些荒地就可以种田. 现在有m年,每年要在l到r区间内种田,获得p(正整数)的价值(必须保证l ...
- PHP中的 Iterator 与 Generator
在讲解生成器之前先介绍一下迭代器: 在 PHP 中,通常情况下遍历数组使用 foreach 来遍历. 如果我们要想让一个对象可以遍历呢? PHP 为我们提供了 Iterator 接口,只要实现了这个接 ...
- Python学习笔记(6)元组
2019-03-02 元组(tuple): (1)元组是不可变的,无法进行任意修改.插入.删除一个元素. (2)创建元组大部分时候用小括号,如果创建的元组中只有一个元素,需要在它的后面加上一个逗号. ...
- 小学生都能学会的python(深浅拷贝)
小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...
- java 日期和字符串互转,依据当天整天时间 得到当天最后一秒的日期时间
java 日期和字符串互转.依据当天整天时间 得到当天最后一秒的日期时间 package com.hi; import java.text.DateFormat; import java.text ...
- linux修改history记录数
在linux系统下.history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history, 但只保留1000条命令(这个是由默认的shell ...