悬赏 30 个论坛币 未解决
具体程序在下面,我想问的是:为什么我取了两个不同的用户兴趣矩阵,而初始矩阵和全网矩阵是一样的,得到的学习矩阵却是一样的,原因在哪里呢?求大神解答一下我的疑惑。还有是不是无论用户兴趣矩阵是什么,在初始矩阵和全网矩阵不变的情况下,得到的学习矩阵都是一样的?求大神求大神!!谢谢大家了
x_1<-read.csv("初始矩阵.csv",header=F)
x_1<-as.matrix(x_1)
b<-read.csv("用户兴趣矩阵.csv")
a<-read.csv("全网矩阵.csv")
a<-a[,-1]
a<-as.matrix(a)
a<-a^2
b<-b[,-1]
b<-as.matrix(b)
r_1<-b-a*x_1;
p_1<-t(a)*r_1;
q_1<-1/2*(p_1+t(p_1));
x_2<-x_1+(norm(r_1, "F")/norm(q_1,"F"))^2*q_1;
r_2<-b-a*x_2;
p_2<-t(a)*r_2;
q_2<-p_2-diag(t(p_2)*q_1)/(norm(q_1,"F"))^2*q_1;
n<-120000
for(k in 2:n){
x_2<-x_2+(norm(r_2,"F")/norm(q_2,"F"))^2*q_2;
r_2<-b-a*x_2;
p_2<-t(a)*r_2;
q_2<-p_2-diag(t(p_2)*q_2)/(norm(q_2,"F"))^2*q_2;
k<-k+1;
}
R<-norm(r_2,"F")
write.csv(x_2,"学习矩阵.csv")