推荐系统之---如何理解低秩矩阵?

1.说明

在推荐系统中有有一种推荐方式:LFM,也叫隐因子分解。这中推荐方式在Netflix公司的百万美金大赛中可以说是大放异彩。但是在这里面涉及到一个假设。假设评分矩阵是低秩的(Low rank)。
那什么样的矩阵是低秩的?怎么理解低秩呢?

2.图像中的“秩”

除了在推荐系统中应用低秩概念,其实在图像处理中也会应用到低秩。秩的英文表达是rank,在图像中rank可以理解为图像中所包含信息的丰富程度。

  • 举一个简单的例子,一张大海的风景图片,在图片中有一搜大船,如下图:

* 这个图片中,大部分的篇幅是水,除了水就只有一艘大船,而水和水是相似的(此时我们把水看做是单独的元素),所以如果没有船只有水,那么这幅图的信息量是很低的,以为我们可以理解有一个水的像素,其他的都是复制品。

  • 如果在这幅图中添加这样的一艘船,那么它的秩就会变大。
  • 简单总结,就是图片有比较突兀的成分,如上面的船只,就会增加图像的秩。
  • 对于现实中比较好的图片,往往秩比较低的,也就是图像比较规整,重点的突出点是有的,但是大部分像素是相似的;假如图片的秩很高,那结果就是图像杂乱无章,或者是噪声比较高。
  • 因此,在做图像处理时,可以通过降低秩来去除图片中的噪点

3.“秩”的理解

  • “秩”,在汉字中的意义,可以理解为“秩序”。那么低秩,也就意味着“秩序比较低”。
  • 举个栗子:排队买票,如果大家都互相不认识,大家都安安稳稳的排队买票,非常有秩序也就是是秩序比较高;如果突然来了一个人,与前面的人认识,就插队买票,后面的人就很不爽他,说自己也有认识的人去插队,这样大家都去插队,整个队伍就乱了,这样就没有了秩序,也就是秩序比价低
  • 通过上面的栗子得出结论:认识–>秩序低;不认识–>秩序高。
  • 那么从数学上怎么理解呢!相关或者相似–>秩序低;不相关或不相似–>秩序高。
  • 数学家怎么定义!矩阵中的最大的不相关的向量个数,就叫做秩。

4.矩阵中的“秩”

先看个解方程组的例子:
5 x + 7 y + z = 8 5x + 7y + z= 8 5x+7y+z=8
x + y + z = 3 x + y + z= 3 x+y+z=3
2 x + 2 y + 2 z = 6 2x + 2y + 2z= 6 2x+2y+2z=6

  • 对于上面的方程组,第1个方程和第2个方程有不同的解,但是第2和第3个方程有相同的解。那么方程3存在的意义就完全没有了,因为它是“冗余的”,没有带来任何信息或者价值,把他去掉所得到的方程组的解与之前没有任何差异。为了从方程组中去掉多余的方程,自然就导出了“矩阵的秩”这个概念。
  • 在大学学习线性代数时,我们为了求解矩阵A的秩,通常是通过对矩阵A进行初等变换,把矩阵A化为阶梯型矩阵,若该阶梯矩阵有R个非零行,那么矩阵A的秩rank(A) = R。
  • 从物理意义上看,矩阵的秩,度量的就是矩阵的行、列之间的相关性。对于上面?的方程组,第2和第3方程,就是相关方程。对应的矩阵的秩,就是2.
  • 满秩的概念:如果矩阵中的各个行、列都是线性无关的,矩阵就是满秩的。秩就等于行数。

5.推荐评分矩阵的“秩”

  • 既然矩阵可以度量相关性,而矩阵的相关性实际上就表示了矩阵的结构信息。如果矩阵之间各行的相关性很强,那么就表示这个矩阵实际可以投影到更低的线性子空间,也就是用几个向量就可以完全表达了,那么它就是“低秩的”。
  • 推荐系统中的隐因子分解,就是假设评分矩阵是“低秩的”,为何做这样的假设?
    • 评分矩阵都是稀疏的,也就是大部分的评分都是空的。我们在做推荐的时候,希望能够把空的评分位置填充上评分。这样就可以根据评分的高低,对用户提供推荐服务。
    • “低秩矩阵”表示,行、列都具有相关性。通俗来讲,就是可以用一部分的行、列来表示另一部分行、列。而恰恰矩阵是稀疏的,说以可以利用这种相关性来填充矩阵。
  • 矩阵低秩的假设
    • 一方面符合我们对自然界的观测。
    • 另一方面可以用“物以类聚,人以群分”,对于U-I矩阵,行的相似性就是“人以群分”;列的相似性就是“物以类聚”。
  • 何为“低秩”:
    • 对于一个m行n列的矩阵X,rank(X)<

你可能感兴趣的:(推荐系统)