论文解读:Field-aware Factorization Machines for CTR Prediction(FFMs)


在这里插入图片描述

FFM模型时FM模型的变种(优化),该模型考虑了(User,item)之间的关系和(User,时间)之间的关系是不一样的(FM考虑它们都一样),更广泛的讲,对特征引入了field的概念。

摘要

点击率预测是计算广告领域的一个非常重要的技术,之前解决该问题应用最广泛的模型就是FM模型。最近FFMs模型被提出,并获得了竞赛冠军。本文我们将FFM模型作为将稀疏数据分类的一个非常有效的模型提出,它可以应用在CTR预估问题上。
在这里插入图片描述

1. Introduction

有效的学习特征融合(feature conjunction)对CTR预估来说是非常关键的。观察下图的数据,可以更好的理解feature conjunction:Gucci的广告在Vogue媒体上的点击率会很高,这种信息很难被线性模型捕捉到,因为线性模型对特征Gucci和Vogue的权重学习是分开的,每个特征对应一个权重。为了解决这个问题,FM模型是一个很好的解决办法。
在这里插入图片描述

本文提出FFM模型,它是FM模型的一个变种,实验证明它优于FM模型。另外本位介绍了如何去训练FFM模型,并提供了实验代码和libffm库

在这里插入图片描述

2. POLY2 AND FM

POLY2不作介绍,FM模型在另一篇博客中写了:FM模型

3. FFM

对于很多像Tabel1的数据集的CTR预估问题,特征可以被分组到“field”内。例如在Tabel1中,特征ESPN、Vogue和NBC,这三个特征属于媒体域(Publisher field),而其他三个特征Nike,Gucci和Adidas属于广告主域(Ad field)。为了解释FFM是如何工作的,我们考虑下面的这个样本:

在这里插入图片描述
在FM模型中,每个特征只有一个隐向量去学习特征之间隐藏的关系。但是,由于Nike和Male属于不同域,(ESPN,Nike)和(EPSN,Male)的关系显然是不同的。
在FFM模型中,每个特征对应若干个隐向量:
在这里插入图片描述

3.1 Solving the Optimization Problem

论文使用Adagrad优化器去优化损失函数:
在这里插入图片描述
在这里插入图片描述

3.2 Parallelization on Shared-memory Systems

本小节讲的是FFM模型可以利用多核CPU开启多线程,从而加速训练过程。

3.3 Adding Field Information

本小节讲的是如何给特征加上field知识,然后讨论了三种类型的特征:

(1) Categorical Feature分类型变量
分类型变量一般转换为多个binary变量,就是one_hot操作

(2) Numerical Feature

将数值型特征离散化,转化成类型(1)去解决,主要缺点是确定"如何离散化"是个难点。离散化必将会导致一些信息丢失

(3) Single-field Feature

这类特征指的是对于一个样本,所有的特征都归属于同一个域,主要出现在NLP领域的文本分析
在这里插入图片描述

4. Experiments

首先,我们给出实验细节设置。然后探索模型参数的影响,发现FFM模型对epoch的数量很敏感,这个问题可以通过early stopping解决。多线程加速问题再4.4详细探讨

4.1 Experiments settings

在这里插入图片描述
在这里插入图片描述

4.2 Impact of Parameters

包括正则参数λ,学习率η,隐变量维度k
在这里插入图片描述
在这里插入图片描述

4.3 Early Stopping

使用early stopping过程的一个难点是对数损失对epoch的数量很敏感
在这里插入图片描述

4.4 Speedup

讨论线程的数量对模型训练速度的影响
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InceptionZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值