User和item特征笔记

本文是对七月在线推荐课程王老师讲的关于user 和item特征的一个简单随堂笔记。 本文主要围绕关于连续型和离散化特征、用户画像的特征、embedding特征、特征选择和特征降维来展开。 

连续和离散化特征

⊚ 为什么会有这个区分?

        ⊚ 离散特征和连续特征的特点

        ⊚ 离散和连续的相互转化

连续值是有大小上的意义的。等距的离散化的分桶,当桶分的过大时,会导致桶底和桶尾的值没有大小区分了,所以分桶的桶距不适合分的太大。另外还有等频的离散化分桶 

怎么进行特征离散化?

分桶: 

一般有手动分桶和自动分桶两种方法.

⊚ 手动分桶: 统计每个组的情况

⊚ 自动分桶: GBDT+LR

先在样本集上训练一个 GBDT 的树模型, 然后使用这个树模型 对特征进行编码, 将原始特征 𝑥 对应的叶子节点按照 01 编码, 作 为新的特征, 叠加到 LR 模型里再训练一个 LR 模型.

为什么这样做是有效的?

因为 GBDT 是在函数空间对残差进行连续的逼近, 精度很高,

但是容易过拟合; 在进行裁剪后, 利用叶子节点编码, 有效的把 连续特征离散化, 因此适合 LR.

2004 年Facebook 在论文 Practical Lessons from Predicting Clicks on Ads at Facebook 中提出的 GBDT + LR 模型给出了一个可行的解决方案。

        •GBDT构建特征,LR预估CTR

        •深度决定特征交叉阶数(深度不能太深,否则容易过拟合,一般设置5-7)

        •特征工程模型化,模型的输入可以是原始的特征向量,实现端到端训练。

 

对于送给FM,连续型特征通常会进行分桶,

点评赞类的统计型连续型特征送给deepFM ,尤其是FM 侧,一般会需要进行分桶,(当然也可以进行不分桶的对比尝试) ,分桶大小一般可以设置为100-300个桶之间(需要根据数值进行分位数分析) ,分桶的话会更方便特征交叉,可以获取更多信息。

  • 等距分桶可以考虑以10 取log ,。todo 这个待细查等频等距分桶(连续型特征离散化) ,此外考虑平滑操作。todo 待查  分桶的优缺点

课上讲到的一个案例 ctr是log之后,乘上一个100,再向下取整 。

 

用户画像想到的特征:

背景: 广告比赛 

如何捕捉到真正有用的用户特征, 其实是和业务以及建模问题强相关的.

交叉特征:  

交叉方式: 类别+类别; 类别+连续,连续+连续

业务组合:用户侧+商品侧,用户侧+用户侧,商品侧+商品侧

(交叉组合需要考虑性能)

 

Embedding 特征: 

OneHot 无法考虑到不同维度的关系. embedding是可以表达这类信息的,如word2vec embedding后,

        ⊚ 如国王-男 = 女王-女 

        ⊚ 如 1 和 2 都是数字

Embedding 是一个将离散变量转为连续向量表示的一个方式, 

        ⊚ 从数学上看, 是映射

        ⊚ 从神经网络的角度看, 是层与层之间的矩阵

        ⊚ 从特征的角度看, 是从一套特征映射到另一种表示方式

从神经网络的角度看 FM

𝑦 = 𝜎(< 𝑤, 𝑥 > + < 𝑊 · 𝑥, 𝑊 · 𝑥 >)

        ⊚ FM 首先是对离散特征进行嵌入, 也叫做 embedding,

        ⊚ 之后通过对嵌入后的稠密向量进行内积来进行二阶特征组合

        ⊚ 最后和线性部分结合

Wide and Deep 

Wide and Deep 由谷歌提出, 采用神经网络联合训练的思路, 对 神经网络进行并联.

 ⊚ Deep 部分是 MLP, 而且是 dense 特征的 MLP.

⊚ Wide 部分是直接的 LR.

⊚ 如果 Wide 部分采用了 FM, 就变成了 DeepFM.

优点: 

⊚ 分开学习 wide 和 deep 部分

⊚ 同时获得 记忆性 和 泛华性 的信息

⊚ 模型简单效果好, 易于扩展

FM本质上可以理解为SVD +LR 

键值存储(Key-Value Memory)的神经模型 -实现浮点数到向量的映射   

老师说其所在部门未来会用这种方式去替换分桶的做法? todo 待细查这个。

 

” 记忆性就是浅层的、显示的特征表达” 

怎么得到Embedding

⊚ 使用 word2vec 预训练, node2vec

⊚ 使用 FM 预训练

⊚ 深度学习的 supervised learning

推荐系统中主要目的:

⊚ 在 embedding 空间中查找最近邻,这可以很好的用于根据用户的兴趣来进行推荐。

⊚ 作为监督性学习任务的输入

特征工程: 

对于不同模型,特征的预处理方式会有不同

对于线性模型 

⊚ 二阶交叉和高阶交叉

⊚ 单变量的非线性变换

⊚ 特征预处理和归一化 (梯度)

特征工程: 预处理 

离群点处理: 1) 当作缺失值进行处理 2) 删掉离群点所在样本 3) 使用统计值进行填充

缺失值处理:  

 

特征选择 

特征重要性的评估一般是用树模型,比如按 信息增益做个排名,增加了特征后再看离线auc、gauc 的一个效果

特征重要性实际筛选工作。

选取部分数据做评估, 有千分位的波动一般特征都可以保留下来。 

特征覆盖率分析(一般有10% 就可以用了,这个也要结合区分度,如果区分度很高,覆盖率阈值可以降低,区分度不高,覆盖率阈值可以去提升。对于覆盖率低的需要考虑进行如何进行填充值) +  信息增益比分析  + xgboost 

 特征降维  :

⊚ PCA

⊚ SVD

⊚ LDA

比赛中常用到

其他:

2019 的跨境电商实战比赛   案例 

用户:用户标识、用户国籍

商品:商品标识、店铺、品类、价格

场景:点击时间、访问排序、购买标记

根据零售行业的人货场概念,赛题提供了关于用户行为日志的常见字段可分为如下部分:

 

 

 用户画像

        •用户活跃度

        •用户品类偏好

        •用户店铺偏好

商品画像

        •商品销量

        •商品转化率

        •商品热度

 行为明细

        •用户点击次数

        •用户点击频率

业务知识

        • 商品上架时间

        •促销节点

        •复购产品

 

 

鸣谢与参考 :

七月在线

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值