IUG-CF论文精读

Neural collaborative filtering with ideal user group labels

(具有理想用户组标签的神经协同过滤)

论文地址:https://www.sciencedirect.com/science/article/pii/S0957417423023898

摘要:

       人口统计信息是推荐系统(RSs)的关键信息。大多数现有的基于人口统计的RSs关注用户肖像之间的相似性。然而,他们很少结合人口统计数据来描述一个项目,并建立项目和用户之间的联系。在本文中,我们提出了理想用户组(IUG)的概念,作为项目的动态标签。此标签根据其历史客户的人口统计数据指示最适合某项商品的用户。与一般标签(如类型或语言)不同,IUG是随着历史用户人口统计数据的分布而动态变化的,并且是基于经历分裂-组合过程的人口统计信息构建的。为了验证我们方法的有效性,我们提出了一个基于iug的神经协同过滤(IUG-CF)模型。在三个真实数据集上的实验结果表明,IUG是提高推荐性能的有效方法。

关键词:

协同过滤,人口统计信息,理想用户组,神经网络,推荐系统

传统的推荐系统:

基于内容的推荐系统(Content-based RS):

这种方法依据项目的内容特征来生成推荐。它假设用户会喜欢与他们过去喜欢的项目在内容上相似的项目。

例如,如果一个用户喜欢动作电影,基于内容的推荐系统会推荐其他动作电影给这个用户。

内容特征可能包括项目的描述、关键词、类别、导演、演员等。

基于人口统计信息的推荐系统(Demographic-based RS,简称 DRS):

这种方法使用用户的人口统计信息,如年龄、性别、职业、教育水平等,来预测用户的喜好。

它基于一个假设,即具有相似人口统计特征的用户可能有相似的偏好。

例如,年轻用户可能更喜欢流行音乐,而年长用户可能更倾向于古典音乐。

协同过滤(Collaborative Filtering,简称 CF):

协同过滤技术依据用户之间的相似性和项目之间的相似性来生成推荐。

用户基协同过滤发现与目标用户有相似喜好的其他用户,并推荐这些用户喜欢但目标用户尚未发现的项目。

项目基协同过滤则是寻找与用户过去喜欢的项目相似的项目,并推荐给用户。

协同过滤面临的一个主要问题是冷启动问题,即新用户或新项目缺乏足够的交互数据。

混合推荐系统(Hybrid RS):

混合推荐系统结合了以上提到的多种推荐技术,以提高推荐的准确性和覆盖范围。

它可以同时考虑用户的内容偏好、人口统计信息、以及其他用户的交互数据。

通过整合不同方法的优势,混合推荐系统能够提供更全面和个性化的推荐,同时减少单一方法可能带来的偏差和局限性。

IUG-CF

虽然年龄、性别和职业等人口统计信息有助于做出个性化的推荐,但重要的是要认识到,仅仅依靠人口统计信息可能导致有偏见的推荐,并使陈规定型观念长期存在。大多数现有的方法侧重于利用用户和项目标签之间的关系来进行预测。这种预测通常基于这样的假设:如果用户过去喜欢过带有类似标签的物品,那么他们很可能会喜欢当前的物品。相比之下,我们采用不同的方法,使用用户信息来描述项目。

传统方法vs我们的方法

在 (a) 中,电影通过类型(genre)、语言(language)和其他信息来描述。而在 (b) 中,电影被描述为最适合具有某些人口统计特征的用户组。这表明作者的方法侧重于使用用户信息来描述项目(如电影),并根据用户与理想用户组(IUG)的匹配程度来确定用户行为,而不是仅仅基于用户对项目的偏好。

IUG的动态构建

为了构建IUG,我们首先根据每个人口统计属性(如性别、职业等)分离用户组。接下来,我们根据历史评分记录计算每个组的平均评分,并使用贝叶斯平均来解决某些用户组成员较少但偏好较强的问题。然后,我们比较每个项目在不同人口统计数据中的受欢迎程度,并将该组对应的人口统计值与每个属性的最大平均评级相结合,以获得IUG的人口统计数据。我们强调IUG是“构建的”和“动态的”。

推荐流程示例

这张图是一个简化的示例,用于说明如何为用户生成个性化的推荐列表。

1.用户人口统计信息:系统首先考虑用户的人口统计信息,如年龄、性别、职业等。

