【推荐系统学习笔记】-- 2、特征工程

news2024/11/23 12:23:25

1、可利用的特征

1.1 用户行为特征

  • 显性反馈行为:点赞、评分、评价等
  • 隐形反馈行为:点击、浏览、播放、加入购物车等

1.2 用户关系数据

  • 显性:关注、好友关系
  • 隐形:点赞、共同观影
  • 使用Graph Embedding生成用户和物品的Embedding

1.3 属性、标签类数据

推荐系统中另外一大类特征来源是属性、标签类数据,这里我把属性类数据(Attribute Data)和标签类数据(Label Data)归为一组进行讨论,是因为它们本质上都是直接描述用户或者物品的特征。属性和标签的主体可以是用户,也可以是物品

用户特征、物品特征,然后通过Multi-hot或GNN(Graph Neural Network),使特征数值化

1.4 内容类数据

内容类数据(Content Data)可以看作属性标签型特征的延伸,同样是描述物品或用户的数据,但相比标签类特征,内容类数据往往是大段的描述型文字、图片,甚至视频。

同样通过One-hot或者GNN变成Embedding

1.5 场景信息(上下文信息)

最后一大类是场景信息,或称为上下文信息(Context Information),它是描述推荐行为产生的场景的信息。最常用的上下文信息是“时间”和通过 GPS、IP 地址获得的“地点”信息。

2、特征数值化 – 传统方法

  • 类别特征:one-hot、multi-hot
  • 数值型特征:归一化、分桶

3、特征数值化 – Embedding技术

3.1 从word2vec到item2vec

从NLP中,对文字向量化的思想中得到启发,对物品向量化。以前简单总结了一下词向量技术:word2vec等词向量简述

Word2vec
在这里插入图片描述
思路:根据上下文实现对单词的Embedding,采用3层结构,图中hidden即是词的Embedding

方式有两种:

  • CBOW:通过上下文预测单词,Input是目标词上下文的Multi-hot,连接全连接层到Hidden,再连接softmax到output,output是One-hot表示的目标词
  • Skip-gram:与CBOW相反,Input是目标词,Output是上下文的Multi-hot

两个优化学习方法:

  • 多层Softmax:由于样本不均衡,采用多层sigmoid的方式学习
  • 负采样:上下文有2N个正样本,根据单词的出现频率,采样2N个负样本进行学习

item2vec
与Word2vec的原理完成一致,把用户的浏览、购买、观看序列,传入word2vec模型,就形成物品等Embedding

3.2 Graph Embedding

单纯的用item2vec没有考虑到结构信息,仅仅考虑到了序列的前后关联。

  • DeepWalk:将item的前后连成图,在图上随机游走采样,形成序列,在传入item2vec
  • Node2vec:DeepWalk采用完全随机游走的采样方式,没有考虑到图的同质性和结构性,Node2vec采用带有权重的随机游走方式,兼顾到了这两方面的:
    • 同质性: 倾向于向远处游走,考虑图的全貌,加大DFS的权重
    • 结构性:倾向于在附近游走,考虑图的附近结构,加大BFS的权重

Graph Embedding应用

Graph Embedding的应用有三种形式:

  • 直接应用:利用相似的item embedding推荐物品
  • 预训练:预训练物品的Embedding,传入模型作为土整
  • 端到端:把物品的Embedding训练加入到模型中

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

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

相关文章

[附源码]Python计算机毕业设计SSM基于web的托育园管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

蓝牙遥控小车基础篇

开发环境: STM32F103R8T6最小系统板(IO顺序引出) 3D建模蓝牙遥控小车STL 蓝牙遥控小车纯HAL库代码 TP-Bluetooth-Car.apk蓝牙apk 原理:(写代码前必须要知道模块的参数) 蓝牙模块HC-05使用指南 HC-05蓝…

C++入门——函数重载

C入门——函数重载与缺省 先说说什么是缺省 大家生活中都知道什么关于缺省这个词的例子吗? 肯定是一头雾水,没事我举一个例子,给大家解释一下。 假如小菜是一个舔狗,他天天跟女神买早餐、嘘寒问暖。可是女神还是天天不为所动&am…

基于LabVIEW单片机的抢答器的设计

实训题目:基于LabVIEW单片机的抢答器的设计 1 系统设计 1.1 设计要求 1.1.1 设计任务 设计一个基于LABVIEW的6人抢答器,实现抢答器的基本功能。 1.1.2 性能指标要求 需要自己设计电路并焊接电路板。基本要求:有一个主持人控制开关和…

【华为机试真题详解】投篮大赛【2022 Q4 | 100分】

文章目录 前言题目描述示例 1题目解析参考代码前言 《华为机试真题详解 Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优)…

WeOps上新啦 | WeOpsV3.13网络设备监控全新改造,支持拓展不同品牌型号

本次WeOpsV3.13版本更新主题总结为: 优化网络设备监控,支持拓展不同品牌和型号的设备监控新增3D立体应用全景大屏,全方位展示应用和监控情况新增事件订阅,支持资产的到期提醒监控告警/IT服务台等模块持续更新,简化操作…

基于Android的太原市景点推荐系统的设计与实现

