首页 > 编程知识 正文

prewitt算子和sobel算子的区别,deep and wide歌词

时间:2023-05-03 15:31:06 阅读:27027 作者:1233

调频

线性模型的二次特征组合

$w_ij$是固定的。

对于n个特征的模型,与组合前的参数订单相比增加订单的是$n^2$ :

n个特征组合为n(n-1 )/2,例如) n=) 1000个特征,增加近50万个参数。

怎么才能减少参数?

概要

因子分解机(Factorization Machine )又称分解机。

以线性二次特征组合模型为基础,在稀疏数据条件下解决特征组合问题。

假设函数:

其中

上面的第一个表达式表示数据的假设函数。

(特征的个数,I )第I个特征。

第$w_i$个特征的权重参数、第$x_i$个特征的数据值、第$v_i$个特征的嵌入式向量。

$ $ :对第I,j个特征的嵌入式向量进行内积,得到标量值。 只与特征有关,与样品无关。 也就是说,具体的两个特征组合的权重是恒定的,所有特征两个组合的每个组合的权重是恒定的。

$x_i x_j$,第j个特征对应于数据值的乘积,并且特征首先被转换为数字。

在第二个公式中:

k表示嵌入式向量的长度

部署原因:

1、弥补线性模型稀疏时组合特征学习不足的问题(线性模型假设模型彼此独立,只学习了一阶关系)。

实际上,特征之间有关联。

2、解决二级特征组合问题

学习两个特征模型,每两个特征一个参数w。

参数多的话,n维的特征是学习n(n-1 )/2个参数

稀疏性的问题,即使将实际的数据乘以2也往往是0,无法学习。

原理:

每个特征都有相应大小为k的一维隐向量,通过学习FM模型获得。

两个特征所表示的权重被这两个特征的内积所取代。 w(I,j )=v ) I ) v ) j ) v是k维。

导出

降低责任度:

但经过一些数学变换,复杂度从$o(n^2) $下降到$o ) nf ) $

代码

几个问题

为什么调频比线性二两组合更好?

线性特征由两个特征组合而成,FM是分解得分值的角度分割的隐含特征。

两种组合的特点有两个问题。 一个是计算量的问题,另一个是数据稀疏的问题。

调频正好可以解决这两个问题,计算量呈指数减少,有效解决数据稀疏问题。

调频泛化能力强的原因

虽然LR学习了与LR中手动特征组合相比组合两个特征的单独权重值,但是FM巧妙地将单独权重划分为两个。 一个是特征I的嵌入式表示,另一个是特征j的表示,通过使用内积进行乘法运算,表现出两个特征I、j组合的新权重。

也就是说,权重是对应于特征的组合还是对应于某个特征,LR选择前者,FM选择后者,因此FM更加统一。

学习LR模型时如果没有出现两个特征的组合,$W_i,j$就不能学习。

在调频中,嵌入式几乎没有学不到的事情,只要I的特征和其他特征出现过$V_i$就可以学习到。

综上所述,调频泛化能力更高。

在什么情况下容易过度泛化

矩阵非常稀疏,高秩时容易过度泛化(是FM和DNN模型的共同缺点)。

查询项矩阵稀疏、高通道时(用户有特殊爱好、项小等),很难非常高效地学习低维显示。

在这种情况下,大多数查询项没有任何关系。 但是,由于dense embedding的大多数查询项预测值不是0,因此建议过度泛化,并建议不太相关

时间复杂度o(kn ) ) ) ) ) ) )。

FM :基于公式改写时间的复杂度从o(kn )2) )降低到o(kn )

调频

FM根据事先的规则将特征分成多个场(场),并且特征xi属于一个特定场f。

组合两个特征xi、xj时,用与对方对应的场对应的隐藏向量建立内积!

fi、fj是分别与特征xi、xj对应的场编号。

调频与调频的比较

虽然FM可以对高阶特征的组合进行建模,但是实际上由于计算复杂度,通常仅使用高阶特征的组合。

对于高阶特征的组合,我们的自然想法是被多层神经网络DNN解决,即FFM。

DFM

解决了低阶特征和高阶特征组合的问题。

层结构

输入图层-稀疏特征图层:为“删除嵌入式”图层提供输入。

为调频层提供低阶特性输入。

嵌入嵌入层:实现稀疏向量压缩为低维稠密向量。

为调频层提供组合特征输入

为DNN层提供全连接输入。

DNN隐藏层:由高阶特征组合隐藏的层。

f

M层:负责低阶特征提取

Wide&Deep和DeepFM比较

总结下wide&deep和DeepFM的异同:

1)两者的DNN部分模型结构相同,DNN部分负责二阶以上的高阶特征交叉;

2)wide&deep需要做特征工程,二阶特征交叉需要靠特征工程来实现,通过wide部分发挥作用;

3)DeepFM完全不需要做特征工程,直接输入原始特征即可,二阶特征交叉靠FM来实现,并且FM和DNN共享embedding;

4)从试验结果来看DeepFM效果优于wide&deep。

MF矩阵分解 与 FM因子分解机

MF(Matrix Factorization,矩阵分解):推荐系统领域里的最经典,历史最悠久的协同过滤模型。

核心思想是通过两个低维小矩阵(一个代表用户embedding矩阵,一个代表物品embedding矩阵)的乘积计算。

原始输入是评分矩阵。

相同和区别:

相同:二者都隐含了embedding思想。

矩阵分解模型是因子分解机模型的特例,矩阵分解可以被认为是只有User ID 和Item ID这两个特征。

MF用的评分信息,评分信息只能用作

FM继承了MF的特征embedding化表达这个优点

不同:是否可以引入新特征:FM可以用很多特征。MF只有评分信息,没有特征,如果实际项目中没有显示评分数据使用MF不方便(除非根据规则造一个评分数据)

隐特征含义不同:FM的每一个特征(用户物品下面会有多个特征)都有embedding。MF的用户有一个embedding,物品有一个embedding。

问题的形式不同:MF是给出评分,再进行评分预测的问题。FM可以是点击率预估问题。

在推荐系统中的地位不同:MF由于特征引入受限只用来召回,FM即可以召回又可以排序。

LR 与 FM

LR实现特征组合:

LR可以使用“线性模型+人工特征组合引入非线性”的模式引入特征组合。

优点:

因为LR模型具有简单方便易解释。

容易上规模等诸多好处。缺点:

人工特征工程,耗时费力费人力资源。

对组合特征建模,泛化能力比较弱,特征相乘为0导致权重为0的情况比较多。

尤其是在大规模稀疏特征存在的场景下,这个毛病尤其突出,比如CTR预估和推荐排序,这些场景的最大特点就是特征的大规模稀疏。

FM自动实现组合:

相比LR ,$W_{i,j}$ 用内积$$代替,$v_i$和$v_j$二者均为长度为k的向量。

SVM 与 FM

和SVM模型最大的不同,在于特征组合 权重的计算 方法。

FM 与DNN

FM和DNN都算是这样的模型,可以在很少的特征工程情况下,通过学习一个低纬度的embedding vector来学习训练集中从未见过的组合特征。

参考:

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