【推荐算法】推荐系统中的特征工程

前言:这篇文章是阅读石塔西《互联网大厂推荐算法实战》第二章推荐系统中的特征工程的学习笔记,在未来对于特征向量的学习笔记会在此基础上进行补充 。编者认为特征工程已经过时的言论是错误的,该言论认为DNN模型可以自主的完成对数据特征的提取,但是在Deep Cross Network网络中,作者直接指出仅采用DNN模型是无法实现对二阶、三阶的特征进行交互的;并且虽然在DIN、SIM模型中可以从数据中挖掘用户的短期兴趣和长期兴趣,是因为模型足够复杂,需要通过复杂的计算才能提取这些兴趣特征。因此,一个好的特征工程在深度学习快速发展的环境还是必要的。

⭕ 表示笔者待学习部分

  • 基本概念:

Field:相当于是特征的集合,例如,特征为视频类别特征中,有【体育、音乐、戏剧】三个类,视频类别就被称为一个Field

Feature:体育、音乐、戏剧均为视频类别的特征。


文章目录

物料画像

ItemID

在传统的识别任务中,物品的ID往往被认为是无效特征,因为ID是随机的,无法对识别、预测等任务提供有效的信息。但在推荐算法中,虽然本身也没具体含义,但是模型可以通过历史数据,对物品ID进行学习,记住物品ID与用户特征的信号关系。

静态画像

无需通过与用户交互的数据即可获得的特征,一般通过BERT/CLIP 对原始图像、标题等信息特征提取。一般分析得到的信息不是一个具体的值,例如在一个新闻推荐中,有【体育、音乐、戏剧】三类,分析后的结果并不是【体育】一个单一结果,而是各个feature的概率【0.9, 0.1, 0.1】

💡 一般来说,标签空间肯定不止三个,可能有十几万个,因此,需要有基于内容的Embedding,一般维度为32、64.

动态画像

一种后验统计数据,是通过用户与物料的交互信息提取的特征,一般通过两个维度刻画:

  • 时间:全生命周期、过去一周、一天、一小时...
  • 对象:例如点击率、转化率、点赞率、平均播放进度...

弊端】存在幸存者偏差、不利于冷门物品和新物料的冷启

用户画像

UserID

提供了用户侧最个性化的特征

静态画像(用户基本信息)

笔者认为这些基本信息(年龄、位置)对推荐算法的作用不大,对于老用户,他们的行为数据已经可以发挥巨大的作用,而利用老用户的基本信息来预测新用户的兴趣物品的效果是不明显的。

动态画像

从用户的历史行为数据提取他们的兴趣爱好,这个过程能反映用户的兴趣变化

  • 实现方法

① 简单方法:通过历史行为数据的Item 多个Embedding池化得到用户向量;

② ⭕DIN,SIM通过在池化中加入attention机制,根据候选物料的不同,从相同的行为数据中提取得到不同用户的兴趣;

  • 弊端

方法虽然简单,直接利用用户行为数据即可完成对用户的动态画像描述,但用户的动态画像和CTR建模是合为一体的,在线上完成才能实时的捕捉用户的兴趣。而DIN,SIM模型需要更强大的计算效率,++无法满足对于历史更久远的用户行为序列以及实时性的需求,也无法应用于召回和粗排中++。

  • 解决方法

对用户的动态画像和CTR建模解耦,对提取兴趣的工作从线上转移到线下,在大数据平台下进行用户兴趣的提取,并存入数据库中,用户只需要根据ID查询

【优点】++适合召回、粗排阶段++、耗时低;

交叉特征

笛卡尔内积

直接对两个Field的每个特征进行两两组合,【体育、音乐、戏剧】和【男、女】两两组合,可以得到【体育+男、音乐+男、戏剧+男、...】共六祖新特征

交叉内积

通过一个用户动态画像的兴趣ID和物料ID进行内积,可以反应用户和物料的匹配程度

偏差特征

点击特征解释:用户点击了不一定是喜欢的,没点击不一定是不喜欢的,这种现象称为"偏差"。

  • 位置偏差

【原因】:对于用户喜欢的物品,虽然已经曝光给用户了,但是用户还未刷到该物品,导致模型误认为用户"不喜欢"该物品而导致的偏差;

【解决】:① Aboveclick,只有在点击物品上方的曝光物品才会被用于负样本,因为这些物品已经进入用户的视野; ② 在训练时,利用曝光位置对点击率等指标进行学习,而在预测时,屏蔽曝光位置的干扰,将曝光特征设置为0

  • 视频"年龄"偏差

【原因】:发布较早的物品可能会有更多的点击、点赞等

【解决】:⭕ Youtube在训练时将视频年龄作为偏差特征,预测时统一设置为0

  • 其他消除偏差思路

​ CTR在预测时没有考虑到位置偏差,从而导致较差位置的优秀作品的点击率也较低,因此,采用CoEC 代替CTR衡量物料的受欢迎程度,将展示位置也作为特征,计算公式如下:
C o E C = ∑ i = 1 N c i ∑ i = 1 N e c i CoEC=\frac{\sum_{i=1}^N c_i}{\sum_{i=1}^N ec_i} CoEC=∑i=1Neci∑i=1Nci

相关推荐
葫三生25 分钟前
如何评价《论三生原理》在科技界的地位?
人工智能·算法·机器学习·数学建模·量子计算
m0_751336391 小时前
突破性进展:超短等离子体脉冲实现单电子量子干涉,为飞行量子比特奠定基础
人工智能·深度学习·量子计算·材料科学·光子器件·光子学·无线电电子
拓端研究室2 小时前
视频讲解:门槛效应模型Threshold Effect分析数字金融指数与消费结构数据
前端·算法
随缘而动,随遇而安5 小时前
第八十八篇 大数据中的递归算法:从俄罗斯套娃到分布式计算的奇妙之旅
大数据·数据结构·算法
美狐美颜sdk5 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
DeepSeek-大模型系统教程5 小时前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
郭庆汝5 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
IT古董5 小时前
【第二章:机器学习与神经网络概述】03.类算法理论与实践-(3)决策树分类器
神经网络·算法·机器学习
小雷FansUnion7 小时前
深入理解MCP架构:智能服务编排、上下文管理与动态路由实战
人工智能·架构·大模型·mcp
资讯分享周7 小时前
扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
人工智能·powerpoint