逻辑回归LR、POLY2、FM、FFM
- 1.逻辑回归LR
- 2.辛普森悖论
- 3.POLY2
- 4.FM-2010
- 5.FFM
- 6.GBDT+LR-2014
- 7.LS-PLM-2017
《深度学习/推荐系统》读书笔记
1.逻辑回归LR
Logistic Regression – 融合多种特征,通过sigmoid 函数,预测样本的被点击的概率。样本用特征向量x=[x1,x2,...,xn]x=[x_1,x_2,...,x_n]x=[x1,x2,...,xn]表示,n为不同特征的数量。
f(z)=11+e−zf(z)=\frac{1}{1+e^{-z}}f(z)=1+e−z1
z=w0+∑i=1nwixi(1)z=w_0+\sum_{i=1}^nw_ix_i\tag{1}z=w0+i=1∑nwixi(1)
(每个特征如何编码[性别,年龄,身高],这里应该默认每一维度就是一个特征吧,而不是每个特征one-hot 编码的拼接。)
CTR-Click Through Rate
- 将用户的年龄、性别、物品属性、描述、时间、地点等特征数值化成特征向量
- 确定罗辑回归模型的优化目标(点击率模型就是最大似然函数),训练模型权重参数
- 推断阶段,输入特征向量,得到某个用户对物品点击的概率
- 对物品点击概率进行排序后推荐。
记样本被点击的概率为P(y=1∣x,w)=fw(x)P(y=1|x,w)=f_w(x)P(y=1∣x,w)=fw(x),
样本不被点击的概率为P(y=0∣x,w)=1−fw(x)P(y=0|x,w)=1-f_w(x)P(y=0∣x,w)=1−fw(x)
那么样本被点击的概率分布为:P(y∣x,w)=[fw(x)]y[1−fw(x)]1−yP(y|x,w)=[f_w(x)]^y[1-f_w(x)]^{1-y}P(y∣x,w)=[fw(x)]y[1−fw(x)]1−y
最大似然估计的目标函数为:
L(w)=∏i=1mP(y∣xi,w)L(w)=\prod_{i=1}^mP(y|x^i,w)L(w)=i=1∏mP(y∣xi,w)
逻辑回归模型做推荐的优势
- 点击率与罗辑回归模型的数据假设一直,都是伯努利分布
- 可解释性强,逻辑回归模型是广义的线性回归模型,能够通过特性向量各个维度权重的大小来反映各个维度的作用
- 模型简单,易于并行,训练开销小
逻辑回归的局限性:无法进行特征交叉组成高维特征
后续的POLY2,FM,FFM 用于CTR预测时,都可以看作在LR目标函数的基础上,研究不同的特征组合方式。训练参数的方法都与上述LR中的最大似然一致。
2.辛普森悖论
在对样本进行分组研究时,在分组比较中占优势的一方,在总评中有时反而是失势的一方。
demo:按性别分组后的数据,男女都是推荐视屏B;但是将所有的数据合并在一起后,却得出推荐视频A的结论。
获取特征非线性组合的一个常用方法和核方法(核方法计算量大,内存需求大)
3.POLY2
Degree-2 Polynomial Margin–度为2多项式特征
考虑所有二阶特征组合方式,并且为所有的二阶特征构建可学习参数。
z=w0+∑i=1nwixi+∑i=1n−1∑j=i+1nwi,jxixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^nw_{i,j}x_ix_jz=w0+i=1∑nwixi+i=1∑n−1j=i+1∑nwi,jxixj
相比于原始LR的式子(1),新增组合特征n(n−1)2\frac{n(n-1)}{2}2n(n−1)
缺点:
- 参数数量指数增加,极大增加了训练的复杂度
- 数据稀疏特征使得大部分交叉特征权重缺乏有效训练数据,无法收敛。
4.FM-2010
Factorization Machine–因子分解机(原来因子分解机本身是一个可以展开研究的内容,本博文注重FM特征组合方式,)
2010年提出,2012-2014年,成为业内主流的推荐模型之一。原文–《Fast Context-aware Recommendations with Factorization Machines》
FM为每个特征学习一个隐权重向量(latent vector), 在做特征交叉时,使用两个特征隐权重向量的内积作为交叉特征的曲子权重(权重向量的学习,后续补上好吧)
z=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<wj1,wj2>xixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<w_{j_1},w_{j_2}>x_ix_jz=w0+i=1∑nwixi+i=1∑n−1j=i+1∑n<wj1,wj2>xixj
优点:
- 把权重参数的数量从Poly2的n2n^2n2降到的knknkn(k为特征向量的维度)
- 能够很好的解决数据稀疏问题,隐向量的学习不仅依赖某个稀疏特征。
5.FFM
Field-aware Factorization Machine
不同特征在组合时,隐向量的作用域应该不同;也就是说不同的特征不止一个隐权重向量。
z=w0+∑i=1nwixi+∑i=1n−1∑j=i+1n<wj1,f2,wj2,f1>xixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<w_{j_1,f_2},w_{j_2,f_1}>x_ix_jz=w0+i=1∑nwixi+i=1∑n−1j=i+1∑n<wj1,f2,wj2,f1>xixj
适用于离散特征聚合,连续特征最好使用FM 。
参考博文:CTR预估传统模型
6.GBDT+LR-2014
2014-Facebook 提出利用GBDT自动进行特征筛选和组合,进而形成新的离散特征向量,将该特征向量当作LR模型的输入。
用GBDT构建特工程和利用LR预估CTR这两步是独立训练的,不存在将LR的梯度回传到GBDT的复杂问题。
GBDT-梯度上升决策树。每棵树都是一棵标准的回归树生成过程,其目标是上一棵树的预测值D(x)D(x)D(x)与样本标签f(x)f(x)f(x)之间的残差:
R(x)=f(x)−D(x)R(x)=f(x)-D(x)R(x)=f(x)−D(x)
每棵树每个节点分裂是一个自然的特征选择的过程,多层结点结构则对特征进行了有效的自动组合。(没法产生新的特征)
每个样本转换成特征向量的方式很巧妙–样本落入的叶子结点为1,没有落入的结点为0,构成一个类似于one-hot编码的向量,把所有子树编码向量串在一起,构成了该样本的特征向量。
迷惑点1:GBDT模型的训练过程没有实验过,特征分裂与一般回归树一样么?残差有什么用呢?
迷惑点2:样本特征转换,最终特征向量与原始特征的关联不是很强了,可解释性减弱。
7.LS-PLM-2017
2017年-阿里巴巴公布大规模分段线性模型(Large Scale Piece-wise Linear Model)。其实早在2012年他就成为了阿里巴巴主流的推荐模型。
LS-PLM 又被称作混合罗辑回归(Mixed Logistic Regression),先对样本进行分片(聚类操作?),在样本分片中应用罗辑回归。
灵感来源很重要:女性受众点击女装广告的CTR,显然不希望把男性用户点击数码产品的样本数据也考虑进来。
某个样本被点击的概率为分片加权平均:
f(x)=∑i=1mπi(x)ηi(x)=∑i=1meμix∑j=1meμjx11+e−wixf(x)=\sum_{i=1}^m\pi_i(x)\eta_i(x)=\sum_{i=1}^m\frac{e^{\mu_ix}}{\sum_{j=1}^me^{\mu_jx}}\frac{1}{1+e^{-w_ix}}f(x)=i=1∑mπi(x)ηi(x)=i=1∑m∑j=1meμjxeμix1+e−wix1
其中m为分片数。μi\mu_iμi和wiw_iwi的学习同时进行么? 阿里巴巴给出m的经验值12最佳。LS-PLM适用于工业级推荐、广告等大规模稀疏数据场景。
主要优点:
- 端到端非线性学习能力
- 模型系数性强
LS-PLM可以看作加入了注意力机制的三层神经网络:输入层为样本特征,隐藏层为m个以sigmoid为激活函数的神经元,输出层为单个神经元。