推荐模型-上下文感知-2015:FFM模型【在FM基础上引入特征域】【每个特征对应的不是唯一一个隐向量权重,而是一系列,与每个特征域都计算出一个隐向量权重】【FM:O(kn);FFM:O(knf)】

本文主要是介绍推荐模型-上下文感知-2015:FFM模型【在FM基础上引入特征域】【每个特征对应的不是唯一一个隐向量权重,而是一系列,与每个特征域都计算出一个隐向量权重】【FM:O(kn);FFM:O(knf)】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Yuchin Juan et al. “Field-aware Factorization Machines for CTR Prediction” in RecSys 2016.

https://github.com/rixwew/pytorch-fm

2015年,Criteo基于FM提出的FFM在多项CTR预估大赛中夺魁,并被Criteo、美团等公司深度应用在推荐系统、CTR预估等领域。

FFM算法,全名 Field-aware Factorization Machines ,整整比FM算法多了一个F!多出来的F意为Field

相比FM模型,FFM模型引入了特征域感知(field-aware)这个概念,使模型的表达能力更强了。
在这里插入图片描述
FM、FFM模型只具备二阶特征交叉的能力。Deep Crossing模型可以通过调整神经网络的深度进行特征之间的“深度交叉”,这也 是 Deep Crossing名称的由来。
在这里插入图片描述

(式 2-22 ) 是 FFM的数学形式的二阶部分。其与FM的区别在于隐向量由原 来 的 变 成 了 也 /2 ,这意味着每个特征对应的不是唯一一个隐向量,而是一组 隐向量。当税特征与税特征进行交叉时,税特征会从税的这一组隐向量中挑出与特征税的域心对应的隐向量%后进行交叉。同理,/ 2也会用与税的域方对应的隐向量进行交叉。

这里所说的域( field ) 具体指什么呢?简单地讲,“域”代表特征域,域内 的特征一般是采用one-hot编码形成的一段one-hot特征向量。例如,用户的性别 分为男、女、未知三类,那么对一个女性用户来说,采用one-hot方式编码的特 征向量为[0,1,0],这个三维的特征向量就是一个“性别”特征域。将所有特征域 连接起来,就组成了样本的整体特征向量。

下面介绍Criteo FFM的论文⑹中的一个例子,更具体地说明FFM的特点。 假设在训练推荐模型过程中接收到的训练样本如图2-11所示。
在这里插入图片描述
其中,Publisher、Advertiser、Gender 是三个特征域,ESPN、NIKE、Male 分别是这三个特征域的特征值(还需要转换成one-hot特征)。

如 果 按 照 F M 的原理,特 征 ESPN、NIKE和 M ale都有对应的隐向量 WESPN,WNiKE,WMaie,那么ESPN特征与NIKE特征、ESPN特征与Male特征做交 叉的权重应该是WESPN , WNIKE和WESPN e WMale。其中,ESPN对应的隐向量WESPN在 两次特征交叉过程中是不变的。

而 在 FFM 中,ESPN与 NIKE、ESPN与 M ale交叉特殊的权重分别是 WESPN,A . WNIKE,P 和 WESPN,G • Malpo
细心的读者肯定已经注意到,ESPN在与NIKE和 Male交叉时分别使用了不 同的隐向量WESPN,A和WESPN,G,这 是 由 于 N IK E和 M ale分别在不同的特征域 Advertiser(A)和 Gender(G)导致的。

在 FFM模型的训练过程中,需要学习〃个特征在7个域上的左维隐向量,参 数 数 量 共 九 个 。在训练方面,FFM的二次项并不能像FM那样简化,因此其 复杂度为kn2o 一

相比FM, FFM引入了特征域的概念,为模型引入了更多有价值的信息,使 模型的表达能力更强,但与此同时,FFM的计算复杂度上升到奶2 ,远大于FM的如。在实际工程应用中,需要在模型效果和工程投入之间进行权衡。
在这里插入图片描述

从 POLY2到 FFM的模型演化过程

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




参考资料:
RS笔记:传统推荐模型之FFM (引入特征域的概念) [2015 Criteo]
推荐系统召回四模型之二:沉重的FFM模型
深入FFM原理与实践
FFM模型详解

这篇关于推荐模型-上下文感知-2015:FFM模型【在FM基础上引入特征域】【每个特征对应的不是唯一一个隐向量权重,而是一系列,与每个特征域都计算出一个隐向量权重】【FM:O(kn);FFM:O(knf)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128788

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装