毕业设计 基于Android的太原市景点 推荐系统的设计与实现 1.课题意义及目标 随着人们生活水平的提高,外出旅游已经成了人们放松休闲的主要活动之一。现在移动端设备已是人们必备,最重要的是携带方便,基于Android的太原市景点推…

数图互通公用房基础数据管理与维护

公用房情况信息化,包括公用房位置、面积参数等,可便捷维护,并提供查询统计;实现二级单位对分配公用房的管理,可便捷维护,并提供查询统计;实现公用房使用人,对使用公用房的管理&#…

C++ Reference: Standard C++ Library reference: Containers: list: list: clear

C官网参考链接&#xff1a;https://cplusplus.com/reference/list/list/clear/ 公有成员函数 <list> std::list::clear C98 void clear(); C11 void clear() noexcept;清除内容 从list容器中删除所有元素&#xff08;已销毁&#xff09;&#xff0c;并将容器的size保留为…

设计模式-外观模式

前言 在聊外观模式之前&#xff0c;我们先来聊聊体检过程。一般体检过程就是我们根据网上预定得日期空腹去体检中心。根据预定得项目&#xff0c;有一般检查、内科、外科、眼科、彩超、心电图、血常规、尿常规等等项目。 而我们往往第一次去是不知道这些房间是在哪里的&#…

XenServer7.6安装教程

XenServer7.6安装安装步骤其他XenServer 7.0 系统 yum 出错解决办法XenServer其他部署问题安装步骤 进入系统启动界面 > 按回车&#xff0c;等待加载&#xff1a; 1、键盘布局选择 > 选择us&#xff1a; 2、欢迎界面 > 选择ok&#xff1a; 3、用户协议 > 选…

【大数据入门核心技术-Flume】(三)使用Flume采集数据到HDFS

目录 一、准备工作 1、Hadoop环境安装 2、Flume安装部署 二、采集数据到HDFS 1、配置任务文件 2、启动传输 3、查看是否同步成功 三、常见问题 1、运行flume-ng agent时报错com.google.common.base.Preconditions.checkArgument 2、ERR: File name has been re-used w…

tomcat配置https

tomcat配置前提需要开放需要配置端口&#xff0c;尤其是云服务器需要单独去提供商控制面板放行好再进行配置HTTPS&#xff0c;常见配置的端口&#xff1a;443、8443&#xff0c;另外配置过程如果项目正常运行&#xff0c;建议备份一份配置文件。 tomcat配置https步骤 一、我们…

EEMD(集合经验模态分解)

1. EEMD(集合经验模态分解)的概念 EEMD(Ensemble Empirical Mode Decomposition)是最常见的一种EMD改进方法。他的优势主要是解决EMD方法中的模态混叠现象。 说到模态混叠,顾名思义就是不同模态的信号混叠在一起,一般有两种情况:一是不同特征尺度的信号在一个IMF分量中…

更多自有品牌创新好物,尽在2023深圳国际自有品牌展暨新消品展

受整体环境的影响&#xff0c;以及内容购物、兴趣电商、O2O、团长等新消费方式崛起&#xff0c;传统商场、大卖场等实体零售市场发展呈下滑趋势。让零售行业可以重拾信心&#xff0c;迫切需要寻找新的业绩突破形式。这些年自有品牌&#xff0c;被越来越多的国内零售商所关注&am…

BL101助力于采集光伏电流电压

能源危机在世界范围内愈演愈烈&#xff0c; 俄乌冲突后&#xff0c;美国加大对俄罗斯能源的制裁力度&#xff0c;禁止从俄罗斯进口能源&#xff0c;也想办法让其欧洲盟友对俄罗斯进行抵制。导致油价高企&#xff0c;天然气价格也是一路飙升。各国都在发展新能源&#xff0c;风电…

【工具】JS脚本|网页任意视频倍速播放(包括MOOC、本地视频、其他的视频)

只要浏览器播放视频时用的是<video>&#xff0c;而且当前页面只有这一个视频&#xff0c;就可以用这个脚本。 刚好也是世界杯 CSDN 博客的活动了&#xff0c;虽然对活动没什么兴趣但是还是写一句和活动相关的话吧——世界杯为什么要看直播呢&#xff01;不如一起来倍速观…

ssm+Vue计算机毕业设计校园洗衣机预约系统(程序+LW文档)

ssmVue计算机毕业设计校园洗衣机预约系统&#xff08;程序LW文档&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

Linux内存查看通用方法(二): kernel空间

接上文&#xff1a; Linux内存查看通用方法&#xff08;一&#xff09;&#xff1a; user空间_红桃Jk的博客-CSDN博客_linux内存查看在嵌入式linux上&#xff0c;统计内存情况的一般方法https://blog.csdn.net/qq_34597963/article/details/126023451?spm1001.2014.3001.5501…

用 CSS 从零写一个时间轴效果

时间轴效果介绍 在前端开发中&#xff0c;我们会遇到一些场景特别适合用时间轴来展示&#xff0c;例如下面按照日期时间来记录发生的事件&#xff1a; 还可以做成下面这种比较流行的左右对称卡片风格的时间轴&#xff1a; 如果再稍加装饰&#xff0c;还能有更加高大上的效果&a…