xuyangzi1983 发表于 2007-6-5 12:04

请教kpca(核主成分分析)中投影向量的问题

我做人脸识别,刚刚接触kpca,下了个matlab的源程序看了看。有些地方不太明白:
如k(i,j)=exp(-norm(X(i,:) - X(j,:))^2/(2*var^2)),其中的X是否为原向量?这样就完成了将向量映射到高维空间?

然后算出特征向量矩阵V、排序、那么投影向量是怎么算的啊?

请高手指点!

[ 本帖最后由 eight 于 2007-8-17 20:10 编辑 ]

diagnosis 发表于 2007-8-16 19:44

回复 #1 xuyangzi1983 的帖子

从你的表达式看,X应该是存储数据的矩阵,并且按列存储,X(i,:)才是原数据向量。你目前只是计算了初步的核矩阵,该矩阵还不能直接用来求特征向量和特征值,必须用该式处理:
1.处理后的UK=K-L*K-K*L+L*K*L;L是M阶的矩阵,且元素都为1/M,M是已知的样本数量;
2.用处理后的UK来计算特征向量V和特征值,直接利用函数〔V,D〕=eig(UK,p,'LM');
      p是你求的特征向量的个数,eig会按你的设置将特征值排序返回;
3.用projX=V’*UK可得到你要求的各个样本在特征方向上的投影,结果保存在projX中;

忘记说了一步:
在第2步后,应该还有一步对每一个特征向量V的标准化过程:
即要用UV=V/(|V|*u);|V|表示向量V与原点的距离,u是此时V对应的特征向量;
这样到第三步时,应该用UV而不是V了.

[ 本帖最后由 ChaChing 于 2010-5-13 21:48 编辑 ]

privacyting 发表于 2010-5-13 15:27

?

是单位正交化还是标准化啊??第二步
感觉应该进行单位正交化才对

[ 本帖最后由 ChaChing 于 2010-5-13 21:45 编辑 ]
页: [1]
查看完整版本: 请教kpca(核主成分分析)中投影向量的问题