ICA(独立分量分析)快速不动点算法 [英] ICA (Independent Component Analysis) fast-fixed point algorithm

查看:153
本文介绍了ICA(独立分量分析)快速不动点算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有几种正在使用的ICA算法.例如Fast-ICA算法,由Jyh-Shing和Roger Jang开发的一种称为快速不动点算法. 您知道是否有使用该算法的实现或示例,也许是MATLAB?

There are several ICA algorithms in use. Such as Fast-ICA algorithm, there is one developed by Jyh-Shing and Roger Jang called a fast-fixed point algorithm. Do you know if there is an implementation or an example using this algorithm, maybe MATLAB?

推荐答案

我有点困惑.您提到的 FastICA 在MATLAB中实现了快速定点算法.那那是你的答案吗?

I'm a bit confused. FastICA, which you mention, implements the fast-fixed point algorithm in MATLAB. So that would be your answer then?

FastICA代码非常易于使用.它唯一需要的输入是混合信号,然后尝试将其解混.您还可以为其提供其他输入,例如进行PCA等.主要困难在于创建混合信号,该信号必须是带有 n nx N 矩阵.是观察次数, N 是信号的长度.

The FastICA code is pretty easy to use. The only input it needs is a mixed signal, which it then tries to unmix. You can also give it additional inputs, like doing PCA, etc.. The main difficulty is in creating the mixed signal, which needs to be a n x N matrix, with n being the number of observations and N the length of the signal.

这里是一个示例,该示例首先创建一个具有4个观测值的信号,然后通过将该信号与随机信号相乘来对其进行混合,最后对混合后的信号使用ICA来尝试恢复原始信号.

Here is an example that first creates one signal with 4 observations, then mixes that signal by multiplying it with a random signal, and finally uses ICA on the mixed signal to try to recover the orignal signal.

N=500; %data size

v=[0:N-1];

sig(1,:)=sin(v/2); %sinusoid
sig(2,:)=((rem(v,23)-11)/9).^5; %funny curve
sig(3,:)=((rem(v,27)-13)/9); %saw-tooth
sig(4,:)=((rand(1,N)<.5)*2-1).*log(rand(1,N)); %impulsive noise

%create mixtures

Aorig=rand(size(sig,1));
mixedsig=(Aorig*sig);

%preform ica to unmix signal
ica = fastica(mixedsig);

这篇关于ICA(独立分量分析)快速不动点算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