AkiraZheng's Time.

推广搜6:传统推荐模型之阿里LS-PLM模型

Word count: 676Reading time: 2 min
2025/01/03

LS-PLM

非线性化分割

LS-PLM模型也称为MLR(混合逻辑回归),它的结构类似于三层神经网络(三层神经网络包含的隐藏层具有非线性变换的能力,通常通过激活函数实现),他的输入层是样本的特征向量,中间层是由m个神经元组成的隐层(m是模型的分片数量,通过控制m来控制分片数,防止过拟合)

传统的LR线性模型只能对样本进行线性分割,而LS-PLM在深度学习到来之前,已经将线性模型提升为非线性模型,实现了模型端到端的非线性学习能力。

其中的非线性化主要是通过softmax函数(也就是\(\pi_i(x)\))将特征切分到m个不同的空间,并由LR部分(也就是\(\eta_i(x)\))对m个空间的特征进行线性学习来实现的。

其中随着m的增长,需要的样本数也增加,阿里推荐的值为\(m=12\)

最终的预估函数\(f(x)\)为:

\[f(x) = \sum_{i=1}^{m} \pi_i(x) \cdot \eta_i(x)=\sum_{i=1}^{m} \frac{e^{\eta_i(x)}}{\sum_{j=1}^{m} e^{\eta_j(x)}}\cdot \frac{1}{1+e^{-w_i\cdot x}}\]

所以实际上,LS-PLM模型也可以看做是一个三层的神经网络模型

  • 第一层:输入层,也指样本的特征向量
  • 第二层:隐层,通过两个激活函数相乘实现非线性化,实现了Embedding操作
    • 其中第一个激活函数实现聚类,包含m个神经元
      • 聚类的原因:不同的人群具有聚类特性,同一类人群具有类似的广告点击偏好
    • 第二个激活函数实现LR分类,包含m个神经元
    • 隐藏层输出为m维切片
  • 第三层:输出层,包含单一神经元

如下图所示,LR不能拟合非线性数据,MLR可以拟合非线性数据(m=4,实现4切片)

解决稀疏性问题:代价函数加入正则化

LS-PLM主要是通过\(L_1\)\(L_{2,1}\)正则化来做到这件事情。其中 \(L_{2,1}\)用于实现特征筛选,\(L_1\)则用于得到尽可能多的稀疏解。

目标损失函数为:

此时由于\(L_1\)\(L_2\)正则化函数都是非平滑的,所以损失函数是非凸函数(不止一个极值点),所以可能求得的结果是局部最优解而非全局最优解。

参考:

经典推荐算法学习(四)| 阿里LS-PLM(MLR)模型原理解析

(读论文)推荐系统之ctr预估-MLR(LS-PLM)模型解析

CATALOG
  1. LS-PLM
    1. 非线性化分割
    2. 解决稀疏性问题:代价函数加入正则化