2.构建理想用户组 (IUG):根据历史上与项目互动的用户群体的人口统计数据,构建一个理想的用户组,代表最适合推荐该项目的典型用户特征。

3.用户与 IUG 的匹配:系统将用户的人口统计特征与项目的 IUG 进行比较,以评估用户可能对该项目的偏好。

4.生成推荐列表:系统根据用户与各个项目 IUG 的匹配程度,计算出一个偏好分数,并基于这些分数为用户生成一个排序的推荐列表。

IUG-CF模型

IUG-CF 模型的流程可能包括以下几个关键步骤:

1.用户-项目交互数据:模型使用用户与项目的交互数据,如评分或观看记录,作为输入。

2.构建 IUGs:对于每个项目,基于历史用户数据中的人口统计信息,构建一个理想用户组(IUG),IUG 描述了最适合推荐该项目的用户群体特征。

构建 IUGs(理想用户组)
  1. 用户组的划分:基于每个人口统计属性(如性别、职业等),将用户分成不同的组。

  2. 计算平均评分:对每个组别,根据历史评分记录计算该项目的平均评分。

  3. 应用贝叶斯平均:为了解决某些用户组可能成员较少但偏好较强的问题,使用贝叶斯平均方法来调整平均评分,确保每个人口统计属性的评分更加公平和有代表性。

  4. 确定最受欢迎的人口统计属性:通过比较不同人口统计属性下项目的平均评分,找出对应于每个属性的最大平均评分对应的人口统计值。

  5. 构建 IUG:将这些最受欢迎的人口统计值组合起来,形成该项目的 IUG。IUG 代表了对该项目最感兴趣的理想用户群体的特征。

3.用户和项目的嵌入表示:使用嵌入技术将用户和项目映射到低维空间,以捕捉它们的特征和交互关系。

4.计算偏好分数:通过嵌入表示和神经网络,模型计算用户对项目的偏好分数。

计算偏好分数
  1. 嵌入技术:使用嵌入技术将用户和项目映射到低维空间中,以表示它们的特征。每个用户和项目的人口统计信息也被编码为嵌入向量。

  2. 元素级乘积和激活函数:对用户和 IUG 的嵌入向量执行元素级乘积,并通过 sigmoid 激活函数来累加结果,以模拟用户和 IUG 之间的潜在关系。

  3. 多层感知器(MLP):为了捕捉用户和项目之间的非线性交互,使用一个标准的 MLP 网络来学习它们之间的复杂关系。MLP 通过隐藏层中的 ReLU 激活函数和输出层的 sigmoid 函数来计算用户对项目的偏好分数。

  4. 调整偏好分数:通过计算用户与 IUG 之间的相似度(例如,使用曼哈顿距离),并根据相似度调整偏好分数,使得与 IUG 更匹配的用户获得更高的偏好分数。

  5. 损失函数和优化:定义一个损失函数,用于在训练过程中最小化模型预测的偏好分数与实际交互之间的差异。使用优化算法(如 Adam)来更新模型参数,以提高预测的准确性。

5.生成推荐列表:根据计算出的偏好分数,为每个用户生成个性化的推荐列表。

