• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Matlab
  • 标签: ICA  matlab代码  

资源简介

独立成分分析ICA的matlab代码实现,对输入输出以及主要步骤有详细的注解。利用了快速ICA的方法,算法迅速。

资源截图

代码片段和文件信息

%求数据的独立成分
%输入参数:Z建模数据(矩阵 n*m维,m为样本个数,n为变量个数)
%         perica提取信息含量(一个百分数)
%输出参数:W分解矩阵(矩阵 n*q维,n为变量个数,q为独立成分个数)
%         SL独立成分(矩阵 m*q维,m为样本个数,q为独立成分个数)
%         XS为X的估计值(矩阵 m*n维,m为样本个数,n为变量个数)
%         E残差信息(矩阵 m*n维,m为样本个数,n为变量个数)
function [WSLXSE]=FASTICA(Zperica)
[VariableNumSampleNum]=size(Z);
numofIC=VariableNum;% 在此应用中,独立元个数等于变量个数
W=[];
B=zeros(numofICVariableNum);              % 初始化列向量w的寄存矩阵B=[b1  b2  ...   bd]
for r=1:numofIC                            % 迭代求取每一个独立元
    i=1;maxIterationsNum=1000;j=1;              % 设置最大迭代次数(即对于每个独立分量而言迭代均不超过此次数)
    IterationsNum=0;
    b=rand(numofIC1)-.5;                  % 随机设置b初值
    b=b/norm(b);                           % 对b标准化
    while i<=maxIterationsNum+1
        if i == maxIterationsNum           % 循环结束处理

评论

共有 条评论