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. 配置代码片段问题 Invalid characters in string. Control characters must be escaped.

    在使用代码片段时报错 Invalid characters in string. Control characters must be escaped. " somethings" ...

  2. MySQL中的sql优化

    目标: 掌握SQL调优的原则 掌握SQL调优的基本逻辑 掌握优秀SQL的编写方案 掌握何为慢SQL以及检测方案 SQL优化原则 1.减少数据量(表中数据太多可以分表,例如超过500万数据  双11一个 ...

  3. python 金融大数据风控建模实战--基于机器学习

    王青天 孔越编著, 2020年6月第一版 第一章介绍,介绍金融科技fintech是指使用技术提供财务解决方案.人工智能和机器学习技术可以帮助包括欺诈预防.风险管理.客户服务和营销等多个环节的智能化.个 ...

  4. Jenkins自动化部署(linux环境)---执行脚本

    1.安装node插件 2.node全局配置 3.填写jenkins构建时执行的shell脚本 完整命令 node -v npm install rm -rf ./dist/* npm run buil ...

  5. 监听 view 初始化时

    new ViewTreeObserverRegister().observe(getContentView(), new ViewTreeObserver.OnGlobalLayoutListener ...

  6. R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标|附代码数据

    全文下载链接:http://tecdat.cn/?p=27515 最*我们被客户要求撰写关于主成分PCA.因子分析.聚类的研究报告,包括一些图形和统计输出. 建立重庆市经济指标发展体系,以重庆市一小时 ...

  7. 在windows如何下载android源码

    如链接https://blog.csdn.net/freekiteyu/article/details/70939672

  8. homebrew 安装node 切换node版本

    注意:如果之前使用brew install node安装过node,需要先执行brew unlink node来'解绑'node 1.查找可用的node版本 brew search node 2.安装 ...

  9. javascript【应用】debounce和throttle

    debounce防抖 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时:典型的案例就是输入搜索:输入结束后n秒才进行搜索请求,n秒内又输入的内容,就重新计时. <div id=& ...

  10. C++11 mutex unique_lock condition_variable 互斥锁 条件变量

    创建项目再进行测试比较麻烦,可以使用这个在线编译器进行验证,快速方便 C++11在线编译器 mutex是互斥锁,互斥量 condition_variable是条件变量 std::mutex m; vo ...