fastica - Fast Independent Component Analysis

FastICA for Matlab 7.x and 6.x

Version 2.5, October 19 2005

Copyright (c) Hugo G�vert, Jarmo Hurri, Jaakko S�rel�, and Aapo Hyv�rinen.

fastica(mixedsig) estimates the independent components from given

multidimensional signals. Each row of matrix mixedsig is one

observed signal. fastica uses Hyvarinen's fixed-point algorithm,

see http://www.cis.hut.fi/projects/ica/fastica/. Output from the

function depends on the number output arguments:

[icasig] = fastica (mixedsig); the rows of icasig contain the

estimated independent components.

[icasig, A, W] = fastica (mixedsig); outputs the estimated separating

matrix W and the corresponding mixing matrix A.

[A, W] = fastica (mixedsig); gives only the estimated mixing matrix

A and the separating matrix W.

Some optional arguments induce other output formats, see below.

A graphical user interface for fastica can be launched by the

command FASTICAG

fastica can be called with numerous optional arguments. Optional

arguments are given in parameter pairs, so that first argument is

the name of the parameter and the next argument is the value for

that parameter. Optional parameter pairs can be given in any order.

OPTIONAL PARAMETERS:

Parameter name Values and description

======================================================================

--Basic parameters in fixed-point algorithm:

'approach' (string) The decorrelation approach used. Can be

symmetric ('symm'), i.e. estimate all the

independent component in parallel, or

deflation ('defl'), i.e. estimate independent

component one-by-one like in projection pursuit.

Default is 'defl'.

'numOfIC' (integer) Number of independent components to

be estimated. Default equals the dimension of data.

======================================================================

--Choosing the nonlinearity:

'g' (string) Chooses the nonlinearity g used in

the fixed-point algorithm. Possible values:

                    Value of 'g':      Nonlinearity used:
'pow3' (default) g(u)=u^3
'tanh' g(u)=tanh(a1*u)
'gauss g(u)=u*exp(-a2*u^2/2)
'skew' g(u)=u^2

'finetune' (string) Chooses the nonlinearity g used when

fine-tuning. In addition to same values

as for 'g', the possible value 'finetune' is:

'off' fine-tuning is disabled.

'a1' (number) Parameter a1 used when g='tanh'.

Default is 1.

'a2' (number) Parameter a2 used when g='gaus'.

Default is 1.

'mu' (number) Step size. Default is 1.

If the value of mu is other than 1, then the

program will use the stabilized version of the

algorithm (see also parameter 'stabilization').

'stabilization' (string) Values 'on' or 'off'. Default 'off'.

This parameter controls wether the program uses

the stabilized version of the algorithm or

not. If the stabilization is on, then the value

of mu can momentarily be halved if the program

senses that the algorithm is stuck between two

points (this is called a stroke). Also if there

is no convergence before half of the maximum

number of iterations has been reached then mu

will be halved for the rest of the rounds.

======================================================================

--Controlling convergence:

'epsilon' (number) Stopping criterion. Default is 0.0001.

'maxNumIterations' (integer) Maximum number of iterations.

Default is 1000.

'maxFinetune' (integer) Maximum number of iterations in

fine-tuning. Default 100.

'sampleSize' (number) [0 - 1] Percentage of samples used in

one iteration. Samples are chosen in random.

Default is 1 (all samples).

'initGuess' (matrix) Initial guess for A. Default is random.

You can now do a "one more" like this:

[ica, A, W] = fastica(mix, 'numOfIC',3);

[ica2, A2, W2] = fastica(mix, 'initGuess', A, 'numOfIC', 4);

======================================================================

--Graphics and text output:

'verbose' (string) Either 'on' or 'off'. Default is

'on': report progress of algorithm in text format.

'displayMode' (string) Plot running estimates of independent

components: 'signals', 'basis', 'filters' or

'off'. Default is 'off'.

'displayInterval' Number of iterations between plots.

Default is 1 (plot after every iteration).

======================================================================

--Controlling reduction of dimension and whitening:

Reduction of dimension is controlled by 'firstEig' and 'lastEig', or

alternatively by 'interactivePCA'.

'firstEig' (integer) This and 'lastEig' specify the range for

eigenvalues that are retained, 'firstEig' is

the index of largest eigenvalue to be

retained. Default is 1.

'lastEig' (integer) This is the index of the last (smallest)

eigenvalue to be retained. Default equals the

dimension of data.

'interactivePCA' (string) Either 'on' or 'off'. When set 'on', the

eigenvalues are shown to the user and the

range can be specified interactively. Default

is 'off'. Can also be set to 'gui'. Then the user

can use the same GUI that's in FASTICAG.

If you already know the eigenvalue decomposition of the covariance

matrix, you can avoid computing it again by giving it with the

