图数据库平台-TigerGraph完成1.05亿美元C轮融资,老虎基金领投
06-18
|简介特征对于机器学习至关重要。在大多数机器学习任务中,特征复杂度决定了算法效果的上限。
本文主要分享特征工程的一般方法论以及腾讯视频短视频场景的特征实践工作。主要内容包括短视频排序特征、特征工程方法论、特征在机制中的应用。
1、短视频排序特征 腾讯视频短视频场景中用到的特征主要包括:视频和CP特征、用户特征、因果特征、会话特征。 1.1.视频特征 视频特征主要包括视频ID、标签、统计特征、视频作者、视频作者ID、视频作者标签等。
ID类特征是点击率预测模型中非常重要的特征,主要负责提供模型的记忆能力。但同时,ID类型的特征不利于提高模型的泛化性,也不利于新的视频预测。
因此,在训练模型时,我们可以随机复制一些样本,并将这些样本的ID设置为默认值进行训练。估计时,使用默认值填充新的视频ID特征。
视频的统计特征也非常重要。例如,视频的点击率(CTR)可以是模型的预测值或用作特征。
视频的点击次数(Click)除以曝光量(Impression)。 ),用r表示点击率r=C/I。
但在实际操作中,会遇到两个问题: 1、新视频点击率的计算:对于新视频,它的曝光度为0,点击量也为0。此时,视频的CTR应该为被设置为 0 或分配一个初始值。
? 2、不同视频点击率对比:有两个视频A/B,点击率分别为ra=1/10,rb=/,ra=rb,但视频A只有10次曝光,而视频B 有曝光。这样的比较合理吗?第一个问题是,初始值设置为0是可以的,但是不合理。
意味着视频根本没有点击,这不符合常理。通常,给出大于 0 的初始值。
第二个问题不合理。人们普遍认为,曝光次数越少的视频权重应该越低。
平滑技术可以用来解决以上两个问题。最简单的办法就是在计算CTR的公式的分子和分母上加上一个数字,r=(C+a)/(I+b),公式中的a、b如何确定?这两个数字可以手动设置,但如果设置不合理,数据会被放大。
一种方法是利用历史数据计算统计显着性的a和b,即贝叶斯平滑。平滑的思想是为CTR预设一个经验初始值,然后根据当前的点击量和曝光度来修正这个初始值。
如果某个产品的点击量和曝光量都为0,则该产品的CTR为经验初始值;如果产品A和产品B的曝光度差别很大,可以通过这个经验初值进行修正,使曝光度大的商品权重增加。贝叶斯平滑是确定该经验值的过程。
贝叶斯平滑基于贝叶斯统计推断,因此计算经验值的过程取决于数据的分布。具体计算方法这里不再讨论。
由于视频数据分为两个层次:视频作者-->视频,所以平滑时可以按照层次关系进行平滑。核心思想是同一视频作者的点击率服从贝塔分布,同一视频的点击率服从贝塔分布。
因此,参数a/b是针对不同的视频作者计算的。当遇到新视频时,利用视频作者来修正点击率比从单一维度进行平滑要好。
对视频作者也更加友好。如果历史业绩好,未来业绩也很可能会好。
1.2.用户特征 用户侧特征主要包括用户ID、年龄、性别、应用列表特征、用户画像等。新??用户ID的处理与新视频ID的处理类似。
这里我们主要介绍用户画像特征,它是基于贝叶斯的用户画像计算和用户真实兴趣的定义:1.3。因果特征小视频推荐系统的结构简单来说就是召回->排序->机制的结构;回忆辅助信息对于排序也很重要,可以加强回忆和排序之间的因果推论关系。
这部分特征主要包括触发器及其流行度、点击状态、点击时间等描述召回原因的特征。 1.4.会话特征 会话特征通常表示用户最近一段时间内消费过的视频列表,例如用户最近 2 天内点击过的单个视频。
视频列表、视频边信息、统计数据等。更简单的做法是先对每个特征做embedding,然后再做sum pooling。
另外,还可以为序列制作一个Transformer,这样可以更好地捕捉用户历史行为序列中每个视频的关联特征。同时,还可以添加待预测视频,提取行为序列中的视频和待推荐视频。
之间的相关性。1.5. IOS/Android特征分析发现,双端分发效果、视频时长、离线评分顺序差异较大。
iOS上的分发效果远高于Android上。离线测试结果如下图。
对于相同的用户、相同的视频,只是 os 特性不同,得到的 pctr 和 pcvr 也不同。当os特性是Android时,估计会更高,而且顺序关系也不同。
因此在线实验中,os特征统一填写为ios。在线ab实验结果是:每人平均持续时间增加了3点,而每人平均vv保持不变。
IOSAndroidi7lmzr4rank 分数:0.20 pctr:0.03_pcvr:0.08rank 分数:0.6pctr:0.95_pcvr:0.31s9d0dqurank 分数:0.89pctr:0.99_pcvr:0.98rank 分数:0.56pctr:0.72_pcvr:0.39ndtnc08rank 分数:0。 73pctr:0.95_pcvr: 0 .rank Score: 0.41pctr:0.44_pcvr:0.53rrolbi2rank Score: 0.1 pctr:0._pcvr:0.62rank Score: 0.09 pctr:0.14_pcvr:0.. 部分特征效果展示 离线auc对比,横坐标为不同时间段,纵坐标是auc,蓝线是基线,橙线是实验线上每人平均时间的比较。
它们是基线桶、实验桶和扩展桶。可以看到扩容后各项指标的提升还是比较明显的。
2. 特征方法论 2.1 数据质量(清洗、覆盖、分布比例) 考虑到生产数据可能包含以下噪声,必须保证数据质量。 2.1.1 数据清洗:数据清洗的目标是去除脏数据,需要去除异常值、填充缺失值等。
2.1.2 覆盖率:覆盖率是衡量某个特征是否可用的重要指标。如果覆盖率太低,即存在大量默认值,则基本可以确定该特征不会产生积极的效果。
2.1.3 特征分布:feature 分布是根据每个特征的值的数量、值的比例以及该值对应的点击率。如果某个特征某个值对应的比例过大,或者该值对应的点击率误差不同,则基本可以判定该特征不会产生积极的效果。
2.2 特征对于处理不同类型的数据需要不同的处理方法。 2.2.1 数值特征: a) 归一化:为了消除数值特征之间维度的影响,需要对特征进行归一化,使得不同特征具有可比性。
常用的归一化方法包括: 线性函数归一化(Min-Max缩放),对原始数据进行线性变换,使结果映射到[0,1]区间,实现对原始特征的缩放。归一化公式:x = {x - min(x)} / {max(x) - mini(x)}。
零均值归一化(Z-Score Normalization)将原始特征映射为均值为0、方差为1的分布。一般要求原始特征近似服从高斯分布。
假设原始特征的均值为u,标准差为t,则归一化公式为:x = (x - u)/t。 b) 离散化:例如用户偏好特征、用户近一段时间对不同类型视频的曝光和互动次数应该能够更好地反映用户近一段时间的偏好。
然而,曝光和交互数据是连续特征,具有很大的价值空间。如果不进行处理,这些功能可能不会发挥很大的作用。
离散化可以将这些连续特征分割成若干个离散特征;同时,我们认为特征的重要性在不同区间是不同的。对于连续特征,特征的默认重要性与特征有线性关系,但往往是非线性的。
因此,我们希望连续特征在不同区间具有不同的权重。实现这一点的方法是将特征划分为区间,每个区间都是一个新特征。
此外,离散化特征还具有良好的鲁棒性和稳定性,便于快速迭代和扩展。根据是否使用标签,离散化可以分为有监督方法和无监督方法。
有监督离散化方法分为基于错误率、基于熵值或基于统计信息的离散化方法。比较常见的有等频、等宽、聚类离散等。
此类解决方案实施起来相对简单。遵循的一般原则是(1)要保证每个框内的点击率不同,并且每个框的点击率必须不同。
物体之间的 pv 分布应该大致均匀。然而,这种解决方案的问题是它不适合分布不均匀的数据。
等频和等宽都不能很好地反映“尖锐”的数据。除非进行人工干预,否则集群本身对于此类问题的性能也很差。
它不稳定。经常会发生部分“尖点”数据被划分为平坦分布的数据,导致最终的分箱结果不具有代表性。
c) 特征变换:对于连续特征,还可以进行特征变换,以增加特征的表达能力,如对特征进行maht.round、math.log、二次方、平方根等。 2.2.2 类别特征 a) ont-hot/multi-hot 编码。
One-hot编码可以说是最常用的处理特征的方法。通常用于处理类别之间没有大小关系的特征。
使用one-hot编码时,需要注意以下问题: (1)使用稀疏向量来节省空间。在one-hot编码下,特征向量只有一维的值为1,其他位置的值都是0,因此特征向量可以采用稀疏表示,有效节省空间,目前大多数算法都接受以稀疏向量的形式输入。
(2)配合特征选择降维。当类别值较多时,可以使用Multi-hot编码。
特征向量在某些维度上值为1,在其他位置上值为0。 b) Embedding表达式,将每个特征初始化为n维向量,将其连接起来,然后输入到MLP中,同时进行端到端学习。
2.2.3 时间型特征 时间型特征既可以视为数值特征,也可以视为类别特征。 a) 可用作数字类型的特征包括:视频时长、观看时长、间隔时间 b) 可用作分类类型的特征包括:一年中的月份、一周中的某一天、一天中的时间等。
2.2. 4 交叉特征:LR时代,为了帮助模型学习更多的非线性和特征之间的关系,尝试了更多的特征交叉操作,主要包括用户侧特征和项目侧特征的交叉以及上下文侧特征的交叉。 。
对于深度学习模型来说,由于模型本身可以学习交叉信息,因此对特征交叉的需求并不算太大。然而,显式特征交叉可以帮助模型捕获特征之间的关系。
交叉方法可以选择笛卡尔积或哈达玛积等。在短视频场景中,特征交叉不会带来正收益,也没有负收益。
3.特征在机制中的应用传统的排名预测模型只考虑对,并没有考虑项目之间的相互影响作为推荐列表。 Rerank作为距离用户最近的一层,利用传统Rank模型的输出作为输入,强化物品之间的关系以及物品与用户之间的关系,进行一次排序。
它是一种考虑推荐视频之间的关系和影响的方法。排序模式。
对于不同的用户,列表中的项目分布应该有较大差异,并且要保证推荐的多样性和不重复性。 3.1 多样性控制 在推荐系统中,多样性控制非常重要,很大程度上影响用户体验。
如何以合理的多样性分散候选视频,以达到用户体验多样性的目的并保持长期效益是一个非常重要的问题。目前采用子模块方式,使用的特征包括类别1、类别2、标签、cp等。
3.2 Title/Cover Duplication 用户一般不喜欢观看重复的视频。如何对候选视频进行重复过滤也是一个非常重要的问题。
我们目前使用的过滤方法是标题重复过滤和封面重复过滤。使用的功能包括标题嵌入和封面嵌入。
在线计算用户历史消费vid和候选vid的cos,判断是否相似。 4.总结 特征工程其实并没有什么专门的理论。
这是一项比较基础但又很重要的工作。需要对业务有深入的了解,需要针对不同的问题重新开始。
它过于依赖人类的经验和判断。因此,自动特征工程就显得尤为重要。
自动特征工程是一种在日志中自动创建候选特征并选择最佳特征进行模型训练的方法。这部分稍后会介绍。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-17
06-18
06-18
06-06
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用