楼主: 我是小趴菜
651 0

[数据挖掘新闻] 怎么用R矩阵奇异值分解 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

楼主
我是小趴菜 发表于 2022-11-11 11:47:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

A为m×n矩阵,rank(A)= r, 可以分解为:A=UDV',其中U'U=V'V=I。在R中可以用函数

scd()进行奇异值分解,例如:

> A=matrix(1:18,3,6)

> A

[,1] [,2] [,3] [,4] [,5] [,6]

[1,] 1 4 7 10 13 16

[2,] 2 5 8 11 14 17

[3,] 3 6 9 12 15 18

> svd(A)

$d

[1] 4.589453e+01 1.640705e+00 3.627301e-16

$u

[,1] [,2] [,3]

[1,] -0.5290354 0.74394551 0.4082483

[2,] -0.5760715 0.03840487 -0.8164966

[3,] -0.6231077 -0.66713577 0.4082483

$v

[,1] [,2] [,3]

[1,] -0.07736219 -0.7196003 -0.18918124

[2,] -0.19033085 -0.5089325 0.42405898

[3,] -0.30329950 -0.2982646 -0.45330031

[4,] -0.41626816 -0.0875968 -0.01637004

[5,] -0.52923682 0.1230711 0.64231130

[6,] -0.64220548 0.3337389 -0.40751869

> A.svd=svd(A)

> A.svd$u%*%diag(A.svd$d)%*%t(A.svd$v)

[,1] [,2] [,3] [,4] [,5] [,6]

[1,] 1 4 7 10 13 16

[2,] 2 5 8 11 14 17

[3,] 3 6 9 12 15 18

> t(A.svd$u)%*%A.svd$u

[,1] [,2] [,3]

[1,] 1.000000e+00 -1.169312e-16 -3.016793e-17

[2,] -1.169312e-16 1.000000e+00 -3.678156e-17

[3,] -3.016793e-17 -3.678156e-17 1.000000e+00

> t(A.svd$v)%*%A.svd$v

[,1] [,2] [,3]

[1,] 1.000000e+00 8.248068e-17 -3.903128e-18

[2,] 8.248068e-17 1.000000e+00 -2.103352e-17

[3,] -3.903128e-18 -2.103352e-17 1.000000e+00




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:r矩阵 奇异值 matrix Rank SVD

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 22:06