热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FMDeepFM笔记

1.FM参考:https:blog.csdn.netanshuai_aw1articledetails83747171FM旨在解决大规模稀疏数据下的特征组合问题。特

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输出


推荐阅读
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 标题: ... [详细]
author-avatar
mobiledu2502901287
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有