问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

扒一扒 FM 算法的实现

发布网友 发布时间:2024-09-04 08:46

我来回答

1个回答

热心网友 时间:2024-11-23 02:56

FM模型源自LR和POLY2,与POLY2的区别在于使用两个向量的内积取代单一的权重系数。具体来说,FM为每个特征学习了一个隐向量权重,在做特征交叉时,使用两个特征隐向量的内积作为交叉特征的权重。

模型的表达式如下:

[公式]

其中,[公式] 代表特征数量,[公式]是第 [公式] 个特征的值, [公式] 是模型参数。

[公式]

FM算法引入隐向量的做法,与矩阵分解用隐向量表示用户和物品的做法类似。FM是将矩阵分解隐向量的思想进行了扩展,从单纯的user embedding、item embedding扩展到了所有的特征上。

隐向量的引入使FM能够更好地解决数据稀疏性的问题。举例来说,在某商品推荐的场景下,样本有2个特征,分别是频道(channel)和品牌(brand),某训练样本的特征组合是 (ESPN, Adidas)。在POLY2中,只有当ESPN和Adidas同时出现在一个训练样本中,模型才能学到这个组合特征对应的权重;而在FM中,ESPN的隐向量也可以通过(ESPN, Nike)样本进行更新,Adidas的隐向量也可以通过(NBC, Adidas)进行更新,大幅度降低了模型对数据稀疏性的要求。同时对于一个未曾出现过的组合 (NBC, Nike),由于模型之前已经分别学习过NBC和Nike的隐向量,已经具备计算该特征组合权重的能力,泛化性得到大幅提升。

代码安排:

1. 先使用原生的模式计算一下交叉项,即: [公式]

2. 使用隐向量模式计算一下交叉项,即: [公式]

可以看到方式1和方式2的结果是一致的。

接下来继续,通过实际例子应用一下FM算法。

一、准备数据

titanic数据集 的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存。结构化数据一般会使用Pandas中的DataFrame进行预处理。

字段说明:

二、构建模型

(1)加载python模块

(2)定义类别变量的输入层和Embedding层

(3)定义线性层、FM二阶交叉层、预测层

(4)定义FM模型结构

(5)开始应用 FM 模型

(6)打印FM 模型 summary

(7)输出FM 模型结构图

(8)编译 FM 模型,训练模型

(9)绘制损失函数图

参考:

1. 深度学习推荐系统,王喆著

2. FM算法解析, 王多鱼:FM算法解析

3. shenweichen/DeepCTR

4. 结构化数据建模流程范例.md
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
U盘更新专用需要电脑打开怎么让我的U盘和电脑文件夹同步更新啊_百度知 ... 为什么我的硬盘一打开就弹出对话框说选择打开方式. 倒霉的是右键也打... 磁盘右键是打开方式怎么办 我双机盘符总是打开 打开方式 让我选择,右健第一项是打开.不知道是中了... 罗技Lightspeed怎么用? 罗技无线鼠标怎么样?怎么连接电脑使用? 为什么不建议去融资公司上班 融资担保公司一般账务处理及所涉及的会计科目有哪些 月经期间可以游泳吗 经期能不能游泳 Python线性代数学习笔记——向量的点乘与几何意义,实现向量的点乘操作... 已经生大病可以买什么保险? 保险都需要买什么险种? 关节炎膝盖疼怎么缓解 膝盖关节痛怎么治疗 环境容量由什么组成? 膝盖骨痛怎么治疗 膝盖关节疼痛怎么治疗 膝盖骨关节炎怎么治疗好 如何屏蔽170开头的电话号码 怎样拦截170开头的骚扰诈骗电话 如何屏蔽170号段的骚扰电话呢? 小米手机用4G电信卡无服务 现在的女孩「颜控」有多厉害? 手机老收到170开头的垃圾短信说加他微信每天两三条怎么拉黑他们求解 怎么拦截170的骚扰电话? 170开头的是骚扰电话吗 170开头的都是骚扰电话 怎样禁止电脑自动启动360日历精选? 173开头的电话是催收电话吗 一文说清楚图注意力神经网络的原理!图注意力神经网络的python实现... 基于最小体积单纯形的快速高光谱图像解混算法HyperCSI 手把手教改中国联通八元保号套餐 联通怎么线上更换保号套餐 怎样刷科目三的学时 科三理论怎么刷? 2024成都天府机场公交专线时刻表 成都机场有哪些专线大巴? 微信键盘变成黑色怎么变白? 微信键盘变成黑色了怎么恢复白色? ...中如果没有时钟信号,单片机能工作吗,什么情况下会产生时钟信号 微信输字栏变黑应怎麽调回来 捷达怎么消除保养小扳手 苏轼的"何时望却营营",是什么意思?(没问别的,回答中肯一点,谢谢... 现在购买ipad2和ipad三代那个更合算 IPAD2更新版本中途停止,求高手!满意追加100分! 怎么设置陌生的人无法私信我 考试没有考好怎么办,地理只有60多分啊~~~ 生物地理都只考了60多分可以考上资阳高中吗 旁友们,我初二了,地理和生物考试基本都在60分左右,而数学呢从小学起一直...