https://cloud.tencent.com/developer/user/5469577 腾讯智能钛 AI 开发者 https://cloud.tencent.com/developer/user/5469577
发表于腾讯智能钛 AI 开发者 https://cloud.tencent.com/developer/column/77238
155
广告关闭
11.11 智慧上云
云服务器企业新用户优先购, 享双 11 同等价格
立即抢购
本文原作者: 彭江军, 经授权后发布.
导语:
模型是机器学习三问里面的怎么去学的环节. 是确定特征与因变量之间关系最为核心的步骤. 这部分涉及到模型的选择, 和优化目标以及损失函数的选取. 排序由第一节讲到, LTR 有三个模式, 分别是 pointwise, pairwise,listwise. 在这里主要描述一下采用的模型 Lightgbm 模型. 在后面我们将看到选择什么样的决策函数 (优化目标) 就会带来什么的效果. 最后基于对于整个数据业务和模型的理解, 实现了在 listwise 的模型下 CTR 和转化率各 0.6 的提升; 在 pointwise 的模型下, 实现转化率 3 个点的提升
1:Lightgbm 简介
关于 Lightgbm 和 Xgboost, 两者的关系可以认为 Lightgbm 是 Xgboost 的一个轻量版, 训练过程更快, 对内存的消耗更小. 这里贴上 1 篇博文, 方便大家查找, 细致的了解其预测的原理.
简短概括来说, 其实现的主要的模型是 GBDT, 是基于树模型的集成学习模型. GBDT 的算法流程可以参加下面的链接, https://zhuanlan.zhihu.com/p/29765582 , 里面包含一些公式的推导, 不想了解其推导公式可以不用点击去. 因为下面我会用简短的语言和图像来描述算法的思想.
GDBT 依赖于树模型.
树模型我们可以简单将其它看成许多 IF-THEN 规则的集合, 如下图所示: 可以根据样本特征的分裂将该样本预测成众多叶子节点中的一个值.
GBDT 在树模型的基础上, 基于预测的残差做了多轮的迭代. 简单来说就是, 在第一颗 CART 预测的基础上, 对第一题预测的误差在去第 2 棵树中进行预测, 如此重复. 直到达到停止条件, 于是 GBDT 的预测就是 N 个棵树预测的结果的加和.
2: 项目实践
项目的背景和建模可以看第三节: 搜索排序 -- 机器学习化建模
在部分, 将展示基于三种不同的优化目标下的结果.
当我们选定纯点击为优化问题的, 我们的优化目标就唯一确定为以用户的点击为优化目标, 此时选择为二分类的 lightgbm 模型. 二分类的 pointwise 的模型, 记为 click_point_model.
当我们选定纯长点击为优化问题的, 我们的优化目标就唯一确定为以用户的长点击为优化目标(长点击可以理解为用户点击并观看的时长满足到一定的条件), 此时选择二分类的 lightgbm 模型. 二分类的 pointwise 的模型, 记为 longclick_point_model.
当我们选定同时优化点击和长点击的时候, 我们将 label 设置为 0-3 个类别. Label 的设置参照下表:
采用 lightgbm 模型下的 lambdamart, 记为 listwise_model. 这里之所以没有采用多分类, 有两个原因, 1: 类别的分别实际是很不均匀的. 2: 想比准确的预测每个 label 而言, 我们更关注他们之间的顺序关系. 基于此, 最后选了 listwise 的 model.
Label 的分布如下图所示:
在多个指标中, 挑选出最有代表性的几个指标, 最终的结果整理展示如下所示:
其中的长转化率 1 是经过一些处理后的值, 主要是为了对标腾讯视频的竞品的数值, 参照竞品的设计来设计的. 具体会是哪个竞品了, 不说.
配上几张趋势图:
分桶的 CTR 趋势图
分桶的长转化趋势图:
由此可见, 选择好自己想要优化的目标, 确定决策函数一件非常重要的事情, 它决定了模型优化学习的方向.
另外利用 Lightgbm 还可以得到特征的重要性分布, 如下图反映了长点击的训练得到的树模型权重重要性分布:
我们这里实际上做的是一个精排的工作, 里面用到比较多的 feature 实际上已经做过一些处理, 不是最原始的特征了, 比如说 pctr 这个维度的特征的得到, 就是基于一个有上亿级别的特征的 DNN 网络得到(很多稀疏的 embedding 特征), 在此就不做展开了.
这个图反应在集成学习的树模型之中各个特征的重要性程度. 特征的重要性分析记得在前面的特征分析那一节里面讲过, 选择不同的类别, 基于信息熵得到 JS 散度也会得到一个权重的重要性数值.
来源: https://www.qcloud.com/developer/article/1533656