深度/机器学习基础知识要点:Matrix Factorization

MF(Matrix Factorization)

  • MF的基本原理
    将一个矩阵D分解为U和V的乘积,即对于一个特定的规模为 m n m*n 的矩阵D,估计出规模分别为 m k m*k n k n*k 的矩阵U和V,使得 U V T UV^T 的值尽可能逼近矩阵D,一般来讲,k的取值应该满足 k m i n ( m , n ) k≤min{(m,n)}

    如果在推荐系统中,D代表用户对商品的行为矩阵的话,那么U和V则分别代表embedding表示的用户和商品向量。
    以公式来表示的话,就是 :
    在这里插入图片描述

    其中 U i U_i 表示 U U 矩阵第 i i 行的向量, V j V_j 表示 V V 矩阵第j行向量。

    为了限制 U , V U,V 的取值呈现一个以0为中心的正态分布,这里对 U , V U,V 的值加上正则项,得到目标优化项:
    在这里插入图片描述
    L L U i U_i 的偏微分,得到对应梯度:
    在这里插入图片描述

    将该结果扩展,可以得到对 L U V L求U和V 的偏微分为:
    在这里插入图片描述
    得到梯度以后,既可以通过梯度对 U V U,V 的值进行迭代。如果是采用最简单的梯度下降的话,则迭代公式如下:
    在这里插入图片描述
    其中 α α 表示学习速率。

  • 推荐阅读
    矩阵分解

猜你喜欢

转载自blog.csdn.net/zengNLP/article/details/104185661