DeepFM学习笔记

DeepFM模型结合了FM和DNN,用于CTR预测。FM处理低阶特征,DNN处理高阶特征,解决了数据稀疏性问题。FM部分通过矩阵分解减少参数,DNN部分通过共享Embedding学习特征组合。代码实现包括FM的一阶和二阶特征处理,以及DNN全连接层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

CTR预估是推荐系统的核心技术之一。对于CTR问题,更好地学习特征组合能够有效提升模型效果。特征包括用户行为的低阶特征和高阶特征。低阶特征可以由人工构造(如Wide&Deep模型),高阶特征可以由神经网络学习得到,由全连接层实现高阶特征的组合。很显然,低阶特征和高阶特征需要分别进行处理。例如在FNN模型中,首先预训练一个FM模型得到每个特征的Embedding向量,然后再输入多个全连接层。由于FM和DNN的串行结构。这个模型没有学到多少低阶特征组合。Wide&Deep模型将低阶特征的处理和高阶特征的处理设置为并行,但Wide模型部分需要人工来完成特征工程。同时,Wide&Deep模型将低阶特征和高阶特征直接在输出层进行组合,这样模型很容易侧重学习低阶或者高阶的特征,因此不能很好地将两者结合。

DeepFM模型包括FM和DNN两部分,其中FM模型用来抽取低阶特征,DNN模型用来抽取高阶特征。

下面分别对各部分进行介绍。

模型结构

FM

FM(Factorizaiton Machine)于2010年被提出,旨在解决稀疏数据下的特征组合问题。多项式模型是特征组合最直观的模型,FM模型通常用来学习二阶特征交叉组合。

可以由数学公式表示为:

其中x_i表示第i个特征的值,w为模型参数,n表示样本特征数量。由公式可得,当x_ix_j都非零时,组合特征x_ix_j才有意义。同时在训练中,参数w_{ij}的训练需要大量x_ix_j都非零的样本,由于样本数据的稀疏性,这种情况会很少。因此容易导致训练出来的参数w_{ij}不准确。借助矩阵分解,所有的二项式参数w_{ij}可以组成一个对角元素为正数的对称阵W。那么这个矩阵就可以分解为W = V^TV,其中V的第j列表示第j个特征的隐向量,因此参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值