| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> User和item特征笔记 -> 正文阅读 |
|
[人工智能]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个桶之间(需要根据数值进行分位数分析) ,分桶的话会更方便特征交叉,可以获取更多信息。
课上讲到的一个案例 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 的跨境电商实战比赛 ? 案例? 用户:用户标识、用户国籍 商品:商品标识、店铺、品类、价格 场景:点击时间、访问排序、购买标记 根据零售行业的人货场概念,赛题提供了关于用户行为日志的常见字段可分为如下部分: ? ? ?用户画像 ?????????用户活跃度 ?????????用户品类偏好 ?????????用户店铺偏好 商品画像 ?????????商品销量 ?????????商品转化率 ?????????商品热度 ?行为明细 ?????????用户点击次数 ?????????用户点击频率 业务知识 ??????????商品上架时间 ?????????促销节点 ?????????复购产品 ? ? 鸣谢与参考 : 七月在线 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:43:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |