推荐系统与深度学习(二)——FFM模型原理​

作者:livan

来源:数据python与算法

前言

上一篇我们讲解了FM模型:

推荐系统与深度学习(一)——FM模型原理

从FM的公式我们可以看出:

    FM中每个特征所对应的向量是唯一的:

    Vi是Xi的向量化表达,多个特征相乘的时候,只需要将Vi相乘,这一模型的优势在于考虑高维特征组合的情况下最小化运算量,但是问题也是有的:

    这一模型没有考虑各个特征之间的关系,而不同特征之间的关系恰巧是不一样的。

    例如:

    Publisher与Advertisor可能是正相关/强相关,Publisher与Gender可能是负相关/弱相关;ESPN体育类型的网站上发布Nike商品点击量会很高,放其他商品就未必了。

FFM——场域

    这样的思考引发大家对特征关系向量的研究,引出了“场域”的概念,每个特征都有一个场域f(场域f有k个维度),这个场域f代表两个特征之间的关系:

    原则上每个特征与其他n-1个特征存在相互关系,即n-1个场域f,每个场域f是一个Vij向量:

    从上图逻辑看,每个特征所对应的数据从FM中的一个k维向量变成了一个n-1*k维的矩阵,两个特征运算的时候,只需要从矩阵中找到与之对应的向量相乘就可以了,如下面FFM模型:

    不同的特征组合会有不同的场域向量进行计算。

    损失函数的计算,FM与FFM模型就一致了。

FM与FFM进行比较

    两两特征组合的算法方面,FFM和FM则是完全相同的,区别就是每个特征对应的特征embedding个数不同;FM每个特征只有一个共享的embedding向量,而对于FFM的一个特征,则有(N-1)个特征embedding向量,用于和不同的特征域特征组合时使用。

    FFM运算量非常大,需要计算的参数有nfk个,复杂度为O(k*n2);而FM中需要计算的参数有nk个,复杂度为O(k*n),在模型训练过程中n的数量非常大,所以,扩大f倍的情况下运算量指数型增加,而且容易过拟合,为减少运算量可以适当减少k的大小。

    FM与FFM都可以用在推荐系统中,主要应用场景可以在召回排序方面,有兴趣可以查验知乎上的文章:https://zhuanlan.zhihu.com/p/59528983

    FM/FFM主要应用场景为CTR预估,在计算广告领域非常有效,是对LR模型的升级。

◆ ◆ ◆  ◆ ◆

麟哥新书已经在京东上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前京东正在举行100-50活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:

点击下方小程序即可进入购买页面:


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:

猜你喜欢

 麟哥拼了!!!亲自出镜推荐自己新书《数据分析师求职面试指南》

 厉害了!麟哥新书登顶京东销量排行榜!

 笑死人不偿命的知乎沙雕问题排行榜

 用Python扒出B站那些“惊为天人”的阿婆主!

 你相信逛B站也能学编程吗

点击阅读原文即可参与京东100-50购书活动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值