赞
踩
本文是笔者参与datawhale组织的深度推荐模型组队学习的分享,学习内容见本链接 ,本文中所指的教程即该链接中的相应文件。
DeepFM这篇比之前两篇更难理解了一些,DeepFM对Wide&Deep的改进主要在于wide侧使用了FM,而FM又使用了矩阵分解的思想,因此这篇我回顾一下从传统机器学习到DeepFM每个算法都在注重解决什么问题,帮助自己理解DeepFM。
协同过滤的总体思路是建立m个用户与n个物品的共现矩阵,通过使用余弦相似度、皮尔逊相关系数等计算相似度的算法,计算用户与物品,或物品与物品的相似度,来进行推荐,分为基于用户的协同过滤和基于物品的协同过滤。
根据共现矩阵按行求用户相似度,根据相似用户喜欢的物品加权平均排序之后做推荐。
根据共现矩阵按列求物品相似度,根据用户正反馈的物品的相似物品加权平均排序之后做推荐。
将M×N的用户-物品共现矩阵分解成 M×K 与 K×N的用户矩阵与物品矩阵,因此每个用户和物品都是k维空间的一个值,通过空间中与用户最近的物品来进行推荐。
其中,k是隐向量维度,k越大模型泛化能力弱,记忆能力强,k越小模型泛化能力越强。k的设定是根据推荐效果和工程开销而定。
当k确定后,矩阵的计算通过梯度下降计算,损失函数为当前用户矩阵与物品矩阵的乘积与原始矩阵的差值的平方和(通常加正则项)。
注意:在实际使用时还需要消除用户和物品的打分偏差(不同用户尺度不同,不同物品被打分的尺度也不同)
使用用户、物品、用户属性、物品属性、上下文信息等特征根据具体任务构造逻辑回归模型,每次推荐时根据输入特征预测出物品点击的概率,根据概率排序推荐。
为解决逻辑回归不能自动进行特征组合的问题,推荐系统引入了因子分解机FM。
在FM之前,POLY2模型首先提出了一种自动特征组合的方法,即使用暴力法两两组合特征,每个特征的权重仍是一个标量,将这样构造的特征交给逻辑回归,POLY2的模型如下所述, x j 1 x j 2 x_{j_{1}} x_{j_{2}} xj1xj2为
∅ POLY 2 ( w , x ) = ∑ j 1 = 1 n − 1 ∑ j 2 = j 1 + 1 n
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。