Learn R Programming

fICA (version 1.1-2)

nonlinearities: Set of Nonlinearities for Adaptive Deflation-based FastICA Method

Description

The default set of nonlinearities with their first derivatives and names used in adapt_fICA.

Usage

gf

dgf

Gf

gnames

Arguments

Details

The set of nonlinearities includes both well-known functions (pow3, tanh and gaus) and the ones suggested in Miettinen et al. (2014).

The object gf contains the nonlinearities which are:

gf[[1]] pow3 \(x^3\)
gf[[2]] tanh \(tanh(x)\)
gf[[3]] gaus \(exp(-(x)^2/2)\)
gf[[4]] lt0.6 \((x+0.6)_-^2\)
gf[[5]] rt0.6 \((x-0.6)_+^2\)
gf[[6]] bt \((x)_+^2-(x)_-^2\)
gf[[7]] bt0.2 \((x-0.2)_+^2-(x+0.2)_-^2\)
gf[[8]] bt0.4 \((x-0.4)_+^2-(x+0.4)_-^2\)
gf[[9]] bt0.6 \((x-0.6)_+^2-(x+0.6)_-^2\)
gf[[10]] bt0.8 \((x-0.8)_+^2-(x+0.8)_-^2\)
gf[[11]] bt1.0 \((x-1.0)_+^2-(x+1.0)_-^2\)
gf[[12]] bt1.2 \((x-1.2)_+^2-(x+1.2)_-^2\)
gf[[13]] bt1.4 \((x-1.4)_+^2-(x+1.4)_-^2\)

The objects dgf, Gf and gnames contain the corresponding first derivatives, integrals and names in the same order.

For skew sources lt0.6 and rt0.6 combined are more efficient than the commonly used skew. The rest of the functions are useful for example for sources with multimodal density functions.

The user can easily submit a own set or modify the set suggested here. See the example below and the examples in adapt_fICA.

References

Hyvarinen, A. and Oja, E. (1997), A fast fixed-point algorithm for independent component analysis, Neural Computation, vol. 9, 1483--1492.

Miettinen, J., Nordhausen, K., Oja, H. and Taskinen, S. (2014), Deflation-based FastICA with adaptive choices of nonlinearities, IEEE Transactions on Signal Processing, 62(21), 5716--5724.

See Also

adapt_fICA

Examples

Run this code
# NOT RUN {
# leaving out functions from the default set and adding a new function  
g <- function(x){x^2}
dg <- function(x){2*x}
G <- function(x){x^3/3}

gf_new <- c(gf[-c(6,8,10)],g)
dgf_new <- c(dgf[-c(6,8,10)],dg)
Gf_new <- c(Gf[-c(6,8,10)],G)
gnames_new <- c(gnames[-c(6,8,10)],"skew")
# }

Run the code above in your browser using DataLab