following options:

'pcaE' (matrix) Eigenvectors

'pcaD' (matrix) Eigenvalues

If you already know the whitened data, you can give it directly to

the algorithm using the following options:

'whiteSig' (matrix) Whitened signal

'whiteMat' (matrix) Whitening matrix

'dewhiteMat' (matrix) dewhitening matrix

If values for all the 'whiteSig', 'whiteSig' and 'dewhiteMat' are

supplied, they will be used in computing the ICA. PCA and whitening

are not performed. Though 'mixedsig' is not used in the main

algorithm it still must be entered - some values are still

calculated from it.

Performing preprocessing only is possible by the option:

'only' (string) Compute only PCA i.e. reduction of

dimension ('pca') or only PCA plus whitening

('white'). Default is 'all': do ICA estimation

as well. This option changes the output

format accordingly. For example:

                    [whitesig, WM, DWM] = fastica(mixedsig,
'only', 'white')
returns the whitened signals, the whitening matrix
(WM) and the dewhitening matrix (DWM). (See also
WHITENV.) In FastICA the whitening matrix performs
whitening and the reduction of dimension. Dewhitening
matrix is the pseudoinverse of whitening matrix. [E, D] = fastica(mixedsig, 'only', 'pca')
returns the eigenvector (E) and diagonal
eigenvalue (D) matrices containing the
selected subspaces.

======================================================================

EXAMPLES

    [icasig] = fastica (mixedsig, 'approach', 'symm', 'g', 'tanh');
Do ICA with tanh nonlinearity and in parallel (like
maximum likelihood estimation for supergaussian data). [icasig] = fastica (mixedsig, 'lastEig', 10, 'numOfIC', 3);
Reduce dimension to 10, and estimate only 3
independent components. [icasig] = fastica (mixedsig, 'verbose', 'off', 'displayMode', 'off');
Don't output convergence reports and don't plot
independent components.

A graphical user interface for fastica can be launched by the

command FASTICAG

See also fasticag

function | fastica的更多相关文章

  1. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  2. scikit-learn:class and function reference(看看你究竟掌握了多少。。)

    http://scikit-learn.org/stable/modules/classes.html#module-sklearn.decomposition Reference This is t ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. JavaScript function函数种类

    本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...

  5. 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()

    1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...

  6. jquery中的$(document).ready(function() {});

    当文档载入时执行function函数里的代码, 这部分代码主要声明,页面加载后 "监听事件" 的方法.例如: $(document).ready( $("a") ...

  7. Function.prototype.toString 的使用技巧

    Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...

  8. 转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38

    转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38http://space.itpub. ...

  9. [Xamarin] 透過Native Code呼叫 JavaScript function (转帖)

    今天我們來聊聊關於如何使用WebView 中的Javascript 來呼叫 Native Code 的部分 首先,你得先來看看這篇[Xamarin] 使用Webview 來做APP因為這篇文章至少講解 ...

  10. Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等

    功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...

随机推荐

  1. clickhouse-数据副本踩坑

    数据副本--失败,看日志 vim /var/log/clickhouse-server/clickhouse-server.err.log select * from system.replicati ...

  2. spark闭包检查

    spark在执行算子时,如果算子内部用到了外部(Driver)端的对象或变量,就一定会出现闭包:spark在执行算子之前会进行闭包检查,也就是对外部对象或变量进行序列化检查:

  3. jar包启动脚本, 以及外置配置文件application.yml

    想使用sh脚本来启动,停止,重启我们的jar服务, 顺便还要外置配置文件方便修改 示例server.sh如下,启动命令为sh server.sh start或restart或stop,修改其中的这几个 ...

  4. html元素全屏展示

    参数传入dom对象即可,注意不是jQuery对象,Vue下兼容 /** * 面板全屏展示 */ fullscreen: function () { if (this.isFullScreen) { / ...

  5. Python发送飞书消息

    #!/usr/bin/python3.8 # -*- coding:UTF-8 -*- import os, sys sys.path.append(os.path.dirname(os.path.a ...

  6. Oracle JDK 和 OpenJDK 有什么区别?

    OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的"开源"是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea.UltraViolet都是从Ope ...

  7. 国际版Office365客户端配置

    Email Provider IMAP Settings POP Settings SMTP Settings Microsoft 365 Outlook Hotmail Live.com Serve ...

  8. 打包exe

    2.要打包的文件为多个py文件 这种情况一般你的代码较多,项目较大,可能你写了一个GUI界面py文件这个文件调用了其他文件的函数什么的,这个时候你需要生成spec文件来打包,这里假设你的要打包的主文件 ...

  9. Python学习笔记调式之抛出异常

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  10. 85、使用Vue.js实现列表选中效果

      实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让a ...