背景
在LR模型时代,特征交叉一般依赖人工经验,存在以下几个缺点:
1. 依赖人工经验很难构建高阶交叉特征,一般只能构建二阶交叉特征
2. LR中构建的二阶交叉特征必须是这两个特征值一起在样本中出现过模型才能学的到,而在推荐系统中特征是非常稀疏,很多特征其实是没有共现过的
到了深度学习时代,DNN可以隐式的学习任意阶的特征交叉,似乎已经不再需要显式的特征交叉了,但是实践中DCN等特征交叉方法仍然取得了效果的提升,个人认为主要是以下几个原因导致的:
1. 三层的神经网络虽然理论能拟合任意分布,但是这是建立在宽度足够大、数据量足够多的情况下,而显式的特征交叉方法可以缩小假设空间,降低模型的拟合难度
2. DNN同层的元素之间只有加法能力,没有乘法能力,DCN等特征交叉方式引入了乘法能力
下面介绍一下推荐广告中常用的特征交叉方法
FM
FM是推荐系统用的最广泛的特征交叉方法了,FM的式子如下:
原始式子的时间复杂度是O(kn2),经过化简后时间复杂度是O(kn),其中k是embedding维度,n是特征数目
FM在推荐模型中实际使用时,其实就是两个特征对应embedding的点乘求和,并且为了减少计算量,不可能对任意两个embedding作交叉,一般是在item侧选取部分embedding作为一组,然后在user侧选取部分embedding作为另一组,先对组内embedding做pooling后再做交叉
FM的缺点是一般只能用与做二阶特征交叉,如果做高阶特征交叉,时间复杂度太高
DCN
DCN中用于特征交叉的部分叫Cross Net,一层Cross Net的结构可以用如下公式表示:
其中x0为输入embdding的拼接,xl为第l层Cross Net的输出
DCN特征交叉的阶数由Cross Net的层数决定,最后一层的输出包含了所有阶数的交叉
DCN的时间复杂度为O(ml2),其中m是Cross Net的层数,l是embedding维度和。在实践中,可以先计算xlTWl这样时间复杂度可以降到O(ml)
标签:DCN,常用,交叉,特征,复杂度,广告,embedding,Net From: https://www.cnblogs.com/xumaomao/p/17383000.html