深度学习推荐系统 学习笔记--Chapter 2.2

章节2

总共包含两篇博文:
深度学习推荐系统 学习笔记–Chapter 2.1
深度学习推荐系统 学习笔记–Chapter 2.2
本文是其中一篇


逻辑回归模型的表达能力不够强大,会造成信息的损失,无法做很灵活的特征交叉。因此诞生了FM模型家族,加入了大量的特征交叉思想。

因子分解机(Factorization Machine, FM)是由Steffen Rendle提出的一种基于矩阵分解思想的机器学习算法,FM的提出是为了解决大规模稀疏数据中的特征组合问题。
深度学习推荐系统 学习笔记--Chapter 2.2_第1张图片

POLY2模型

P O L Y 2 = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n w h ( j 1 , j 2 ) x j 1 x j 2 POLY2 = \sum^n_{j1=1}\sum^n_{j2=j1+1} w_{h(j1,j2)}x_{j1}x_{j2} POLY2=j1=1nj2=j1+1nwh(j1,j2)xj1xj2

POLY2模型对所有的特征组合都赋予一个单独的权重 w h ( j 1 , j 2 ) w_{h(j1,j2)} wh(j1,j2),但在处理互联网数据时候,输入数据很大程度是one-hot类型,因而特征向量会变得非常交叉,导致大部分交叉特征的权重缺乏数据训练,无法收敛。
并且,这样也增大了训练的复杂度,因为权重参数数目巨大。

FM模型

深度学习推荐系统 学习笔记--Chapter 2.2_第2张图片
深度学习推荐系统 学习笔记--Chapter 2.2_第3张图片

FFM模型

在FM的基础上,加入了特征域感知的概念。
F F M ( w , x ) = ∑ j 1 = 1 n ∑ j 2 = j 1 + 1 n ( w j 1 , f 2 ∗ w j 2 , f 1 ) x j 1 x j 2 FFM(w,x) = \sum_{j1=1}^n \sum^n_{j2=j1+1} (w_{j1,f2} * w_{j2,f1})x_{j1}x_{j2} FFM(w,x)=j1=1nj2=j1+1n(wj1,f2wj2,f1)xj1xj2

f1,f2是不同的特征域。此时每个特征所对应的隐向量不再是 R n R^n Rn,而是 R n ∗ f R^{n*f} Rnf

FMM的复杂度已经上升到 k n 2 kn^2 kn2,但同时模型的表达能力也变强了。所以在工程化的时候,需要在模型效果和算力消耗上做出取舍。

GBDT+LR

FFM确实提高了模型的特征交叉能力,但是计算量巨大。GBDT+LR能够做到在计算量可控的情况下,做到特征组合和筛选。

GBDT用于构建特征工程,LR用于预估CTR。

GBDT基本机构是由决策树组成的树木,学习的方式为梯度提升。GBDT通过逐步生成决策子树的方式生成整个树林,生成新子树的方法为,利用样本标签与当前预测值之间的残差,构建新的子树。

每棵树生成的过程为标准的回归树生成过程,单棵树中节点的分裂是一次自然的特征选择过程,而多层节点结构则进行了有效的自动组合。

你可能感兴趣的:(推荐系统,机器学习)