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 ...
- IOS - NSDate 自己挖的坑,自己跳
NSDate:5是坑啊啊! NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDat ...
- BZOJ 3110 [ZJOI2013]K大数查询 (整体二分+线段树)
和dynamic rankings这道题的思想一样 只不过是把树状数组换成线段树区间修改,求第$K$大的而不是第$K$小的 这道题还有负数,需要离散 #include <vector> # ...
- 朴素贝叶斯(Naive Bayesian)
简介 Naive Bayesian算法 也叫朴素贝叶斯算法(或者称为傻瓜式贝叶斯分类) 朴素(傻瓜):特征条件独立假设 贝叶斯:基于贝叶斯定理 这个算法确实十分朴素(傻瓜),属于监督学习,它是一个常用 ...
- 使用maven创建springMVC时返回页面报错
这是由于你的 Maven 编译级别是 jdk1.5 或以下,而你导入了 jdk1.6 以上的依赖包 解决办法: <build> <finalName></finalNam ...
- 【AIM Tech Round 5 (rated, Div. 1 + Div. 2) 总结】【题解往前或往后翻,不在这】
又是爆炸的一场 心态有点小崩.但问题不大.. 看A题,一直担心有多个正方形..小心翼翼地看完之后,毅然地交上去了. [00:08] A[Accpted] 然后开始看B题. 觉得和之前做的某题很像,但翻 ...
- JAVA基础总结【面试】
前言 近间陆续面试了不少的求职的前(JAVA).后(WEB)端开发人员,包括实习生.应届毕业生.一两年工作经验的.也有三四年工作经验的,也算见过了比较多的开发人员,想在这里做个总结,本次主要讲一讲面试 ...
- MYSQL数据的安装、配置
linux安装mysql服务分两种安装方法: 1.源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错. 2.使用官方编译好的二进制文件安装,优点是安装 ...
- 全球级的分布式数据库 Google Spanner原理
开发四年只会写业务代码,分布式高并发都不会还做程序员?->>> Google Spanner简介 Spanner 是Google的全球级的分布式数据库 (Globally-Di ...
- java web项目发生异常依然能运行
由于JavaWeb应用业务逻辑的复杂性,容易发生一些意想不到的错误和异常,给系统的调试带来不必要的麻烦,不友好的提示信息使编程者对错误和异常无从下手.特别是当发生异常时,Java异常栈输出的信息只能给 ...