伪代码

  1. 初始化模型参数集合 𝛩: 这一步是算法开始之前进行的,确保所有的模型参数都被正确地设置为初始值,这些值可以是随机的,也可以是预先设定的。

  2. 循环遍历所有项目: 这一步意味着对数据集中的每个项目进行处理,以便为它们构建 IUG。

  3. 循环遍历项目的每个人口统计属性: 这一步是针对每个项目,遍历所有可能的人人口统计属性(例如性别、年龄、职业等)。

  4. 循环遍历属性的所有可能值: 这一步是针对每个属性,遍历该属性下所有可能的值(例如性别属性下的“男”和“女”)。

  5. 使用贝叶斯平均公式和给定的参数计算项目在属性值下的平均评分: 这一步通过贝叶斯平均来计算每个项目在特定人口统计属性值下的平均用户评分,这有助于处理数据稀疏性问题。

  6. 结束对属性值的循环: 这一步结束了对当前人口统计属性的所有值的遍历。

  7. 结束对人口统计属性的循环: 这一步结束了对项目的所有人口统计属性的遍历。

  8. 通过公式 (3) 到 (6) 来生成项目的 IUG: 在这些步骤中,计算每个属性的平均评分向量,并基于这些评分向量来识别最受欢迎的属性值集合,即 IUG。

  9. 结束对项目的循环: 这一步结束了对所有项目的遍历,此时所有项目的 IUG 都应该已经生成完毕。

  10. 创建一个包含所有项目 IUG 的集合 V′: 这一步创建了一个集合,其中包含了数据集中所有项目的 IUG。

  11. 开始训练循环,迭代 Epochs 次: 训练循环是模型学习过程中的核心,通常迭代一定的次数或直到模型收敛。

  12. 使用调整后的偏好分数公式(公式 7 到 10)和 IUG 集合 V′ 以及用户的人口统计信息来计算用户对项目的偏好分数: 这一步计算用户对每个项目的偏好分数,这是基于用户和项目的人口统计信息以及项目的 IUG。

  13. 使用正则化项公式(公式 14)和 IUG 集合 V′ 以及用户的人口统计信息 D 来计算用户的正则化项: 正则化项用于鼓励模型生成与 IUG 更接近的用户嵌入,提高推荐的准确性。

  14. 使用损失函数公式(公式 15)和计算出的偏好分数、正则化项以及学习率来计算损失: 损失函数衡量了模型预测的偏好分数与实际交互数据之间的差异,并通过正则化项来防止过拟合。

  15. 使用 Adam 优化器和学习率 𝜁 来更新模型参数,以最小化损失函数: Adam 优化器是一种流行的梯度下降算法,用于根据损失函数的梯度来更新模型参数。

  16. 结束训练循环: 这一步结束了模型的训练过程。

  17. 在训练完成后,返回模型的所有参数: 训练完成后,返回模型参数集合 𝛩,这些参数包含了模型的所有学习到的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社交媒体数据恢复:钉钉

在数字化办公日益普及的今天,钉钉作为一款综合性的企业级通讯工具,已经深入到众多企业和个人的工作与生活中。然而,在日常使用过程中,我们难免会遇到一些意外情况导致数据丢失的问题。本文将针对钉钉数据恢复这一主题,…

色彩空间转换在AI去衣技术中的应用与探索

在人工智能(AI)的广阔领域中,图像处理和计算机视觉技术一直占据着举足轻重的地位。其中,AI去衣技术作为一种新兴的图像处理技术,近年来受到了广泛关注。在AI去衣的实现过程中,色彩空间转换技术发挥着至关重…

文心一言 VS 讯飞星火 VS chatgpt (242)-- 算法导论17.4 1题

一、假定我们希望实现一个动态的开地址散列表。为什么我们需要当装载因子达到一个严格小于 1 的值 a 时就认为表满?简要描述如何为动态开地址散列表设计一个插入算法,使得每个插入操作的摊还代价的期望值为 O(1) 。为什么每个插入操作的实际代价的期望值…

文旅IP孵化打造抖音宣传推广运营策划方案

【干货资料持续更新,以防走丢】 文旅IP孵化打造抖音宣传推广运营策划方案 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑(完整资料包含以下内容) 目录 文旅IP抖音运营方案 1. 项目背景与目标 - 背景&#xff1a…

【无监督+自然语言】GPT,GPT-2,GPT-3 方法概述 (Generative Pre-Traning)

主要参考 【GPT,GPT-2,GPT-3 论文精读【李沐论文精读】-2022.03.04】 https://www.bilibili.com/video/BV1AF411b7xQ/ 大语言模型综述: http://t.csdnimg.cn/4obR4 发展节点 2017.06 Transformer: 所有大语言模型LLMs的基础结构 , Attent…

【六十二】【算法分析与设计】买苹果_牛客题霸_牛客网,牛牛爱博弈,829. 连续整数求和,对数器找规律法,博弈论2^k移动对3取余规律,取余的性质整除性

买苹果_牛客题霸_牛客网 描述 小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易…

2元4mm2高精度温度湿度传感器GXHTC3

温湿度传感器芯片GXHTC3 前言: 该温湿度传感器为国产,批量价格约2元,精度较高,DHT11该被淘汰了,这个才是传感器。 特点 超低功耗 宽工作电压范围(1.62 – 5.5 V) 小型 DFN 封装: 2 2 0.75 mm3 典型精度: 湿度 2 %R…

创新与乐趣的融合 —— 探索我们独家录音变音芯片在学舌玩具领域的应用

