推荐排序模型1——FM、FFM及python(xlearn)实现

本文深入探讨了FM模型及其在工业界的广泛应用,从线性模型的局限性出发,介绍了FM模型如何通过引入辅助向量来解决特征交叉组合的问题,特别是在高度稀疏数据场景下的优势。同时,文章对比了FM与FFM模型的区别,详细讲解了FFM模型如何通过引入field概念来更细致地刻画特征关系,以及在Python环境下如何使用xlearn库实现FM和FFM模型。

排序模型在工业界已经有了很长时间的历史,从基于策略规则的人工指定特征权值开始,发展到LR线性模型,LR+GBDT半自动特征组合模型,再到FM自动二阶特征组合模型及深度学习模型等不断发展。其中FM系列模型占据比较重要的位置,本篇文章就FM模型进行分析和总结。

FM系列模型2——DeepFM及python(DeepCTR)实现


1,概述

在机器学习中,预测是一项基本的任务,所谓预测就是估计一个函数,该函数将一个n维的特征向量x映射到一个目标域T:
D = { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , . . . , ( x ( N ) , y ( N ) ) } D =\{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(N)},y^{(N)})\} D={ (x(1),y(1)),(x(2),y(2)),...,(x(N),y(N))}

在传统的线性模型中,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,可能需要人工对特征进行交叉组合。非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习。由于推荐系统是一个高度系数的数据场景,由此产生了FM系列算法,包括FM,FFM,DeepFM等算法。

推荐系统中还有一个比较重要的因素就是速度,比如容易并行,可解释、可拓展,这就是LR在工业界比较流行的原因之一。我们先回顾下线性模型和逻辑回归模型。

线性回归

y ^ ( x ) = w 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n = w 0 + ∑ j = 1 n w i x i \begin{aligned} \hat{y}(x) = & w_0 + w_1x_1 + w_2x_2 + ...+ w_nx_n\\ =&w_0 + \sum_{j=1}^nw_ix_i \end{aligned} y^(x)==w0+w1x1+w2x2+...+wnxnw0+j=1nwixi

逻辑回归
核心函数:
h θ ( x ) = 1 1 + e − θ x h_{\theta}(x) = \frac{1}{1+e^{-\theta x}} hθ(x)=1+eθx1
对于一个样本:

P ( y = 1 ∣ x , θ ) = h θ ( x ) P ( y = 0 ∣ x , θ ) = 1 − h θ ( x ) \begin{aligned} P(y=1|x,\theta) =& h_{\theta}(x)\\ P(y=0|x,\theta) = &1-h_{\theta}(x) \end{aligned} P(y=1x,θ)=P(y=0x,θ)=hθ(x)1hθ(x)
那么进一步,样本x的概率表示为:
P ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y P(y|x;\theta)=(h_{\theta}(x))^y(1-h_{\theta}(x))^{1-y} P(yx;θ)=(hθ(x))y(1hθ

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值