首页 > 编程知识 正文

deepmact算法是真的吗,starfm算法

时间:2023-05-03 19:27:37 阅读:27029 作者:4180

摘要DeepFM是推荐领域的热算法,在非常多大家熟悉的互联网公司有落地场景。 对DeepFM最好的描述一定来源于其原始论文。

地址: https://arxiv.org/pdf/1703.04247.PD

然后,介绍推荐算法的本源。 推荐其实是典型的二分类场景。 推荐算法需要做的不仅仅是把商品和广告强加于人,预测这个人是喜欢还是讨厌。 这里最难的不是如何实现分类,而是特征的提取。

特征的提取分为低阶特征和高阶特征。 举个简单的例子,低次的特征是什么? 例如,假设一个人在n天内买了m个馒头,就可以提取表示这个人每天馒头消费量m/n的特质。 这个特征只考虑了两个原始特征的交叉,所以是低阶特征。 其高阶特征顾名思义,一个特征可以表示非常多原始特征的交叉。 这也是深度学习的擅长之处。

论文指出,无论是低次特征还是高次特征都有各自的价值,对推荐的准确性有很大的影响。 如何有效利用低次和高次的特征是DeepFM的最大特征。

通过DeepFM与其他算法的比较第一节,我们发现推荐其实是一种特征利用的游戏。 用特征利用率介绍DeepFM与其他算法的差异。

*逻辑回归(LR ) :考虑更多线性特征,缺乏特征的交叉性和高阶特征

* DNN :考虑高阶特征,缺乏对低阶特征的考虑

* CNN :考虑到近邻特征的关系。 单一且适合图像分类

* RNN :考虑到更多数据的时序性,是单一的

*调频:考虑更多低阶特征,缺少高阶特征

* WideDeep :同时考虑低阶和高阶特征,但低阶特征需要手动交叉生成,对用户不友好

* DeepFM :兼顾低阶和高阶特性,计算中不需要用户干预

基于本文开源数据的测试结果也很有说服力:

DeepFM体系结构介绍了像DeepFM这样的牛,到底是怎么实现的呢? 在体系结构上可以分解为FM部分和DNN部分。

底部是输入稀疏的原始特征(One-hot结果),根据Field划分特征。 如果不理解Field的意思,请学习调频。 接着进入嵌入式层,将特征限定为有限的向量空间。 嵌入式层起到压缩的作用。 否则,推荐场景数据非常稀疏。 例如,一个用户a到EC平台b购物,a可能只购买一个商品,而EC平台b有1000个商品,则购买产品的特点是从one-hot派生出来的1000维向量嵌入式层能缓解参数爆炸。

然后进入FM层和DNN层,两者共享底层嵌入式数据,效率高,整个数据的嵌入式只需计算一次即可。

在调频层,主要工作是通过特征间的交叉获得低阶特征,以二阶特征为主。 这意味着要注意,FM算法的特征交集不是按原有特征相互交叉计算的,而是交叉特征因子分解的结果,从而更加挖掘特征深层的信息。

在DNN层没有什么可说的,就是利用深度学习数据在网络之间的传播性来获得高阶特征。

虽然如何判定最终的二分类结果很粗暴,但利用一个sigmoid加法函数,分别参考判断FM和DNN的结果。

总体来看,深度调频将在接下来的一段时间内引领推荐场景。 毕竟,这种考虑低阶和高阶特征的方式具有很好的覆盖性,但我认为整体体系结构设计没有什么特别新颖的地方。 我个人期待算法领域有本质突破的技术应运而生。

目前,基于Tensorflow的版本已经成熟,并将取得良好的结果。 感兴趣的同学可以看到这个代码的实现:

3359 github.com/chenglong Chen/tensor flow-deep FM

因为里面有可以下载的数据,所以跑起来很简单~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。