网站怎么登陆后台,深圳宝安区怎么样,做的好的茶叶网站有哪些,电商平台有哪些?协同过滤-矩阵分解算法1.奇异值分解2.梯度下降3.矩阵分解方法的优缺点《深度学习/推荐系统》读书笔记#xff08;其实矩阵分解和协同过滤已经没有特别大的联系了#xff09; 2006年#xff0c;在Netfilx举办的推荐算法竞赛中Netflix Prize Challenge中#xff0c;以矩阵分解…
协同过滤-矩阵分解算法1.奇异值分解2.梯度下降3.矩阵分解方法的优缺点《深度学习/推荐系统》读书笔记其实矩阵分解和协同过滤已经没有特别大的联系了 2006年在Netfilx举办的推荐算法竞赛中Netflix Prize Challenge中以矩阵分解为主的推荐算法大放异彩拉开了矩阵分解算法在业界流行的序幕。
Netflix 推荐场景–利用用户的行为历史在Netflix视屏应用中为用户推荐喜欢的电影、电视剧或者纪录片。
矩阵分解算法基本思路–将用户和视频都表示成一个隐向量计算每个用户隐藏向量和所有视频隐向量之间内积将内积最大的topK的视屏推荐给目标用户。
m∗nm*nm∗n维共现矩阵RRR分解成m∗km*km∗k维用户矩阵U和k∗nk*nk∗n维物品矩阵VVV RU∗VRU * VRU∗V
则用户uuu对物品i的重构评分为(pup_upu-U矩阵的行向量qiq_iqi-V矩阵的列向量): r^uiqiTpu(2.6)\hat{r}_{ui}q^T_ip_u\tag{2.6}r^uiqiTpu(2.6) 迷惑点1:用户隐藏向量和所有视频隐向量之间内积其实就是重构用户对每一部电影的品评分推荐重构评分高的电影 是如何 实现了用户对未评分电影的预测的呢矩阵分解中缺失值该怎么处理呢就是用户没有评分的项目。
矩阵分解的方法特征值分解、奇异值分解、梯度下降 特征值分解–只能作用于方阵不适用于分解用户-物品矩阵
1.奇异值分解
Singular Value Decomposition-SVD MUm∗mΣm∗nVn∗nM U_{m*m}\Sigma_{m*n} V_{n*n}MUm∗mΣm∗nVn∗n
近似分解 M≈Um∗kΣk∗kVk∗nM\approx U_{m*k}\Sigma_{k*k} V_{k*n}M≈Um∗kΣk∗kVk∗n
缺点不适用于大规模稀疏矩阵的分解
SVD要求原始共现矩阵是稠密的需要对缺失的元素进行填充。SVD时间复杂度高(O(mn2)O(mn^2)O(mn2))
2.梯度下降
SVD的缺点使得研究者门另求他路–梯度下降法矩阵分解的主要方法 基本思路–参数化qiTpuq^T_ip_uqiTpu使其和原始评分ruir_{ui}rui的差距尽量小
正则化目标函数 minq∗,p∗∑(u,i)∈K(rui−qiTpu)2λ(∣∣qi∣∣2∣∣pu∣∣2)(2.8)\min_{q^*,p^*}\sum_{(u,i)\in K}(r_{ui}-q^T_ip_u)^2\lambda(||q_i||^2||p_u||^2)\tag{2.8}q∗,p∗min(u,i)∈K∑(rui−qiTpu)2λ(∣∣qi∣∣2∣∣pu∣∣2)(2.8)
为了消除用户和物品打分的偏差修正目标函数 minq∗,p∗∑(u,i)∈K(rui−μ−bu−bi−qiTpu)2λ(∣∣qi∣∣2∣∣pu∣∣2bu2bi2)\min_{q^*,p^*}\sum_{(u,i)\in K}(r_{ui}-\mu-b_u-b_i-q^T_ip_u)^2\lambda(||q_i||^2||p_u||^2b_u^2b_i^2)q∗,p∗min(u,i)∈K∑(rui−μ−bu−bi−qiTpu)2λ(∣∣qi∣∣2∣∣pu∣∣2bu2bi2)
其中μ\muμ是全局偏差常数bib_ibi是物品偏差系数(物品i收到的平均评分)bub_ubu用户偏差系数(用户u给出评分的均值)
3.矩阵分解方法的优缺点
优点
泛化能力强–数据稀疏时的相似度也能衡量空间复杂度低扩展性和灵活性–用户物品隐向量与Embedding的思想相似可以与其他特征进行拼接。
缺点 矩阵分解还是下共现矩阵的基础下进行的。共现矩阵缺点–一个矩阵只能表征用户和物品之间的一种作用关系(点击购买评分)特征表示能力弱。不便加入用户、物品的上下文相关特征。