FM&DeepFM 笔记

1.FM
参考:https://blog.csdn.net/anshuai_aw1/article/details/83747171

FM旨在解决大规模稀疏数据下的特征组合问题。
特征ETL过程中,需要对categorical型特征进行one-hot编码(独热编码),即将categorical型特征转化为数值型特征。
由one-hot编码带来的数据稀疏性会导致特征空间变大。
一维categorical特征在经过one-hot编码后变成了10维数值型特征。真实应用场景中,未编码前特征总维度可能仅有数十维或者到数百维的categorical型特征,经过one-hot编码后,达到数千万、数亿甚至更高维度的数值特征在业内都是常有的。
此外,特征空间增长的维度取决于categorical型特征的取值个数。

在学习过程中考虑特征之间的关联信息

降低了交叉项参数学习不充分的影响
提升了模型预估能力
提升了参数学习效率

https://github.com/coreylynch/pyFM

2.DeepFM
Kaggle 价格推荐
https://github.com/ChenglongChen/tensorflow-XNN
用到的论文:
《Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models》:https://explosion.ai/blog/deep-learning-formula-nlp

司机驾驶车辆可能赔保预测
代码:https://github.com/chenglongchen/tensorflow-deepfm
报错:安装Yellowfin报错——No such file or directory: ‘/tmp/pip-build-jykvuD/YellowFin/README.md’
参考https://www.cnblogs.com/Rvin/p/11058323.html:https://github.com/JianGoForIt/YellowFin下载代码,得到压缩包。将下载的压缩包解压后,取出tuner_utils文件夹下的三个文件。将这三个文件放入到与导入yellowfine的文件相同的目录下,此时不用安装yellowfine就可以直接使用。DeepFM中调用了yellowfin的YFOptimizer方法。

论文《DeepFM:A Factorization-Machine based Neural Network for CTR Prediction》

推导一个强调高阶和低阶特征交互的端对端学习模型

在一些例子中,maximize点击率,则CTR,另一些例子中,例如在线广告,目的是盈利,需要CTR x bid,其中bid是用户点击相应的广告,平台可以获得的利益

在CTR预测中,找到用户行为之间隐形的特征交互(interactions)非常重要,例如app种类和时间、app种类和用户的年龄、性别

大多数的特征交互隐藏在数据中,并且很难人工建模,特别是特征数量很大时,但机器学习可以自动解决。

wide&deep网络中wide和deep两部分输入不同,且wide部分依赖专门的特征工程(engineering)。

在DeepFM中,结合律FM处理low-order 特征交互和DNN处理high-order 特征交互的优势,不需要任何特征工程;wide和deep共享输入和embedding vector。

输出
FM:
FM
黑线:weight to learn
红箭头:权重为1
蓝箭头:嵌入,学习隐藏向量(latent vector)
黄蓝圆圈:0,1;one-hot编码
FM
Deep:
特征输入向量是高度稀疏、超高维数、分类-连续混合、并分组在字段中
在向第一层隐藏层传入数据之前,嵌入层将输入向量压缩成低维密度实值向量,避免网络过载

虽然不同输入字段向量的长度可以不同,但它们的嵌入大小相同(k);
将FM中的潜在特征向量(V)作为网络权值进行学习并将输入场向量压缩为嵌入向量。
不再预训练FM,而是端对端联合训练整个网络
隐藏层
DNN输出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值