在PCA中的向量化

我在进行主成分分析,需要帮助了解是否可以用数据矩阵表示从i到m的求和(X(i)*X(i)^T),直接通过两个矩阵的乘法来实现。

这是否可行,或者我需要使用for循环来完成?

目前我尝试了以下方法:

     sum=zeros(n,n);     for i=1:m     sum=sum+ X(i,:)*(X(i,:)^T);     end

我的目标是找到结果矩阵的主特征值。提前感谢您的帮助。


回答:

假设数据矩阵X的形状是(Dim, Num),你可以直接计算所有样本相关性的总和:

S = X*X'

在实现PCA时,别忘了将矩阵除以样本数量。

Sigma = (1/N)X*X'

如果你的数据均值为零,这也是协方差矩阵。

Related Posts

神经网络反向传播代码不工作

我需要编写一个简单的由1个输出节点、1个包含3个节点的…

值错误:y 包含先前未见过的标签:

我使用了 决策树分类器,我想将我的 输入 作为 字符串…

使用不平衡数据集进行特征选择时遇到的问题

我正在使用不平衡数据集(54:38:7%)进行特征选择…

广义随机森林/因果森林在Python上的应用

我在寻找Python上的广义随机森林/因果森林算法,但…

如何用PyTorch仅用标量损失来训练神经网络?

假设我们有一个神经网络,我们希望它能根据输入预测三个值…

什么是RNN中间隐藏状态的良好用途?

我已经以三种不同的方式使用了RNN/LSTM: 多对多…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注