x <- rnorm(40000)
W <- matrix(x,200,200)
P <- sum(W*W)
S <- apply(W,2,sum)
h<-S/P
H=W[,rank(h) > length(h) - 10]#抽出来10列
Q=svd(H)
U=Q$u#提取左奇异向量
T=W-U %*% t(U)%*%W
N = ncol(W)
j = 1:N
s=ncol(H)
i=1:s
1.对矩阵W更新被选择的概率:
如果j∈[1:N],重复从Q到T步骤,如果j包含在s中(第j列已被抽出去),令被选择的概率P_j=0,否则,P_j等于T_j的谱范数(P_j=sum(E*E))。
2.按照更新后的被选择概率再从W中抽取10列,并到H中,整个过程重复5次,共抽取50列。
对于这两步,抽样+循环,有没有大佬可以帮忙指导一下代码呀?