特征的选择: 离散or连续
用处:用于是否点击预测、评分 优点:数据稀疏也可用 对于每个二阶组合特征的权重,是根据对应两个特征的Embedding向量内积,来作为这个组合特征重要性的指示。当训练好FM模型后,每个特征都可以学会一个特征embedding向量 介绍 code 一个例子
wij分解为v:减少参数量,使训练更容易,这是矩阵分解的思路 v是特征的向量 交叉特征 其中f/k:是v的size,n是特征的个数
vx:使用embedding实现 wx:也用embedding实现
vx:
wx:
因子:和的平方-平方的和
效果和参数量级
MovieLens: k=16 n=6040+3952(用户数加电影数) epoch=31,test auc: 0.8142968981785388,early stop
SVM
相比SVM的二阶多项式核而言,FM在样本稀疏的情况下是有优势的;而且,FM的训练/预测复杂度是线性的,而二项多项式核SVM需要计算核矩阵,核矩阵复杂度就是N平方。
MF
FM:我们可以加任意多的特征,比如user的历史购买平均值,item的历史购买平均值等, 但是MF只能局限在两类特征。 SVD++与MF类似,在特征的扩展性上都不如FM
美团的文章 FM公式 有n*k个二次项
FFM公式
有nkf个二次项,表达能力更强 -> 特征的embedding->特征i对特征j的场,每个特征有多个场(向量?),每个特征都有一个特征矩阵 优点:参数多,表达能力强 缺点:复杂度高,笨重,容易过拟合 复杂度:相对于n而言都是线性的
简化公式:
FFM模型作为排序模型,效果确实是要优于FM模型的,但是FFM模型对参数存储量要求太多,以及无法能做到FM的运行效率,如果中小数据规模做排序没什么问题,但是数据量一旦大起来,对资源和效率的要求会急剧升高,这是严重阻碍FFM模型大规模数据场景实用化的重要因素。 纯结构化数据还是不适合深度学习,LSTM和CNN做分类还是不太好。
解决过拟合:早停,选较小的k。 一般在几千万训练数据规模下,k取8到10能取得较好的效果
FM: FFM: “Day=26/11/15”、“Day=1/7/14”、“Day=19/2/15”这三个特征都是代表日期的,可以放到同一个field中 Coutry:一个field Ad_type一个field 共有3个field 上面共有n=7个特征,共属于3个field(f=3)
值为1:存在该特征 值为9.99:价格等于9.99
在训练FFM的过程中,有许多小细节值得特别关注。
第一,样本归一化。FFM默认是进行样本数据的归一化,即 pa.norm 为真;若此参数设置为假,很容易造成数据inf溢出,进而引起梯度计算的nan错误。因此,样本层面的数据是推荐进行归一化的。
第二,特征归一化。CTR/CVR模型采用了多种类型的源特征,包括数值型和categorical类型等。但是,categorical类编码后的特征取值只有0或1,较大的数值型特征会造成样本归一化后categorical类生成特征的值非常小,没有区分性。例如,一条用户-商品记录,用户为“男”性,商品的销量是5000个(假设其它特征的值为零),那么归一化后特征“sex=male”(性别为男)的值略小于0.0002,而“volume”(销量)的值近似为1。特征“sex=male”在这个样本中的作用几乎可以忽略不计,这是相当不合理的。因此,将源数值型特征的值归一化到 [0,1] 是非常必要的。
第三,省略零值特征。从FFM模型的表达式(4)可以看出,零值特征对模型完全没有贡献。包含零值特征的一次项和组合项均为零,对于训练模型参数或者目标值预估是没有作用的。因此,可以省去零值特征,提高FFM模型训练和预测的速度,这也是稀疏样本采用FFM的显著优势。
以上就是本篇文章【【搜索/推荐排序】FM,FFM,AFM,PNN,DeepFM:进行CTR和CVR预估】的全部内容了,欢迎阅览 ! 文章地址:http://mdekt.bhha.com.cn/news/213.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 康宝晨资讯移动站 http://weazh.bhha.com.cn/ , 查看更多