what is
点击率预估指,预测一个用户对候选集目标的点击率, 进而决定对用户展示哪一个目标。
why
在推荐、搜索、计算广告中, 这都是处于枢纽位置的核心角色, 堪称重中之重。
点击率、转化率、回访率直接决定了网站的收入、粘度, 反映了其长期和短期的健康状况。
how
点击率预估的典型场景是预估用户对一个目标(商品、广告、搜索结果)的点击率, 以推荐为例我们讲述下常见的处理方式。
step
一个标准的机器学习点击率预估模型包含如下步骤:
- 用户特征矩阵构建
- 商品特征矩阵构建
- 训练数据、训练目标构建
feature
用户的特征数据主要包含:
- demographics信息 :性别、年龄、职业、宝宝年龄、地域
- 历史行为信息:用户对目标商品对应的品牌、类目、店铺以及商品本身的行为数据
- 商品信息:
- 所属的店铺、品牌、类目
- 销量、收藏量、加购量、购买周期
- 趋势
- 性别比例、年龄比例、地域比例
特征基本通过以上交叉组合、一阶函数、二阶函数产出。
训练数据以曝光数据额采集为主, 在曝光数据有偏的情况下可以采用预测曝光的技术增加训练数据量。
model
点击率预估主流以ltr模型为主, 比如lambdamart、ranksvm、pairwise-lr等。
这个比较好理解, 我们并不是真的要知道点击率是多少, 而是在候选集中选出用户最有可能点击的那一个,所以一个排序模型远比lr或者gbdt来的有效。
考虑到数据规模, 因为id特征的引入轻松能将特征提升到百亿-千亿的量级, 所以基于参数服务器架构的模型有天然的优势。
pairwise的模型比较常见的问题是数据规模, 因为正负样本组合的量级比较恐怖, 有效的做法是将正样本和最正的负样本组对。
label
虽然是点击率预估, 其实还是包含了用户的一个兴趣的潜在含义。
因此我们可以通过丰富的行为组件ltr模型的label, 例如:购买>加购>收藏>点击>不点击。
系统
业界比较通行的在线学习的算法是ftrl, 考虑到运算速度和存储数据的平衡, 一般采用用户、商品矩阵离线构建, 交互特征在线运算的方式。
用户、商品的特征矩阵存放在一个kv存储中,而交互特征通过计算的方式解决。
summary
以上是点击率预估step by step的一份说明, 但是其中包含的江湖野技巧和黑科技才是大家最津津乐道的部分。