推荐模型-上下文感知-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

相关文章

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

一文教你Python引入其他文件夹下的.py文件

《一文教你Python引入其他文件夹下的.py文件》这篇文章主要为大家详细介绍了如何在Python中引入其他文件夹里的.py文件,并探讨几种常见的实现方式,有需要的小伙伴可以根据需求进行选择... 目录1. 使用sys.path动态添加路径2. 使用相对导入(适用于包结构)3. 使用pythonPATH环境

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo