Fm算法个人理解小记

从开始接触推荐相关的内容以来,无论是主流的工业应用还是各种博客科普教学,Fm算法始终是推荐这条路上绕不过的重要节点。

因为个人水平有限,始终对于Fm算法的理解都停滞与表面,别人说Fm算法是对LR的升级,是对MF的发扬光大,但是就我自己来说,始终没有理解Fm算法真正的内核所在,或者说的具体一点,就是Fm怎么做到对用户/物品进行向量表示。

俗话说读书百遍其义自见,但是书读百遍,不用心去理解问题,直接看答案会导致你对答案里的方法、技巧根本不能理解,更不要提答案是怎么解决问题的。

对于Fm的一些想法,特此记录,待到搞清楚后,再进行整理。


11.25

Fm算法针对Lr来说,个人理解是加入了2阶的向量组合,说人话就是Lr 只会对单个特征x_{i}训练参数w,但是单独的特征组合表示的信息有限,如果我们能把单独的特征进行组合例如x_{i}x_{j},x_{i}x_{j}x_{k},x_{i}x_{j}x_{k}x_{l}.......,岂不是能表示的信息更多。当然阶数越高越能表示复杂信息,但是受制于计算等其他限制,现在大家主要是集中精力于2阶,这样算是对原来单阶一个不小的优化。

那么问题来了,Fm怎么做到2阶表示的。这个公式是二阶表示

Fm是这么做的: 可以看到Fm实际做的是把原来的2阶特征组合的参数w_{ij}拆成了<v_{i},v_{i}>这样的形式。不严谨地讲,v_{i},v_{j}可以看成特征x_{i}x_{j}对应的向量表示,这样x_{i}x_{j}就获得了自己在计算维度上的代理人,后面无论是求相似度还是啥的操作,v_{i},v_{j}就能代替自己参与计算了。

施工未完·······

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值