首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在matlab中计算MDA用于人脸识别

如何在matlab中计算MDA用于人脸识别
EN

Stack Overflow用户
提问于 2015-01-19 14:38:54
回答 1查看 378关注 0票数 0

为了将数据集的维数从99^2降到49 (人脸识别),我想进行PCA和MDA (多重鉴别分析)。

我的第一步是通过PCA将尺寸从99^2降到50。现在,我希望使用MDA将c-1 ->从50降到49。我尝试过这段代码,但在“答案”中得到了复杂的值,这是错误的。

代码语言:javascript
运行
复制
%   calculate PCA
mat_mean = mean(trainData(:));
normalized_train = trainData - mat_mean;
A = normalized_train/std(normalized_train(:));
S1 = A * A';
[V,Z] = eigs(S2,50);
Wpca = A'*V*Z;


%    calculate MDA
[Sb,Sw] = scattermat(Wpca);
Sb1=Wpca*Sb*Wpca';
Sw1=Wpca*Sw*Wpca';
[Answer,ready1] = eigs(Sb1,Sw1,49);

有什么建议吗我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 18:25:30

其原因是"eigs“计算矩阵的特征值,其中包含SQRT。我在某人,西南有负值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28027104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档