-->

AI内参_89_085_LinkedIn的广告点击率预估模型

你好,我是洪亮杰。

今天我和你分享的主题是领英的广告点击率预估模型。

上一篇文章,我们讲了雅虎的广告预估模型。

雅虎早期的模型主要集中在如何利用两轮架构来对点击率进行精确建模。

后期的建模回归到了比较传统的利用线性模型外加特性哈希来进行大规模点击率预估的模式。

今天我们继续来做公司的案例分析,结合论文laser在线广告的可扩展响应预测平台来了解领英这家公司是怎么来做最基本的广告预估的。

我们首先来看一看领英的广告预估模型。

这个模型的一大卖点就是直接充分考虑了冷启动和热启动两种模式。

那么什么是冷启动?什么又是热启动呢?从我们之前的分享中可以看出,很多点击率预估的模型都强烈依赖于对用户过去信息以及对广告过去表现的建模。

比如刚刚讲过的雅虎预估模型,在他早期的模式中就已经见到了这种信息的作用。

然而,当我们出现新用户或者新广告时,就会有冷启动的问题。

也就是说,冷启动主要是针对新用户或者新广告而言的,这时候基于历史信息的特性都无法起作用了。

一般来说,需要有专门的处理。

相对于冷启动,热启动,指的是我们已经掌握了用户或者广告的一定信息,然后利用这些历史信息来对点击率进行预测。

这么说来,我们一般需要有两套对策,一套针对冷启动,一套针对热启动领英的方法,就是希望通过一个模型来同时解决这两个问题。

这么来说,领英把对点击率的预估拆成了三个部分。

第一部分是利用用户广告和上下文所建立的全局性预测。

什么意思呢?就是我们利用用户特性、广告特性以及上下文特性来对点击率进行预测。

这部分的核心思路就是这些特性所对应的系数是全局性的。

也就是说,对于不同的用户,不同的广告以及不同的上下文所对应的系数是相同的,因为是全局性的系数。

因此,这部分其实提供了一种冷启动的需求,也就是不管是任何新的用户或是广告,只要有一定的特性,我们总能通过这部分得到一种粗略的估计。

第二部分是利用第一部分的用户广告和上下文信息组成交叉特性,从而学习这些特性之间的关系。

如果说第一部分直接就是线性的预测,那么第二部分其实就是交叉项形成的非线性的部分。

我们之前在讲推荐系统的时候,提到过分解机这个模型讲到过这种交叉项所带来的非线性预测的好处。

虽然这里和分解机的构成不完全一样,但是整体上表达了相似的意思。

第三部分是领英模型提出来的独特之处,也就是和其他公司模型不太一样的地方,那就是同样是利用用户广告和上下文特性。

但是领英所提模型的系数则是每个用户广告和上下文都不同。

作者们认为,这可以实现热启动效果。

也就是说,当某个用户,某个广告或者某个上下文已经有比较多的数据以后,就可以依靠这些用户广告或者上下文自己的系数了。

而不仅仅依靠第一部分的全局系数,这个第三部分只有当数据比较多的时候才能够起作用。

这个模型在增加了这些系数的先验概率信息之后,变得相对比较复杂。

这篇论文介绍了一系列的模型训练思路,都是不错的、可以借鉴的。

工业界经验。

首先,作者们认为,刚才模型中所说的三个部分所需要的模型更新频率是不一样的。

比如第一部分和第二部分都可以认为是全局模型,也就是说系数是全局性的。

因此,这些模型的变化会比较慢。

作者们建议一个星期对模型进行一次更新,而第三部分则是在已经积累了历史信息后慢慢呈现出的效果,因此对于数据会非常敏感,而且每个用户和每个广告都是不同的系数,因此需要在短时间内比如半小时甚至几分钟内就重新训练模型,以达到个性化的目的。

其次,作者们还把提出的模型和意义策略结合了起来。

我们在讲推荐系统时介绍过意义的思路。

简单回顾一下意义的目的,主要就是探索那些并没有太多机会被展示的物品在这里也就是广告。

我们刚才说了,所有的系数都加上先验概率,因此其实可以很容易结合数据计算后验概率分布。

有了后验概率分布,作者们提出了以汤姆森采样为主的意义模式,这也可以算是论文提出模型的一大亮点。

最后我们提一下这个模型的训练算法。

因为要在大规模的数据上对模型进行训练。

这篇文章采用了一种ADMM算法。

在文章提出来的时候,作者们还是希望能够利用单个服务器对所有的模型参数进行训练。

和其他的算法相比,一般认为ADMM这种算法的收敛速度更快,但是利用这种算法的其他公司并不太多。

今天我为你介绍的领英广告点击率预估的核心算法,一起来回顾一下要点。

第一,我们讲了领英把点击率预估分为三个部分,从而分别解决冷启动和热启动的思路。

第二,我们聊了如何更加有效的对这个提出的模型进行训练学习。

最后给你留一个思考题,回顾我们讲过的推荐系统模块,我们还介绍过什么方法可以结合冷启动和热启动呢?欢迎你给我留言,和我一起讨论。