7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制
来源EDB2018---EDB
一、摘要:
组推荐是将一种项目(例如产品、服务)推荐给由多个成员组成的组的方法。
最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群体不满意的项目,但存在推荐准确率低的缺点。
均值法推荐精度较高,但是不能考虑群体的不满意项目。
本文提出一种基于机会成本和个人活动的群组推荐方法,【机会成本,当选择特定项目时所丢弃的剩余项目的最大值】,其优点:考虑了准确度以及满意度。
二、介绍:
协同过滤是一种传统的推荐算法,可以给用户推荐新的项目。
推荐方法主要分为两类:(1)个人推荐(2)组推荐
群组推荐旨在……,但是代表性的群组推荐方法包括最小痛苦、最大快乐、均值等。其中,最小痛苦方法会推荐群组不满意的项目,但存在推荐准确率低的缺点。
本文考虑群组的不满意程度,考虑机会成本和个人活动,提出一种提高准确度的群体推荐方法。
三、相关研究:
1、推荐过程:
群组推荐过程分为三个阶段:群组搜索、群组建模和群组评分预测。
- 组搜索【理解成群组发现】:考虑推荐项目的形成群组,通常将具有相似偏好的用户分到同一组。
- 群组建模:融合组中各个成员的偏好形成群组偏好。
- 群组评分预测:生成群组队每一个项目的预测评分,然后根据预测的评分对群组进行推荐。
2、机会成本和个人活动:
机会成本指用户放弃任何项目的最高价值。利用机会成本意味着当有几种备选方案可供选择时作出合理的决策。
在【6】中,在确定旅行地点的情况下,他们通过根据成员的角色改变权重来将权重应用于偏好计算,但是很难计算成员在组中的角色。
在【7】中,提出了一种通过每个成员之间的社会联系来设置不同的权重,但是在一些情况下,不能讲友谊看成相对关系。
3、协同过滤CF:
协同过滤是对目标用户推荐与其具有相似偏好的用户喜欢的项目,用户之间的相似度度量是通过用户过去购买项目的偏好项目信息来度量的。

上图显示了通过CF进行群组推荐的示例,组和组之间的相似度可以通过融合的组偏好来计算。上图中,组1对项目4的偏好可以通过组1和组2、组3的相似度来计算。
4、矩阵分解MF和交替最小二乘法
MF是一种挖掘用户-项目之间隐性关系的预测评分的方法,其具有高准确度。【8】

ALS是一种MF优化方法。计算是分布式的。【9】
5、Hadoop和Spark
四、基于激活成本和个人活动的群组推荐方法
1、群组搜索:K-均值聚类
在群组推荐中,采用K-均值聚类方法构造具有相似偏好成员的群组,计算欧几里得距离。

2、组建模:机会成本和损失
K-均值聚类得到的群组表示为 G = {g1,g2,g3……,gk},K = 1,2,……,【K表示K个组】
组的评分 rgki 设为群组成员的均分:【rgki 表示为第k组对第i个项目的评分】【r ulki表示第k组的第l个用户对项目i的评分】

为了获得 群组中每个成员的机会成本 ,先在群组评分中搜索具有最高价值的项目,然后将搜索得到的项目的个人评分作为每个成员的机会成本。
通过选择的特定项目,可从不满程度的每个成员的评分中减去机会成本,从而获得损失。该值越大,群组选择所产生的不满情绪越大。因此,损失越大,在评分中所要求的权重越小,且权重越大,就越有可能提出考虑小组成员不满意的建议。

以上l gki表示某个特定项目i的机会成本损失,第k组第l个成员的个人活动均值,c表示第k组第l个成员的机会成本。L表示K群组中的人的总数。
3、组建模:个人活动
为了测量群组中每个成员的影响,这里定义重复性和帮助性准则。
- 重复性是通过群组中每个用户评估项目数量来度量的,且其参与小组活动的程度。
|GI|是组G所有成员评估项目的数量。|Sum|是群组G={u1,u2,……,um}中第m个用户对项目评估的数量。E表示评估的重复性:

评估的有用性是指由某一组中由特定成员对其他成员的评估文本内容,对其进行归一化:H即用户m的评估有用性。

群组G成员的个人活动PA被定义为PA:

4、偏好评估的准则:
RMSE(均方根误差)

