Spatiotemporal and Weak Model ICA

来源:互联网 发布:番茄闹钟软件 编辑:程序博客网 时间:2024/06/05 16:44

ICA是一种把混合信号分解成统计独立信号的一种方法,可被用于空域和时域信号。

ICA的发展过程 http://www.cnl.salk.edu/~tewon/ICA/preface.html


实现Spatiotemporal and Weak Model ICA 的  matlab代码可在http://jim-stone.staff.shef.ac.uk/bss.html下载(文件名STICA_skew_demo)

该程序用于处理2维图像序列(如功能性磁共振成像),但也可用于处理其他类型数据。

这个程序是基于 Bell 和 Sejnowski's 文章"An Information-Maximization Approach to Blind Separation and Blind Deconvolution" (Neural Computation,7,1129-1159, 1995)中描述的方法

《盲分离和盲解卷积的信息最大化方法》

这个方法的主要特点

1)它用到了共轭梯度法,因此不需要学习率参数

2)它执行2D图像的时间、空间或时空ICA

3)它可以选择指定偏斜pdf


本程序实现了在一个技术报告中提出的算法“正规化使用时空的独立性和可预见性”。(JV Stone 和J Porrill,计算机神经科学技术报告1,谢菲尔德大学心理学系)可 从http://www.shef.ac.uk/~pc1jvs获取该报告。

程序可在以下几个模式运行:

①  Spatial ICA(空间ICA):把图像序列分解为一组空间独立的图像和相应的一组双时域信号

②  Temporal ICA(时域ICA):把图像序列分解为一组时域上的独立时间过程和相应的一组双空域图像

③  Spatiotemporal ICA(时空ICA):把图像序列分解为一组空域图像和相应的一组时间过程,从而使得两组中的信号都是最大独立的。

④  Weak Model ICA(弱模式ICA):这个规范解通过ICA得到。

⑤  Skew_ICA(偏斜度ICA):采用偏斜概率密度函数,适用于图像

 

2解压压缩文件

 

压缩文件名为 STICA_skew_demo.tar.包含以下文件:

STICA_CORE          -主代码.

STICA_UTIL          -公用代码.

STICA_CONJ_GRAD     -共轭梯度优化.

STICA_FIND_VU_FAST  -弱模式代码.

STICA_NIPS_ADDD_ONS -偏斜概率密度函数代码.

3  演示程序(步骤)

① 确保matlab可以访问所需要的文件通过输入命令:jsetpath; 这是添加三个路径到当前路径(这一步是设置好路径)

② 然后在命令行输入stica_demo; (stica_demo 在 STICA_CORE文件夹中).这个程序是合成fMRI(功能性磁共振成像)数据,然后运用skew spatiotemporal ICA模式对它进行处理。

演示程序所需要的全部代码都在以上(jsetpath命令)三个路径中。

 

尝试把 mode参数设为's'(spatial ICA) 然后't' (temporal ICA) 然后 'st' (spatiotemporal ICA).

只有spatiotemporal ICA 在 skew spatial pdf 模式 ('st' withSKEW_PDF_s=1) 可以恢复原始信号

4  用户指南

 

演示程序的输出如下,优化例程打印的各种参数,其中只有f和|g|是感兴趣的。F是函数的最小值(独立分量的负熵的估计),|g|是梯度

输出如下:

>> stica_demo

 

SETTING RANDOM NUMBER SEEDS TO 111

Using SPATIOTEMPORAL_ICA

pcs(:,1): jsize = 1600  1

Figures 1 and 2 are spatial and temporal eigenvectors.

pct: jsize = 1600  4

P: jsize = 1600  4

Q: jsize = 1600  4

stica: V0: jsize = 4  4

stica: d0: jsize = 1  4

THIS IS CONJGRAD ...

n=     1|rho=    1.262030 lambda=    0.500000 | f=     13.8257 | |g|=     1.71974 step_len=    0.0576317

n=    11|rho=    0.948245 lambda=    0.003906 | f=     5.86142 | |g|=   0.0472978 step_len=     0.441126

n=    21|rho=    0.710472 lambda=    0.000015 | f=     5.77516 | |g|=  0.00875179 step_len=     0.142077

n=    31|rho=    0.539425 lambda=    0.000000 | f=     5.76549 | |g|=  0.00308112 step_len=     0.088801

... stica done.

Elapsed time = 40.6 secs.


0 0
原创粉丝点击