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. 如何在网页打开CAD,DWG文件,(在线CAD)在线CAD平台,H5前端显示CAD,网页CAD

    简介 提示:目前提供两种在网页中浏览编辑CAD图纸方案,详细说明见:https://help.mxdraw.com/?pid=46 提示:MxDraw云图在线API教程:https://demo.mx ...

  2. sql 行转列分析 以后再也不用记了

    表scores 请转成的横表是这样子的: // ::::我们来分析下:首先 姓名这一列肯定是不重复的姓名[重复也没办法了 这需求只能这样了] 因此 我们用group by [姓名] 然后姓名这一列就有 ...

  3. python实现web应用程序(1)虚拟环境与Django

    前言 在这个系列博客中,我将使用python实现一个名为"OI笔记"的项目. 1 建立项目目录 第一步,我们先为自己的项目建立一个目录. 首先,打开终端. win+r键,然后输入c ...

  4. MySQL表操作(上篇)

    1.存储引擎的介绍 (1)存储引擎 1.什么是存储引擎? mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不 ...

  5. 蓝桥杯训练赛二-1141 问题 C: C语言训练-百钱百鸡问题

    题目描述 中国古代数学家张丘建在他的<算经>中提出了著名的"百钱买百鸡问题":鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁.母.雏各几何? 输入 无 ...

  6. Vue项目的打包方式(生成dist文件)

    一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...

  7. HTML基础知道了解

    第1章 Html介绍 1.Html和CSS的关系 1.1 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1.2 HT ...

  8. 卡片式UI设计详细指南,先收好这8条!

    今天为大家分享的是「卡片设计」. 卡片是产品中常见的设计组件之一.通过卡片,可以将不同的内容分层次组合在一起.卡片式设计自带简约和易用的属性,能让页面看起来更有秩序感. 卡片作为常用的UI组件,通常由 ...

  9. java 为什么要用补码_Java为什么使用补码进行计算的原因分析

    转自csdn---主要是前面的解释很通俗易懂,后面的没有细看,转过来以后查看方便. 我们主要要解决的问题就是负数的表示,而众所周知,绝对值相等的两个正负数之和为0. 假设我们有正数 0000 0000 ...

  10. 08 安装虚拟机:Windows 10

    08 安装虚拟机:Windows 10 在安装虚拟机之前,总是要有安装来源媒体(例如:ISO映像之类),方可顺利进行.在Proxmox VE中有几种将ISO档置入Proxmox VE的方式,本节介绍其 ...