MF(Matrix Factorization)
-
MF的基本原理
将一个矩阵D分解为U和V的乘积,即对于一个特定的规模为 m ∗ n m*n m∗n 的矩阵D,估计出规模分别为 m ∗ k m*k m∗k 和 n ∗ k n*k n∗k 的矩阵U和V,使得 U V T UV^T UVT的值尽可能逼近矩阵D,一般来讲,k的取值应该满足 k ≤ m i n ( m , n ) k≤min{(m,n)} k≤min(m,n) 。如果在推荐系统中,D代表用户对商品的行为矩阵的话,那么U和V则分别代表embedding表示的用户和商品向量。
以公式来表示的话,就是 :

其中 U i U_i Ui表示 U U U 矩阵第 i i i 行的向量, V j V_j Vj 表示 V V V 矩阵第j行向量。
为了限制 U , V U,V U,V的取值呈现一个以0为中心的正态分布,这里对 U , V U,V U,V的值加上正则项,得到目标优化项:

对 L L L求 U i U_i Ui的偏微分,得到对应梯度:

将该结果扩展,可以得到对 L 求 U 和 V L求U和V L求U和V的偏微分为:

得到梯度以后,既可以通过梯度对 U , V U,V U,V的值进行迭代。如果是采用最简单的梯度下降的话,则迭代公式如下:

其中 α α α 表示学习速率。 -
推荐阅读
矩阵分解
本文深入解析了矩阵分解(MF)的基本原理,介绍如何将一个大规模的用户行为矩阵分解为两个较小的矩阵,用于推荐系统中用户和商品的embedding表示。通过公式详细解释了MF的目标优化过程,以及如何使用梯度下降法进行参数迭代。
602

被折叠的 条评论
为什么被折叠?