7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制的更多相关文章
- ant design Radio.Group defaultValue 默认选中没生效
版本问题 (3.10.7 版本中使用 defaultValue) <div> <Radio.Group defaultValue="a" buttonStyle= ...
- 1、Attention_based Group recommendation——基于注意力机制的群组推荐
1.摘要: 本文将Attention-based模型和BPR模型结合对给定的群组进行推荐项目列表. 2.算法思想: 如图: attention-based model:[以下仅计算一个群组的偏好,多个 ...
- 4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
1.摘要: 组推荐的一个挑战性问题:因为不同组的成员就有不同的偏好,如何平衡这些组员的偏好是一个难以解决的问题. 在本文中,作者提出了一个COM的概率模型来建立组活动生成过程. 直觉上: 一个组中的用 ...
- 【RS】Automatic recommendation technology for learning resources with convolutional neural network - 基于卷积神经网络的学习资源自动推荐技术
[论文标题]Automatic recommendation technology for learning resources with convolutional neural network ( ...
- 8、Situation-Dependent Combination of Long-Term and Session-Based Preferences in Group Recommendations: An Experimental Analysis ----组推荐中基于长期和会话偏好的情景依赖组合
一.摘要: 背景:会话组推荐系统的一个主要挑战是如何适当地利用群组成员之间的交互引起用户偏好,这可能会偏离用户的长期偏好.长期偏好和群组诱导的偏好之间的相对重要性应该根据具体的群组设置而变化. 本文: ...
- 2、Attentive Group Recommendation----注意力集中的群组推荐
1.摘要: 采用attention和NCF结合解决群组偏好融合的问题. 贡献: 第一个使用神经网络学习融合策略的组推荐. 进一步整合用户-项目交互改进组推荐,减轻冷启动问题. 2.方法: 模型AGRE ...
- React Redux 与胖虎
这是一篇详尽的 React Redux 扫盲文. 对 React Redux 已经比较熟悉的同学可以直接看 <React Redux 与胖虎他妈>. 是什么 React Redux 是 R ...
- CABaRet: Leveraging Recommendation Systems for Mobile Edge Caching
CABaRet:利用推荐系统进行移动边缘缓存 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 笔者翻译了该论文.由于时 ...
- Android Material Design控件学习(二)——NavigationView的学习和使用
前言 上次我们学习了TabLayout的用法,今天我们继续学习MaterialDesign(简称MD)控件--NavigationView. 正如其名,NavigationView,导航View.一般 ...
随机推荐
- 【BZOJ3065】带插入区间k小值
题意: 带插入,修改的区间k小值在线查询 原序列长度<=35000,插入个数<=35000,修改个数<=70000,0<=权值<=70000 题解: Orz vfleak ...
- Windows环境下制作Ubuntu的U盘启动工具
Windows用户想要尝试一下Ubuntu或其他Linux系统?最简单的方法就是使用VMware Workstation,只是虚拟机会真实占用内存,如果你的电脑内存8G及以上可以试试.内存偏小,或者觉 ...
- 搞定PHP面试 - 函数知识点整理
一.函数的定义 1. 函数的命名规则 函数名可以包含字母.数字.下划线,不能以数字开头. function Func_1(){ } //合法 function func1(){ } //合法 func ...
- 安装oracle服务端之后再安装oracle客户端导致sqlplus命令无法使用??
首先小编自述一下所遇到的问题: 昨天在已经安装 oracle 服务端的 win7 X64 主机上安装 oracle client 之后,发现我的sqlplus命令无法用了??经过百度,都说我服务没有开 ...
- 专访Bruce Douglass,谈嵌入式经验
Bruce:表面上看,编程就是想要实现什么就写什么代码:但事实是,敲代码只是软件开发过程中很小的一部分,程序员的工作还包括安全分析.责任分析.产品验证.产品分析等. =========== ...
- snmp--CentOS安装Net-SNMP小计
http://blog.csdn.net/tmpbook/article/details/39620549
- BA--关于干节点和湿节点
干接点与湿接点知识 通俗定义:有干接点就有湿接点,是对于开关量而言的. 湿接点的定义是:有源开关:具有有电和无电的 2 种状态:2 个接点之间有极性,不能反 接: 常见湿接点 1.如果把以上的干接点信 ...
- 洛谷—— P1220 关路灯
https://www.luogu.org/problem/show?pid=1220 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住 ...
- Hibernate-原生SQL查询
HQL尽管容易使用,但是在一些复杂的数据操作上功能有限.特别是在实现复杂的报表统计与计算,以及多表连接查询上往往无能为力,这时可以使用SQL(Native SQL)实现HQL无法完成的任务. 1.使用 ...
- TeamTalk Android代码分析(业务流程篇)
TeamTalk Android代码分析(业务流程篇) 1.1 总体结构 1.总体结构有点类似MVC的感觉,模块结构从上向下大体是: UI层:Activity和Fragment构成,期间包括常用的一些 ...