一:概述 学舌玩具,又称作复读玩具或模仿玩具,是一类设计用来录制人声并重复播放的互动式玩具。这类玩具以其能够模仿人类语音的特性而受到小朋友和宠物主人的喜爱。这些玩具通常具有以下特点和功能: 1. 录音和播放功能&#xff…

sc2024项目consul

1. 什么是consul HashiCorp Consul是一款服务网络解决方案,可让团队管理服务之间以及内部部署和多云环境及运行时的安全网络连接。consul提供服务发现、服务治理、流量管理和对网络基础设施设备的自动更新。(添加链接描述)Consul使用Go语言开发 2. 功能 多数据中…

Mysql基础(二)数据类型和约束

一 数据类型 讲解主要的数据类型,不面面俱到,后续遇到具体问题再查询补充扩展: 知识点的深度和广度以工作为导向 ① int float M : 表示显示宽度,M的取值范围是(0, 255)例如: int(5),当数据宽度小于5位的时候在数字前面需要用字符填满宽度说明&…

【Linux】对system V本地通信的内核级理解

一、system V版本的进程间通信技术 通过之前的学习,我们大致可以感受出来,共享内存,消息队列和信号量在使用的时候是有很多共性的。它们三个的接口,包括接口中传的参数有的都有很大的相似度。其实,共享内存&#xff…

05 JavaScript学习:语法

JavaScript 是一种动态类型的脚本语言,广泛用于网页开发和构建交互式网页。JavaScript 的语法相对简单,但功能强大,它可以在客户端执行,并与HTML和CSS一起构建交互式的网页。 JavaScript 字面量 在 JavaScript 中,字…

面试题集中营—GC日志简析及频繁GC的调优

如何查看GC日志 有两种方式查看GC日志&#xff0c;一种是动态命令行查看 jstat -gc <pid> 300 5 第二种就是在JVM参数中增加打印的参数&#xff0c;如下&#xff1a; -XX:PrintGCDetails -XX:PrintGCTimeStamps 表示打印每次GC的日志以及GC发生的时间 -Xloggc:gc.log …

IDEA 2024.1 配置 AspectJ环境

最近Java课设在学习AspectJ&#xff0c;做PPT顺便写一个博客 下载包 首先去AspectJ官网下载一个JAR包并安装 安装完最后可以按照他的建议配置一下 然后找到AspectJ的安装位置的lib目录&#xff0c;把三个包拷到自己项目中的lib目录下 由于最新版的IDEA已经不支持AspectJ了 所…

mysql基础1——数据存储

mysql数据存储 共有4步 1&#xff09;创建数据库 2)确认字段 3)创建数据表 4)插入数据 1&#xff09;创建数据库 从系统架构看mysql数据库系统依次是数据库服务器&#xff0c;数据库&#xff0c;数据表和数据表的行与列 安装程序-->安装了数据库服务器 所有要做的第…

OpenHarmony开发实例:【 待办事项TodoList】

简介 TodoList应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用&#xff1b;应用主要功能是以列表的形式&#xff0c;展示需要完成的日程&#xff1b;通过本demo可以学习到 JS UI 框架List使用&#xff1b; 运行效果 样例…

前端三剑客 HTML+CSS+JavaScript ③ HTML标准结构

生活没有任何意义&#xff0c;这就是活着的理由&#xff0c;而且是唯一的理由 —— 24.4.22 一、HTML注释 1.特点 注释的内容会被浏览器所忽略&#xff0c;不会呈现到页面中&#xff0c;但源代码中依然可见 2.作用 对代码进行解释和说明 3.写法 <!-- xxxxx --> <html&…

上位机图像处理和嵌入式模块部署(树莓派4b使用pcl点云库)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 图像处理&#xff0c;大家都知道它有显著的优点和缺点。优点就是分辨率高&#xff0c;信息丰富。缺点就是&#xff0c;整个图像本身没有深度信息。…

高效可扩展,使用Dask进行大数据分析

大家好&#xff0c;Dask技术作为并行计算领域的创新力量&#xff0c;正在重塑大数据的处理模式。这项开源项目为Python语言带来了强大的并行计算能力&#xff0c;突破了传统数据处理在扩展性和性能上的瓶颈。 本文将介绍Dask的发展历程、架构设计&#xff0c;并分析其在大数据…

Nacos服务注册中心

1.引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>2.application.properties中配置 # 应用名称 spring.application.namenacos-aserver…