Portability | portable |
---|---|
Stability | provisional |
Maintainer | haskell.vivian.mcphail <at> gmail <dot> com |
Safe Haskell | Safe-Infered |
Independent Components Analysis
implements the FastICA algorithm found in:
- Aapo Hyvärinen and Erkki Oja, Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5):411-430, 2000
- sigmoid :: Double -> Double
- sigmoid' :: Double -> Double
- demean :: Array Int (Vector Double) -> (Array Int (Vector Double), Vector Double)
- whiten :: Array Int (Vector Double) -> Double -> (Array Int (Vector Double), Matrix Double)
- ica :: Int -> (Double -> Double) -> (Double -> Double) -> NormType -> Double -> Int -> Array Int (Vector Double) -> (Array Int (Vector Double), Matrix Double)
- icaDefaults :: Int -> Array Int (Vector Double) -> (Array Int (Vector Double), Matrix Double)
Documentation
:: Array Int (Vector Double) | the data |
-> (Array Int (Vector Double), Vector Double) | (demeaned data,mean) |
remove the mean from data
:: Array Int (Vector Double) | the data |
-> Double | eigenvalue threshold |
-> (Array Int (Vector Double), Matrix Double) | (whitened data,transform) |
whiten data
:: Int | random seed |
-> (Double -> Double) | transfer function (tanh,u exp(u^2/2), etc...) |
-> (Double -> Double) | derivative of transfer function |
-> NormType | type of normalisation: Infinity, PNorm1, PNorm2 |
-> Double | convergence tolerance for feature vectors -> Int -- ^ output dimensions |
-> Int | sampling size (must be smaller than length of data) |
-> Array Int (Vector Double) | data |
-> (Array Int (Vector Double), Matrix Double) | transformed data, ica transform |
perform an ICA transform