主成分分析 (PCA) 和独立成分分析 (ICA)附Matlab代码

简介: 主成分分析 (PCA) 和独立成分分析 (ICA)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步进步,matlab项目目标合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信息:格物致知。

更多Matlab仿真内容点击👇

智能优化算法神经网络预测雷达通信无线传感器  

信号处理图像处理路径规划元胞机器人无人机电力系统

⛄ 内容介绍

( PCA )和分析(ICA)的的的的主主主主的的的的的。。。。和和和和和和和和和在在在在在包作为函数函数实现实现实现实现实现实现实现函数函数到其中的个相相的奇异向量上上种种操作操作有效有效地地地地将将将输入输入信号分解分解分解为数据数据数据中中因此因此因此因此。。。。。分量分量分量正交正交PCA会低维表示,可以可以将以以紧密原始在在在在在在ica ica与pca的之在于在于,低维低维不一定对应于大方差方差的的方向,ica组件相反,ica组件组件最最最大中中中中中实践实践

⛄ 部分代码

函数 [Zpca, U, mu, eigVecs] = PCA(Z,r)

%

% 语法:Zpca = PCA(Z,r);

% [Zpca, U, mu] = PCA(Z,r);

% [Zpca, U, mu, eigVecs] = PCA(Z,r);

%              

% Inputs: Z 是一个 dxn 矩阵,包含 n 个 d 维样本

% 数据

%              

% r 是要计算的主成分数

%              

% 输出:Zpca 是一个包含 r 主体的 rxn 矩阵

%               components - scaled to variance 1 - of the input samples

%              

%               U is a d x r matrix of coefficients such that

%               Zr = U * Zpca + repmat(mu,1,n);

%               is the r-dimensional PCA approximation of Z

%              

%               mu is the d x 1 sample mean of Z

%              

%               eigVecs is a d x r matrix containing the scaled

%               eigenvectors of the sample covariance of Z

%              

% Description:  Performs principal component analysis (PCA) on the input

%               data

%              

% Author:       Brian Moore

%               brimoor@umich.edu

%              

% Date:         April 26, 2015

%               November 7, 2016

%


% Center data

[Zc, mu] = centerRows(Z);


% Compute truncated SVD

%[U, S, V] = svds(Zc,r); % Equivalent, but usually slower than svd()

[U, S, V] = svd(Zc,'econ');

U = U(:,1:r);

S = S(1:r,1:r);

V = V(:,1:r);


% 计算主成分

Zpca = S * V';

%Zpca = U' * Zc; % 等效但较慢


如果 nargout >= 4

   % 缩放特征向量

   eigVecs = bsxfun(@times,U,diag(S)' / sqrt(size(Z,2)));

结尾


⛄ 运行结果

⛄ 参考文采

[1]冯祥,陈良彬. 基于主成分分析和独立成分分析的调节分类算法[J]. 电讯技术, 2013(7):864-867.

[2]梁胜杰,张志华,崔立林,等. 基于主成分分析与独立成分分析的降维方法[J]. 系统工程与电子技术, 2011.

⛄ Matlab代号关注

❤️部分分析引用网络文档,若有版权联盟博主删除
❤️ 关注我领取海量matlab电子书和数学模型资料
相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
86 14
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
9天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
9天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
9天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
9天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)

热门文章

最新文章