opencv中pca的疑问

我有七个样本,每个样本是64*64。排列,每个样本一行,就构成了一个7*4096的样本矩阵。平均向量矩阵是:1*4096特征值矩阵是:1*7(这里有疑惑,理论上应该是1*... 我有七个样本,每个样本是64*64。
排列,每个样本一行,就构成了一个7*4096的样本矩阵。
平均向量矩阵是:1*4096
特征值矩阵是:1*7(这里有疑惑,理论上应该是1*4096的,但是按照网上的教程,需要加判断min(dim, cols))
特征向量是:7*4096
用cvCalcPCA这个算法,最后那个参数是CV_PCA_DATA_AS_ROW,取前4个特征值
最后获得的矩阵是7*4
发现这个7*4和理论上的4096*4是不一样的呀。。为什么呢
展开
 我来答
WM_THU
2014-03-21 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3952万
展开全部
结果是对的,没问题。
PCA的作用,是降低每个数据的维数,而不是减少数据的个数。
你现在有7个样本,每个样本有4096个变量,PCA减少变量数至4个,因此最终结果仍然是7个样本,每个样本有4个变量。结果没问题。
更多追问追答
追问
网上不是说算出来的是一个投影矩阵么?然后用待降维的矩阵去乘以这个投影矩阵,然后降维么?
我是不是理解错了,
是不是应该让待降维的矩阵重新按照上面那个方法再降维一次呢?
追答
奥,原来是算投影矩阵。
那么教程里显然错了。min(dim, cols)这完全没有道理,不可能跟根据样本数和变量数的大小动态决定矩阵尺寸。

你说的对,特征值应该是4096个,投影矩阵也应该是4096*4的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式