sparse和full的用法都不止一种,我说下目前我用到的,看doc总是觉得不怎么明白:
M = sparse(r, c, v)
得到的是一个稀疏矩阵M,用r(i)代表r中的第i个元素,c(i)代表c中的第i个元素,v(i)代表v中的第i个元素,r,c,v都是向量,则上面命令得到的结果是:
M(r(i), c(i)) = v(i)。也就是说r,c中的元素的值代表了v元素在M中的位置。举个例子:
r = [1, 3, 5]; c = [6, 8, 9]; v = [10, 11, 12]
那么得到的M就是
M[1, 6] = 10
M[3, 8] = 11;
M[5, 9] = 12
PS:M的大小是由max(r)和max(c)决定的
sparse生成的矩阵式稀疏矩阵,也就是在matlab中保存的只是有值的元素。使用full(M)命令可以让稀疏矩阵还原成一般的矩阵。
再说下ground truth matrix。这个概念是我最近在DL的教程练习中遇到的,我搜索了下ground truth还是存在这个概念在wiki上的。这个matrix的特点就是:
对于ground truth matrix M来说:
M(r, c) = 1 如果y(c)=r的话,否则M(r,c)=0。这个矩阵在做计算的时候很方面。。