fm算法详解_FM算法 的总结

FM的总结:

1、FM算法与线性回归相比增加了特征的交叉。自动选择了所有特征的两两组合,并且给出了两两组合的权重。

2、上一条所说的,如果给两两特征的组合都给一个权重的话,需要训练的参数太多了。比如我们有N维的特征,这样的话就需要N*N量级的参数。FM算法的一个优点是减少了需要训练的参数。这个也是参考了矩阵分解的想法。有N个特征,特征间的权重,需要一个N*N的权重矩阵。把这个N*N的矩阵分解成  K*N的矩阵V的乘积,权重矩阵W=VT*V。把每个特征用长度为K的向量来表示,此处应该是每个特征也有一个向量,而不是每个特征的值有一个向量。比如有一个长度为K的向量来表示性别这个特征。

此处的K是自己设置的,K<

3、FM算法的表示公式为:

d128826357337fb7ac2cca82fe3966d0.png

如果按这个直接算的话就是N2的复杂度了,比较高。然后针对后一部分进行化简,变成KN复杂度的。

这部分的化简主要使用了 x*y  = 1/2( (x+y)2 - x2 - y2)。

变换之后的是这个样子的:

fe789ae8de4c70bd6bad1beebb29ec77.png

4、然后是FM的训练。

我们再来看一下FM的训练复杂度,利用SGD(Stochastic Gradient Descent)训练模型。模型各个参数的梯度如下

7a373fb0e78a667be4d37d98f3ceaddc.png

5992cdf95b8497c4fc7b24d09275b82f.png

未完待续,等我看完论文再写点

参考资料:https://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值