FM系列】的更多相关文章

在计算广告中,CTR是非常重要的一环.对于特征组合来说,业界通用的做法主要有两大类:FM系列和Tree系列.这里我们来介绍一下FM系列. 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,可能需要人工对特征进行交叉组合.非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习.现在有很多分解模型可以学习到特征之间的交互隐藏关系,基本上每个模型都只适用于特定的输入和场景.推荐系统是一个高度稀疏的数据场景,由此产生了FM系列算法. 本文主要涉及四…
逻辑回归(LR) 在介绍FM系列之前,我想首先简单介绍一下逻辑回归.通常来说,逻辑回归模型能够综合利用更多的信息,如用户.物品.上下文等多种不同的特征,生成更为全面的结果.另外,逻辑回归将推荐问题看成一个分类问题.通过预测正样本的概率对物品进行排序,这里的正样本可以是用户观看了某个视频,也可以是用户点击了某个商品,或者用户播放了某个音乐等等.逻辑回归模型将推荐问题转换成了CTR(click throught rate)预估的问题. 步骤 一般来说,逻辑回归模型的推荐过程分成以下几步: 将用户年龄…
1.FM背景 在计算广告中,CTR预估(click-through rate)是非常重要的一个环节,因为DSP后面的出价要依赖于CTR预估的结果.在前面的相关博文中,我们已经提到了CTR中相关特征工程的做法.对于特征组合来说,业界现在通用的做法主要有两大类:FM系列与Tree系列.今天,我们就来讲讲FM算法. 2.one-hote编码带来的问题 FM(Factorization Machine)主要是为了解决数据稀疏的情况下,特征怎样组合的问题.已一个广告分类的问题为例,根据用户与广告位的一些特…
因子分解机(Factorization Machine,简称FM)算法用于解决大规模稀疏数据下的特征组合问题.FM可以看做带特征交叉的LR. 理论部分可参考FM系列,通过将FM的二次项化简,其复杂度可优化到\(O(kn)\).即: \[ \hat y(x) = w_0+\sum_{i=1}^n w_i x_i +\sum_{i=1}^n \sum_{j=i+1}^n ⟨vi,vj⟩ x_i x_j \\ =w_0+\sum_{i=1}^n w_i x_i + \frac{1}{2} \sum_{…
作者:韩信子@ShowMeAI,Joan@腾讯 地址:http://www.showmeai.tech/article-detail/tencent-ctr 声明:版权所有,转载请联系平台与作者并注明出处 双塔模型是推荐.搜索.广告等多个领域的算法实现中最常用和经典的结构,实际各公司应用时,双塔结构中的每个塔会做结构升级,用CTR预估中的新网络结构替代全连接DNN,本期看到的是腾讯浏览器团队的推荐场景下,巧妙并联CTR模型应用于双塔的方案. 一图读懂全文 实现代码 文中涉及到的DCN / FM…
1. 什么是FFM? 通过引入field的概念,FFM把相同性质的特征归于同一个field,相当于把FM中已经细分的feature再次进行拆分从而进行特征组合的二分类模型. 2. 为什么需要FFM? 在传统的线性模型中,每个特征都是独立的,如果需要考虑特征与特征之间的相互作用,可能需要人工对特征进行交叉组合.非线性SVM可以对特征进行核变换,但是在特征高度稀疏的情况下,并不能很好的进行学习.由于推荐系统是一个高度系数的数据场景,由此产生了FM系列算法,包括FM,FFM,DeepFM等算法. 3.…
计算广告领域中数据特点:    1 正负样本不平衡    2 大量id类特征,高维,多领域(一个类别型特征就是一个field,比如上面的Weekday.Gender.City这是三个field),稀疏 在电商领域,CTR预估模型的原始特征数据通常包括多个类别,比如[Weekday=Tuesday,Gender=Male, City=London, CategoryId=16],这些原始特征通常以独热编码(one-hot encoding)的方式转化为高维稀疏二值向量,多个域(类别)对应的编码向量…
本文记录几个在广告和推荐里面rank阶段常用的模型.广告领域机器学习问题的输入其实很大程度了影响了模型的选择,因为输入一般维度非常高,稀疏,同时包含连续性特征和离散型特征.模型即使到现在DeepFM类的方法,其实也都很简单.模型的发展主要体现于对特征的充分挖掘上,比如利用低阶和高阶特征.尝试自动学习交叉特征而非手动.尝试更精准地实现高阶特征(bounded-degree). 广告相关的领域最早大行其道的模型当属LR模型,原因就是LR模型简单,可解释性好,拓展性高,精心细调之后模型效果也会非常好.…
wide&deep在个性化排序算法中是影响力比较大的工作了.wide部分是手动特征交叉(负责memorization),deep部分利用mlp来实现高阶特征交叉(负责generalization),wide部分和deep部分joint train. Deep&Cross Network模型我们下面将简称DCN模型,对比Wide & Deep ,不需要特征工程来获得高阶的交叉特征.对比 FM 系列的模型,DCN 拥有更高的计算效率并且能够提取到更高阶的交叉特征. 一个DCN模型从嵌入…
FM通过对于每一位特征的隐变量内积来提取特征组合,最后的结果也不错,虽然理论上FM可以对高阶特征组合进行建模,但实际上因为计算复杂度原因,一般都只用到了二阶特征组合.对于高阶特征组合来说,我们很自然想到多层神经网络DNN. DeepFM目的是同时学习低阶和高阶的特征交叉,主要由FM和DNN两部分组成,底部共享同样的输入.模型可以表示为: \[ \hat{y} = sigmoid(y_{FM}+y_{DNN}) \]…
场感知分解机(Field-aware Factorization Machine ,简称FFM)在FM的基础上进一步改进,在模型中引入类别的概念,即field.将同一个field的特征单独进行one-hot,因此在FFM中,每一维特征都会针对其他特征的每个field,分别学习一个隐变量,该隐变量不仅与特征相关,也与field相关.假设样本的n个特征属于f个field,那么FFM的二次项有nf个隐向量.而在FM模型中,每一维特征的隐向量只有一个.FM可以看做FFM的特例,把所有特征都归属到一个fi…
前一篇文章我们介绍了LR->FM->FFM的整个演化过程,我们也知道,效果最好的FFM,它的计算复杂度已经达到了令人发指的\(n^2k\).其实就是这样,希望提高特征交叉的维度来弥补稀疏特征,不可避免的带来组合爆炸和计算复杂度过高的问题.这一篇,我们介绍一下Facebook提出的GBDT+LR的组合来解决特征组合和筛选的问题. 结构 整体的思路就是用GBDT构建特征工程,使用LR预估CTR这两步.由于这两步是独立的,所以不存在将LR的梯度回传到GBDT这类复杂问题.关于GBDT,就需要另外开一…
背景 在推荐领域CTR(click-through rate)预估任务中,最常用到的baseline模型就是LR(Logistic Regression).对数据进行特征工程,构造出大量单特征,编码之后送入模型.这种线性模型的优势在于,运算速度快可解释性强,在特征挖掘完备且训练数据充分的前提下能够达到一定精度.但这种模型的缺点也是较为明显的: 模型并未考虑到特征之间的关系 \(y=w_0+\sum_{i=1}^{n}w_ix_i\) .在实践经验中,对特征进行交叉组合往往能够更好地提升模型效果.…
在线性回归中,是假设每个特征之间独立的,也即是线性回归模型是无法捕获特征之间的关系.为了捕捉特征之间的关系,便有了FM分解机的出现了.FM分解机是在线性回归的基础上加上了交叉特征,通过学习交叉特征的权重从而得到每个交叉特征的重要性.这个模型也经常用于点击率预估. 因为线性回归中特征都是独立存在的,不存在特征组合项,除非事先人工添加.如果要在线性回归上加入二特征组合,可以如下: 其中,n代表样本的特征数量,x_i是第i个特征的值,w_0,w_i,w_ij是模型参数. 从上面公式可以看出组合特征一共…
本项目是一个系列项目,最终的目的是开发出一个类似京东商城的网站.本文主要介绍后台管理中的区域管理,以及前端基于easyui插件的使用.本次增删改查因数据量少,因此采用模态对话框方式进行,关于数据量大采用跳转方式修改,详见博主后续博文. 后台界面展示: 地区管理包含省市县的管理.详见下文. 一.数据库设计 class Province(Base): """ 省 """ __tablename__ = 'province' nid = Column(…
SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming 字数545 阅读52 评论0 喜欢1 JCo3.0调用SAP函数的过程 大致可以总结为以下步骤: 连接至SAP系统 创建JcoFunction接口的实例(这个实例代表SAP系统中相关函数) 设置importing参数 调用函数 从exporting参数或者table参数获取数据 代码: package jco3.demo4; import org.junit.Test; import com.sap.…
2014-10-04 Created By BaoXinjian 一.摘要 PLSQL_性能优化系列14_Oracle High Water Level高水位分析 高水位线好比水库中储水的水位线,用于描述数据库中段的扩展方式.高水位线对全表扫描方式有着至关重要的影响. 当使用delete 操作表记录时,高水位线并不会下降,随之导致的是全表扫描的实际开销并没有任何减少. 本文给出高水位线的描述,如何降低高水位线,以及高水位线对全表扫描的影响. 1. 何谓高水位线 如前所述,类似于水库中储水的水位线…
2014-06-14 Created By BaoXinjian…
摘要:   RDD:弹性分布式数据集,是一种特殊集合 ‚ 支持多种来源 ‚ 有容错机制 ‚ 可以被缓存 ‚ 支持并行操作,一个RDD代表一个分区里的数据集   RDD有两种操作算子:          Transformation(转换):Transformation属于延迟计算,当一个RDD转换成另一个RDD时并没有立即进行转换,仅仅是记住了数据集的逻辑操作          Ation(执行):触发Spark作业的运行,真正触发转换算子的计算   本系列主要讲解Spark中常用的函数操作:…
Tokyo Tyrant(TTServer)系列-tcrmgr(远程管理与调试) tcrmgr是TokyoTyrant的管理工具,对ttserver进行管理与执行命令: 通过输入tcrmgr回车,能够看到相关操作选项:tcrmgr inform [-port num] [-st] host 查看当前服务执行状态信息 tcrmgr put [-port num] [-sx] [-sep chr] [-dk|-dc|-dai|-dad] host key value 保存一条记录 tcrmgr ou…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 4.高级函数 5.总结 转换函数 Oracle 中的转换函数共计超过 20 个,但一大半都是做字节转换.日期(包括时间和时区)转换.LOB 类型转换.ROWID 类型转换等非常见转换的,光日期转换函数就占了 1/3.剩下几个函数当中有 4 个是比较实用的,也就…
1   概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlServer系列]表连接 [SqlServer系列]子查询 当Microsoft Sqlserver 2012 安装好后,接下的的工作需要配置Sqlserver数据库允许远程访问,只有配置了Sqlserver远程访问,其他ip客户端才能访问,配置sqlserver远程访问大致分为三步,即配置SQL S…
原作:面包包包包包包 改动:寒小阳 && 龙心尘 时间:2016年2月 出处:http://blog.csdn.net/Breada/article/details/50697030 http://blog.csdn.net/han_xiaoyang/article/details/50697074 http://blog.csdn.net/longxinchen_ml/article/details/50697105 声明:版权全部.转载请联系作者并注明出处 1. 引言 提笔写这篇博客,…
前言 在上篇Spring MVC入门篇中,我们初步了解了Spring MVC开发的基本搭建过程,本文将针对实际开发过程的着重点Controller部分,将常用的知识点罗列出来,并配以示例.在这之前,我们有必要回顾一下,Spring MVC在我们的WEB开发中,定位或者作用是什么?Spring MVC在项目中,主要作用是接收客户端请求.解析路径并分发请求到相应的控制器即Controller中执行相应方法,在方法中,我们常见的操作有,调用业务逻辑层(后面会介绍到)方法,访问数据库,获取数据或者更新数…
一 scroll系列属性      ——滚动…
本文转自:http://blog.csdn.net/michael_ouyang/article/details/70755892 续上一篇的文章:微信小程序之商品属性分类  —— 微信小程序实战商城系列(4) 自从认识某人后,我收获了两个成功.登录成功.付款成功,而且还拥有了自己的一辆车: 购物车 也发现了自己的不足之处: 余额不足. 为大家介绍的就是购物车 这里演示从商品列表中添加到购物车 下面先做商品列表页.如下图: 布局分析: 首先一个list的主盒子,接着是item盒子,这是必须的.…
第4章     初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:1.<STM8和STM32产品选型手册>2.SetupSTM32CubeMX-4.11.0.exe 4.1 什么是STM32 STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32就是指ST公司开发的32位微控制器.在如…
1. client 系列 示例 : <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .box{ width: 200px; height: 200px; position: absolute; border: 10px solid red; /*m…
这篇文章我们将使用 urllib 和 re 模块爬取百度贴吧,并使用三种文件格式存储数据,下面先贴上最终的效果图 1.网页分析 (1)准备工作 首先我们使用 Chrome 浏览器打开 百度贴吧,在输入栏中输入关键字进行搜索,这里示例为 "计算机吧" (2)分析 URL 规律 接下来我们开始分析网站的 URL 规律,以便于通过构造 URL 获取网站中所有网页的内容 第一页:http://tieba.baidu.com/f?kw=%E8%AE%A1%E7%AE%97%E6%9C%BA&am…
这篇文章我们将使用 requests 和 xpath 爬取豆瓣电影 Top250,下面先贴上最终的效果图: 1.网页分析 (1)分析 URL 规律 我们首先使用 Chrome 浏览器打开 豆瓣电影 Top250,很容易可以判断出网站是一个静态网页 然后我们分析网站的 URL 规律,以便于通过构造 URL 获取网站中所有网页的内容 首页:https://movie.douban.com/top250 第二页:https://movie.douban.com/top250?start=25&filt…