本文是对七月在线推荐课程王老师讲的关于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 的跨境电商实战比赛 案例
用户:用户标识、用户国籍
商品:商品标识、店铺、品类、价格
场景:点击时间、访问排序、购买标记
根据零售行业的人货场概念,赛题提供了关于用户行为日志的常见字段可分为如下部分:
用户画像
•用户活跃度
•用户品类偏好
•用户店铺偏好
商品画像
•商品销量
•商品转化率
•商品热度
行为明细
•用户点击次数
•用户点击频率
业务知识
• 商品上架时间
•促销节点
•复购产品
鸣谢与参考 :
七月在线