广告算法

广告CTR算法简介

2020-10-28  本文已影响0人  海虎情缘

一、CTR预估的数据特点

1.输入中包含类别型和连续型数据。类别型数据需要one-hot,连续型数据可以先离散化再one-hot,也可以直接保留原值

2.维度非常高

3.数据非常稀疏

4.特征一般可以按Field分组

5.  样本量一般都非常大,模型指标也相对非常稳定

二、CTR预估的核心点

1.核心点在于学习组合特征,包括二阶、三阶和更高阶,越高阶越不容易学习;

2.Google论文指出,低阶特征和高阶特征都很重要,且组合在一起效果更好;

3.如何提取组合特征

(1)人工特征;

(2)模型支持特征交叉;

三、CTR预估的模型演进历史

1.线性模型:LR、FTRL

取得了很好的效果,就算是目前应用也非常广泛;

缺点:1)无法提取高阶组合特征;2)样本中没有出现过的特征组合无法提取;

2.FM模型

通过隐向量做内积来表示特征组合,理论上解决了特征组合问题,但是受限于计算,一般只考虑2阶交叉;

3.FFM模型

在FM的基础上,提出Field的概念,每个特征会针对其他特征的每个field学习一个隐变量Vi,而不是FM中一个特征的隐变量是固定的;

4.深度学习

(1)最基本的DNN

(2)相继提出了使用CNN或RNN来做CTR预估的模型。但是,CNN模型的缺点是:偏向于学习相邻特征的组合特征。 RNN模型的缺点是:比较适用于有序列(时序)关系的数据。

(3)FNN:两阶段训练,先预训练得到FM的隐向量,然后隐向量作为DNN的输入;

         FNN缺点:

         a. Embedding的参数受FM的影响,不一定准确,且第二阶段会对预训练结果造成偏移;

         b. 预训练阶段增加了计算复杂度,训练效率低;

         c. FNN只能学习到高阶的组合特征。模型中没有对低阶特征建模。

(4)PNN:在embedding层和first hidden layer之间,增加了一个product layer;根据product layer使用内积、外积、混合分别衍生出IPNN, OPNN, PNN*三种类型。

         PNN缺点:

         a. 内积外积计算复杂度高。采用近似计算的方法外积没有内积稳定;

         b. product layer的输出需要与第一个隐藏层全连接,导致计算复杂度居高不下;

         c. 和FNN一样,只能学习到高阶的特征组合。没有对于1阶和2阶特征进行建模。

5)Wide & Deep模型,混合了一个线性模型和一个Deep模型,解决低阶特征组合问题,Wide部分,仍然依赖人工特征工程;

         Wide&Deep缺点:需要人工特征工程

(6)DeepFM:

    A) 不需要预训练FM得到隐向量;

    B) 不需要人工特征工程;

    C) 能同时学习低阶和高阶的组合特征;

    D) FM模块和Deep模块共享Feature Embedding部分,可以更快的训练,以及更精确的训练学习;

上一篇 下一篇

猜你喜欢

热点阅读