欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~
作者:
导语: 本文讨论了CTR预估模型,包括工业界使用比较广的比较经典模型和学术界最新的结合DeepLearning的一些工作。
前言
谈到CTR,都多多少少有些了解,尤其在互联网广告这块,简而言之,就是给某个网络服务使用者推送一个广告,该广告被点击的概率,这个问题难度简单到街边算命随口告诉你今天适不适合娶亲、适不适合搬迁一样,也可以复杂到拿到各种诸如龟壳、铜钱等等家伙事,在沐浴更衣、净手煴香后,最后一通预测,发现完全扯淡,被人暴打一顿,更有甚者,在以前关系国家危亡、异或争国本这种情况时,也通常会算上一卦,国家的兴衰、。其实CTR和这个一样,以前经常和小伙伴吐槽,其实做机器学习、无论是推荐还是计算广告,都和以前的算命先生没什么差别,做的好的官至国师,不好的吃不了饱饭也是有的。要想把你CTR模型做的好好的,必须要先了解那些前辈们都是怎么玩的。
CTR架构
一个典型的CTR流程如下图所示:
如上图,主要包括两大部分:离线部分、在线部分,其中离线部分目标主要是训练出可用模型,而在线部分则考虑模型上线后,性能可能随时间而出现下降,弱出现这种情况,可选择使用Online-Learning来在线更新模型:
离线部分:
· 数据收集:主要收集和业务相关的数据,通常会有专门的同事在app位置进行埋点,拿到业务数据;
· 预处理:对埋点拿到的业务数据进行去脏去重;
· 构造数据集:经过预处理的业务数据,构造数据集,在切分训练、测试、验证集时应该合理根据业务逻辑来进行切分;
· 特征工程:对原始数据进行基本的特征处理,包括去除相关性大的特征,离散变量one-hot,连续特征离散化等等;
· 模型选择:选择合理的机器学习模型来完成相应工作,原则是先从简入深,先找到baseline,然后逐步优化;
· 超参选择:利用gridsearch、randomsearch或者hyperopt来进行超参选择,选择在离线数据集中性能最好的超参组合;
· 在线A/B Test: