由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 这个矩阵推导有什么问题
相关主题
请大家帮忙看一下我这样想对不对。谢谢。突然对直线拟合的R不明白起来了
请教:关于covariance matrix问关于C中调用R函数
用PCA的时候,如果P比N大怎么办啊?help with R
很惭愧的问一个简单的regression algebra.在SAS里面如何进行数组操作?
一个关于SVD的面试题R code question
PCA拟合问题help in R
非典型machine learning面试关于R的Simplex的错误信息
紧急求助:有没有这个式子的approximation? (转载)R code 问题
相关话题的讨论汇总
话题: uu话题: vddv话题: svd话题: matrix话题: square
进入Statistics版参与讨论
1 (共1页)
s*r
发帖数: 2757
1
A' means the transpose of A, A^{-1} means the inverse of a square matrix A
considering svd of X=UDV',so we have XV=UD, and X'X=VDDV'
Xb
= X (X'X)^{-1} X'Y
= X (VDDV')^{-1} X'Y
= X V D^{-2}V' X'Y
= UU'Y (this is formula 3.46 of the elements of statistical learning)
= Y (because U'U=I, U'= U^{-1}, so UU'=I)
a****m
发帖数: 693
2
(VDDV')^{-1}
=V'^{-1}(DD)^{-1}V^{-1}
=V(DD)^{-1}V'
=V(D)^{-2}V'
好像没有问题,
s*r
发帖数: 2757
3
是最后一步,显然有问题 Xb不太可能直接等于Y

【在 a****m 的大作中提到】
: (VDDV')^{-1}
: =V'^{-1}(DD)^{-1}V^{-1}
: =V(DD)^{-1}V'
: =V(D)^{-2}V'
: 好像没有问题,

s*****t
发帖数: 987
4

svd 不是eigen 展开吧
D好像不一定是square matrix

【在 s*r 的大作中提到】
: A' means the transpose of A, A^{-1} means the inverse of a square matrix A
: considering svd of X=UDV',so we have XV=UD, and X'X=VDDV'
: Xb
: = X (X'X)^{-1} X'Y
: = X (VDDV')^{-1} X'Y
: = X V D^{-2}V' X'Y
: = UU'Y (this is formula 3.46 of the elements of statistical learning)
: = Y (because U'U=I, U'= U^{-1}, so UU'=I)

s*****t
发帖数: 987
5
= UU'Y (this is formula 3.46 of the elements of statistical learning)
原来是咋推导的、
我觉得得不出来这一步啊
s*r
发帖数: 2757
6
因为XV=UD

【在 s*****t 的大作中提到】
: = UU'Y (this is formula 3.46 of the elements of statistical learning)
: 原来是咋推导的、
: 我觉得得不出来这一步啊

s*****t
发帖数: 987
7

但是D 不一定是square matrix啊
所以我觉得有问题呢
D'*D 是square matrix 可以逆
但是
D(D'*D)^{-1}D' = I?

【在 s*r 的大作中提到】
: 因为XV=UD
l*********s
发帖数: 5409
8
100 wb :-)
You are wrong at the beginning
X(X'X)^(-1)X'Y= X(X^-1)(X'^-1)X'Y=I.I.Y=Y
if X'X=VDDV' ( other wise D is not square )

【在 s*r 的大作中提到】
: A' means the transpose of A, A^{-1} means the inverse of a square matrix A
: considering svd of X=UDV',so we have XV=UD, and X'X=VDDV'
: Xb
: = X (X'X)^{-1} X'Y
: = X (VDDV')^{-1} X'Y
: = X V D^{-2}V' X'Y
: = UU'Y (this is formula 3.46 of the elements of statistical learning)
: = Y (because U'U=I, U'= U^{-1}, so UU'=I)

s*****t
发帖数: 987
9
我仔细看了一下
如果你按照那个3.46的推导,显然是没错的
但是问题在于你如何定义 svd
通常svd 的展开式 D 不是square对角阵
3.46的展开式里面D是square对角阵
l*********s
发帖数: 5409
10
it will be exact solution if you have as many parameters as equations. In
case you have large p small n, the solutions will be infinite.

【在 s*r 的大作中提到】
: 是最后一步,显然有问题 Xb不太可能直接等于Y
相关主题
PCA拟合问题突然对直线拟合的R不明白起来了
非典型machine learning面试问关于C中调用R函数
紧急求助:有没有这个式子的approximation? (转载)help with R
进入Statistics版参与讨论
s*r
发帖数: 2757
11
不理解,不过冲你下面那个回答,给50wb

【在 l*********s 的大作中提到】
: 100 wb :-)
: You are wrong at the beginning
: X(X'X)^(-1)X'Y= X(X^-1)(X'^-1)X'Y=I.I.Y=Y
: if X'X=VDDV' ( other wise D is not square )

s*r
发帖数: 2757
12
应该总是对角阵吧,你是说对角线上有的元素是0吧

【在 s*****t 的大作中提到】
: 我仔细看了一下
: 如果你按照那个3.46的推导,显然是没错的
: 但是问题在于你如何定义 svd
: 通常svd 的展开式 D 不是square对角阵
: 3.46的展开式里面D是square对角阵

s*****t
发帖数: 987
13

Are we on the same page? hehe
我强调的是square 不是 diagonal
D如果是square,那个推导就是没问题的
通常D不是对角的

【在 s*r 的大作中提到】
: 应该总是对角阵吧,你是说对角线上有的元素是0吧
o****o
发帖数: 8077
14
如果是thin SVD的表述方式,D就是方阵。我看了一下ESL,应该是用的thin SVD的表述
按照golub 和van loan的经典表述,数学家们常用的SVD里面,D不是方阵,而是一个跟
X_{m-\times-n}一样维数的矩阵,1到p的对角线为非负实数,p=min(m, n)。但是thin
SVD的表述下D已经被截了,成为一个p-by-p的对角阵,p=min(m, n)
通常大家都用thin SVD的表述法
不知道我的理解对不对

【在 s*****t 的大作中提到】
:
: Are we on the same page? hehe
: 我强调的是square 不是 diagonal
: D如果是square,那个推导就是没问题的
: 通常D不是对角的

s*r
发帖数: 2757
15
你说的通常是svd在Low-rank matrix approximation的应该?

【在 s*****t 的大作中提到】
:
: Are we on the same page? hehe
: 我强调的是square 不是 diagonal
: D如果是square,那个推导就是没问题的
: 通常D不是对角的

s*****t
发帖数: 987
16

对的

【在 s*r 的大作中提到】
: 你说的通常是svd在Low-rank matrix approximation的应该?
s*r
发帖数: 2757
17
哈哈,我知道了
是这一步错了
(because U'U=I, U'= U^{-1}, so UU'=I)
因为U已经不是方阵了,所以不存在逆阵了
o****o
发帖数: 8077
18
but still UU'=I

【在 s*r 的大作中提到】
: 哈哈,我知道了
: 是这一步错了
: (because U'U=I, U'= U^{-1}, so UU'=I)
: 因为U已经不是方阵了,所以不存在逆阵了

s*r
发帖数: 2757
19
不是了,test yourself
x1 <- c(1,1,0,0,0,0)
x2 <- c(0,0,1,1,0,0)
x3 <- c(0,0,0,0,1,1)
y <- c(rnorm(n=2, mean=0), rnorm(n=2,mean=2), rnorm(n=2, mean=4))
x <- cbind(rep(1, times=6), x1,x2,x3))
xxt <- x %*% t(x)
xtx <- t(x) %*% x
e.xtx <- eigen(xtx)
e.xxt <- eigen(xxt)
V <- e.xtx$'vectors'; round(V, digits=2)
U <- e.xxt$'vectors'; round(U, digits=2)
s.v <-e.xtx$'values' # single values
# all these matrix have rank = 3;
d <- sqrt(diag(s.v[c(1,2,3)]))
U3 <- U[,c(1:3)]
V3 <- V[,c(1:3)]
round(U3 %*% t(U3), digits=2)
# but i cannot get x matrix back
x.svd <- U3 %*% d %*% t(V3)

【在 o****o 的大作中提到】
: but still UU'=I
d******e
发帖数: 7844
20
你这个code写的也太扯淡了,你不知道有R直接就有SVD的函数么?
Low rank approximation是
X=UDV
X: n by m
U: n by d
D: d by d
V: d by m
但仍然满足U'U=I,但UU'就肯定不是I了,因为U只有列是orthogonal的。
这不就说清楚了,哪还用得着simulation

【在 s*r 的大作中提到】
: 不是了,test yourself
: x1 <- c(1,1,0,0,0,0)
: x2 <- c(0,0,1,1,0,0)
: x3 <- c(0,0,0,0,1,1)
: y <- c(rnorm(n=2, mean=0), rnorm(n=2,mean=2), rnorm(n=2, mean=4))
: x <- cbind(rep(1, times=6), x1,x2,x3))
: xxt <- x %*% t(x)
: xtx <- t(x) %*% x
: e.xtx <- eigen(xtx)
: e.xxt <- eigen(xxt)

s*r
发帖数: 2757
21
x matrix得先center一下
s*r
发帖数: 2757
22
少了几列以后就肯定没有row orthogonal了?这不得试试才知道吗

【在 d******e 的大作中提到】
: 你这个code写的也太扯淡了,你不知道有R直接就有SVD的函数么?
: Low rank approximation是
: X=UDV
: X: n by m
: U: n by d
: D: d by d
: V: d by m
: 但仍然满足U'U=I,但UU'就肯定不是I了,因为U只有列是orthogonal的。
: 这不就说清楚了,哪还用得着simulation

1 (共1页)
进入Statistics版参与讨论
相关主题
R code 问题一个关于SVD的面试题
R 问题:vcov()和cov.unscaled区别在哪里?PCA拟合问题
求助,R 画图非典型machine learning面试
请大家说说用C/C++做统计模拟吧!紧急求助:有没有这个式子的approximation? (转载)
请大家帮忙看一下我这样想对不对。谢谢。突然对直线拟合的R不明白起来了
请教:关于covariance matrix问关于C中调用R函数
用PCA的时候,如果P比N大怎么办啊?help with R
很惭愧的问一个简单的regression algebra.在SAS里面如何进行数组操作?
相关话题的讨论汇总
话题: uu话题: vddv话题: svd话题: matrix话题: square