【烂笔头系列】小红书推荐系统学习笔记03-特征交叉
posted @ 折腾侠 2025/2/9 分类:推荐系统
推荐系统
FM
线性模型
设有d个特征,记为:X=[x1,x2,...,xd],则线性模型的表达式为:
p=b+i=1∑dwi⋅xi
其中,b为偏置,总共d+1个模型参数。p是预测结果,也就是特征和权重参数的加权和。因为没有乘法操作,所以特征之间没有交叉。
线性模型+二阶交叉
p=b+i=1∑dwi⋅xi+i=1∑dj=i+1∑duij⋅xi⋅xj
其中,wi是为每个特征分配一个权重参数,而uij则是为每一组交叉特征分配一个权重参数,那么其参数量则为O(d2)。若特征比较多,则参数量会非常多。
优化思路:把uij这个方阵近似用两个向量内积表示,即U≈V⋅VT。参数量从O(d2)→O(kd)。

这就是FM。
DCN
交叉层


交叉网络(Cross Network)

X1=X0∘(W0∗X0+b0)+X0X2=X0∘(W1∗X1+b1)+X1X3=X0∘(W2∗X2+b2)+X2
深度交叉网络(DCN)

DCN既可以用于召回,也可以用于排序。
双塔模型中的用户塔和物品塔都可以是DCN。
多目标中的Shared Bottoms和MMoE中的专家网络也可以是DCN。
LHUC
LHUC - 2016起源于语音识别,只能用于精排。快手将其用于推荐精排,称为PPNet。
LHUC应用于推荐系统

快手PPNet结构

SENet
特征内加权

上图是SENet结构图,其中输入的m个离散特征的Embedding向量长度可以不同。
SENet的本质是对离散特征的filed-wise加权。
特征间加权



FiBiNet模型

参考文献
公开课地址:GitHub