每一行是一部电影,每一列是一个人,而单元格的数据则是该人对该电影的兴趣度:

dat <- matrix(
  data = c(1,0,1,0,
           0,1,-1,1,
           1,0,1,0,
           1,-1,1,-1,
           -1,1,-1,0,
           0,-1,1,-2),
  nrow = 6,
  byrow = T,
  dimnames = list(c('海上钢琴师','流浪地球', '寻梦环游记',
                    '疯狂动物城', "星际穿越", "美丽人生"),
                  c('陈敏', "王磊", "肖埼", "刘刚"))
)
dat
##            陈敏 王磊 肖埼 刘刚
## 海上钢琴师    1    0    1    0
## 流浪地球      0    1   -1    1
## 寻梦环游记    1    0    1    0
## 疯狂动物城    1   -1    1   -1
## 星际穿越     -1    1   -1    0
## 美丽人生      0   -1    1   -2

SVD分解

(SVD <- svd(dat))
## $d
## [1] 3.8674630 2.0559739 0.7793420 0.4564289
## 
## $u
##            [,1]        [,2]       [,3]        [,4]
## [1,] -0.2492718 -0.47492314  0.4276035  0.17165901
## [2,]  0.4163181 -0.25759025  0.2283338 -0.67689747
## [3,] -0.2492718 -0.47492314  0.4276035  0.17165901
## [4,] -0.5085859 -0.07772673 -0.1064321 -0.68845565
## [5,]  0.3729446  0.38982151  0.6747350 -0.06069724
## [6,] -0.5519593  0.56968503  0.3399691 -0.07225542
## 
## $v
##            [,1]       [,2]        [,3]        [,4]
## [1,] -0.3568422 -0.6894030  0.09500316 -0.62318663
## [2,]  0.4783001 -0.1749667  0.85909873  0.05064616
## [3,] -0.6072072 -0.2870266  0.23824622  0.70153676
## [4,]  0.5245875 -0.6416587 -0.44290237  0.34193503

矩阵\(U\)中,行是电影,列是归纳出的电影主题,数值可以理解为两者的相关程度(也就是线性组合的系数)

\(A^{t}U\)就得到了不同个体对四个电影主题的偏好:

t(dat) %*% SVD$u
##           [,1]       [,2]        [,3]        [,4]
## 陈敏 -1.380074 -1.4173945  0.07403995 -0.28444039
## 王磊  1.849808 -0.3597270  0.66953173  0.02311637
## 肖埼 -2.348352 -0.5901192  0.18567529  0.32020166
## 刘刚  2.028823 -1.3192336 -0.34517243  0.15606903

矩阵\(V\)中,行是人,列是归纳出的人的类型,数值可以理解为两者的相关程度:

\(A^{t}U\)就得到了不同电影被哪几种类型的人喜欢:

dat %*% SVD$v
##                  [,1]       [,2]        [,3]        [,4]
## 海上钢琴师 -0.9640495 -0.9764296  0.33324938  0.07835014
## 流浪地球    1.6100948 -0.5295988  0.17795013 -0.30895557
## 寻梦环游记 -0.9640495 -0.9764296  0.33324938  0.07835014
## 疯狂动物城 -1.9669370 -0.1598041 -0.08294697 -0.31423106
## 星际穿越    1.4423496  0.8014628  0.52584935 -0.02770397
## 美丽人生   -2.1346823  1.1712576  0.26495224 -0.03297946