首页 > 编程知识 正文

fm96.8,FMA架构

时间:2023-05-03 22:51:29 阅读:14349 作者:313

调频是一种不得不提的算法,将部分笔记内容整理成博客,内容文字不系统,只能作为记录点。

让我们从特征组合开始:

逻辑回归最朴素的特征组合是二次直积,但其中也存在问题:

两者组合维数灾难组合后的特征并不总是有效的,通常很多无效特征组合后的特征样本非常稀疏,只有在样本中存在相应的组合才能学习参数,其组合是无意义的y=0ixiijxixj

如公式所示,如果没有足够的样本来学习所有特征组合的权重,则在预测这些组合的新样本时,没有适当的权重,因此只能放弃

针对这一问题,提出了因子分解机模型调频(FM )。

调频型号:

1 .原理

调频是2010年提出的。 由于逻辑回归在特征组合时样本稀疏,无法学习许多组合的权重问题,因此因子分解器的提出者认为能否对上式的ij进行解耦,使其针对每个特征学习隐藏因子向量

就像前提的LFM一样,对于每个用户和项目学习隐藏因子向量一样,只需要将用户和项目的组合改变为特征和特征的组合。 这样,当任何两个特征都需要在使用时进行组合时,提取各自具有的隐藏因子变量生成向量点积就成为两者组合特征的权重。

y=0ixiVI,Vjxixj

该式与前面特征的组合式相比,不是用原来的ij权重,而是用两个隐藏因子向量的点积来代替

背后假说:其实两个特征之间,即使不是一个样本共同出现,也被认为是有间接联系的。 例如,如果特征a和特征b可以一起出现在一些样本中,而a和c也可以一起出现,则无论特征a和特征c是否一起出现在样本中,都应该存在某种联系

实际预测CTR时,如果特征a和特征c真正出现在一起并使用FM模型,则预测程序从数据库中提取特征a和特征c的隐藏因子向量进行点积运算,得到a和c特征组合的权重

因子分解机的先进之处就在这里。 同样,也可以创建三阶、四阶的组合,但组合越多,计算的复杂性就会急剧增加。 因此,在实际使用中,调频通常表演到2次特征的组合就足够了

2 .模特培训

因子分解器的参数学习没有什么特别之处,从目标函数来看,在二分类问题中,输出需要进行s形函数变换,仍然可以用于与LR同样的交叉熵损失。

对该交叉熵损失求梯度下降或SGD得到模型参数,没有区别。

请注意,必须在损失函数中添加正规项,以控制偏差和方差

3 .预测阶段

在实际计算中,FM二次特征组合点积的计算有点复杂。 如果隐货币维度为k,特征维度为n,则复杂度为o(kn^2)。 其中n^2指示特征需要两个或两个的组合,且k是需要为每个组合计算k维向量的点积。 因此需要稍微改造一下。

循环一次Loop1。 k是隐因子转矩的维度。 在此,循环到第f次时:

Loop2)循环n个特征,第I次循环时:

从第I个特征的隐藏因子向量中取出第f个维度的值来计算两个值。 a的特征是将f维的值相乘,其中b是以a的平方累计n个a,平方得到c,n个b也累计得到d

C - D得到e

最后用k循环得到的k个e累积除以2

这就是因子分解机,结合部分的实际计算方法。

这样做的计算复杂度只是O(kn)

 

4. 一网打尽其他模型

这里说的一网打尽并不是打败,而是说FM可以变形成其他模型

1、若样本特征只保留用户id和电影id,FM模型变成:

Y = ω0 + ωu + ωi + <Vu, Vi>

在一条样本中,各自都只有一个维度为1,其他都是0,所以在一阶部分没有求和,二阶部分也只剩下一个1,其他为0。这就是带有偏置信息的SVD矩阵分解

2、继续若在样本特征加入用户历史评分过的电影id,再求隐因子向量,这就是SVD++

 

因此,因子分解机是把矩阵分解一网打尽了,顺便还干起逻辑回归的工作,也正因如此,因子分解机常常用来做模型融合,在推荐系统的排序阶段肩负起对召回结果重排序的任务

 

FFM

在FM的基础上进行一些改进,改机的思路是,不但认为特征和特征之间潜藏着一些关系,还认为特征和特征类型之间潜藏着关系。

这个特征类型,就是某些特征实际上是来自数据的同一个字段,比如用户ID,占据了很多维度,变成了很多特征,但他们都属于同一个类型,都叫用户ID。这个特征类型就是字段,Field。

之前的FM中,认为每个特征由一个隐因子向量,FFM改进的是二阶组合部分,改进的模型认为每个特征有f个隐因子向量,这里的f便是特征一共来自多少个field,二阶部分变为ΣΣ<Vi,fj,Vj,fi>xi xj

FFM模型也常用来做CTR预估,在FM和FFM实践中,需要对样本做归一化处理。

 

总结:

严格来说,因子分解机也算矩阵分解算法的一种,因为它的学习结果也是隐因子向量,也是用过隐因子向量的点积代替原来的单个权重参数。

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