【推荐系统】Factorization Machine

Factorization Machine(FM)是推荐系统的重要算法,针对稀疏数据的挑战,通过分解方法降低参数量,有效防止过拟合。FM模型计算与求解效率高,线性时间复杂度使其易于优化。

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

Factorization Machine(FM)1是现代推荐系统的基础算法之一。本文介绍FM的模型思想、计算与优化方法。

FM模型

问题

输入: n n n维数据 x \bf{x} x
预测:标量 y y y

举例

  • 回归: x \bf x x的元素和 y y y都为实数
  • 二类分类: x \bf x x的元素为实数, y y y ± 1 \pm1 ±1
  • 排序: x = ( x a , x b ) \textbf x =(x^a,x^b) x=(xa,xb)为有序对, y y y ± 1 \pm1 ±1

在实际问题中, x \bf x x往往非常稀疏: x \bf x x中非零元素个数远远小于 n n n

举例
一个电影推荐系统,系统中有 n 1 n_1 n1个用户,有 n 2 n_2 n2部电影。
系统中的每一条记录包含如下信息:用户编号,时间,电影编号,打分。
想要设计一个系统,预测用户某时刻对某一部电影的评分。

对于每一条记录,按照如下方式将其转化为 ( x , y ) (\textbf x,y) (x,y)对:
|-|内容|维度|说明|
|----|----|----|
| x \textbf x x|1-hot编码的用户编号| n 1 n_1 n1|用户多,此部分稀疏|
||1-hot编码的电影编号| n 2 n_2 n2|电影多,此部分稀疏|
||0-1标记用户已经看过的电影,归一化到和为一| n 2 n_2 n2|大部分用户只看过很少电影,此部分稀疏|
||时间|1||
|y|评分|1||

稀疏数据的挑战

一个预测模型可以有不同的“度”(degree),度越大,对 x \bf x x元素之间的相互作用考虑的越多。

d = 1 d=1 d=1时,是线性模型:
y ( x ) = ∑ i = 1 n w i x i y(\textbf x)=\sum_{i=1}^nw_ix_i y(x)=i=1nwixi
d = 2 d=2 d=2时,考虑元素对之间的关系:
y ( x ) = ∑ i = 1 n w i 1 x i + ∑ i = 1 n ∑ j = i + 1 n w i j 2 x i x j y(\textbf x)=\sum_{i=1}^nw^1_ix_i+\sum_{i=1}^n\sum_{j=i+1}^nw^2_{ij}x_ix_j y(x)=i=1nwi1xi+i=1nj=i+1nwij2xixj

注意第二项,下标j的循环从i+1开始。

d = 3 d=3 d=3时,考虑三元组之间的关系:
y ( x ) = ∑ i = 1 n w i 1 x i + ∑

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值