deep deepfm wide 区别_CTR预估之Wide&Deep和DeepFM

之前写了两篇关于graph embedding的文章,这次换个主题,分享两个ctr预估算法。一个是Wide&Deep,是谷歌16年提的算法《Wide & Deep Learning for Recommender Systems》,链接https://arxiv.org/pdf/1606.07792.pdf,这个算法是用在谷歌应用商店做排序的。另外一个是DeepFM,来自于华为17年提出的《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》,链接https://arxiv.org/pdf/1703.04247.pdf,这个是华为用在应用商店做排序的。这两个算法既可以在广告中做ctr预估,也可以在推荐系统中做排序。

ctr预估算法中最经典的莫过于逻辑回归LR,优势是速度快,便于加特征,可解释。缺点也很明显,就是无法直接拟合高阶特征,无法做特征交叉,因此需要大量的人工特征工程和专家经验来做特征交叉。后来出现的因子分解机FM,可以解决二阶特征交叉问题,但是不能解决高阶特征交叉。比如年轻男性喜欢玩射击游戏,就包括3阶特征。最近几年随着深度学习的快速发展,工程师引入深度学习解决高阶特征交叉问题,并提出了一批算法,比如FNN,AFM,NFM,DeepCrossing以及Wide&Deep和DeepFM等,私以为最后两篇文章比较经典。

最早看这两篇算法的时候,我的感觉是这两个算法有什么差别,不是一样的吗?最近重新细读了一遍,才理解其中的不同。先来介绍一下Wide&Deep,模型结构如下图所示。所谓Wide&am

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`DeepFM.load_from_checkpoint()` 是 Pytorch Lightning 中 `pl.LightningModule` 的方法,它可以从已保存的 checkpoints 加载模型权重。如果你想从 checkpoint 加载 DeepFM 模型,那么需要确认以下几点: 1. 你已经安装了 Pytorch Lightning; 2. DeepFM 模型继承了 `pl.LightningModule`; 3. 你已经通过 Pytorch Lightning 的 `Trainer` 训练了 DeepFM 模型,并保存了 checkpoint 文件。 如果以上条件都满足,那么可以通过以下代码来加载 DeepFM 模型: ```python import torch from deepctr_torch.models import DeepFM from pytorch_lightning.utilities.cloud_io import load as pl_load # 加载 checkpoint 文件 checkpoint = torch.load("path/to/checkpoint.ckpt", map_location=torch.device("cpu")) # 加载 DeepFM 模型 deepfm = DeepFM(**checkpoint["hyper_parameters"]) deepfm.load_state_dict(checkpoint["state_dict"]) # 将 DeepFM 模型转换为 Pytorch Lightning 模块 pl_model = deepfm.to_lightning_module() # 从 checkpoint 中恢复训练状态 pl_model.load_state_dict(checkpoint["state_dict"]) # 或者使用 Pytorch Lightning 提供的 load_from_checkpoint() 方法 # pl_model = DeepFM.load_from_checkpoint("path/to/checkpoint.ckpt") ``` 注意,如果你使用了 Pytorch Lightning 的其他特性,例如自定义优化器、学习率调度器等等,那么在加载模型时需要进行相应的处理。具体来说,需要手动将所有相关的 Pytorch 模块转换为 Pytorch Lightning 模块,并将它们与 DeepFM 组合起来,最终形成一个完整的 Pytorch Lightning 模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值