奇异值分解(SVD)的理解

来源:互联网 发布:java并发编程实战下载 编辑:程序博客网 时间:2024/06/05 14:35

SVD:Sigular Value Decomposition

SVD有深刻的物理含义,需要理解

  • SVDSigular Value Decomposition
    • Definition
    • Properties
    • examples

1 Definition

A[m×n]=U[m×r]Σ[m×r](V[n×r])T

A: input data matrix
 ☆ m × n matrix(e.g, m documents, n terms)
U: Left singular vectors
 ☆ m × r matrix(e.g, m documents, r concepts)
Σ:Singular values
 ☆ r × r diagonal matrix (strength of each concept )(r: rank of matrix A)
V:Right singular vectors
 ☆ n × r matrix(n terms, r concepts)

2 Properties

It is always possible to decompose a real matrix A into UΣVT, where
U, Σ, V :unique(唯一的)
  i.e唯一的A, 会分解得到唯一的U, Σ, V
U, V: column orthonormal(列标准正交化)
 ☆UTU=I;VTV=I (I: identity matrix)
 ☆(Columns are orthogonal unit vectors)
Σ: diagobal(对角的)
 ☆Entries(singular values) are positive,and sorted in decreasing order(σ1σ2...0)

3 examples

这里写图片描述
以上是SVD的一个例子
A 是用户对7个用户(7 rows)对5部(5 columns)电影的打分.对A分解得到
A=U[7×3]Σ[3×3]VT[5×3]
U每一列“意味”着一个concept.
 ☆ so there are 3 concepts
Σ 对角线上每一个元素一位置concept强度
 ☆可以看出 3th concepts 的强度很低, 可以判断出这一concept不太重要
V 是”movie-to-concept” simlarity matrix.
3 rows 代表3种不同的concept,5 columns代表5部不同的电影. 这一矩阵表明了每一部电影与每一种concept相似度,或者说, 每一部电影属于每一种concept概率.

According to first row [0.56 0.59 0.56 0.09 0.09], we can say:
similarity(movie_1, concept_1) = 0.56
similarity(movie_2, concept_1) = 0.59
similarity(movie_3, concept_1) = 0.56
similarity(movie_4, concept_1) = 0.09
similarity(movie_5, concept_1) = 0.09

本篇来自于Youtube视频的总结学习.