amica.AmicaConfig#
- class amica.AmicaConfig(num_models=1, num_mix_comps=3, pcakeep=None, dtype='float64', max_iter=2000, lrate=0.01, minlrate=1e-08, lratefact=0.5, rholrate=0.05, rholratefact=0.5, minrho=1.0, maxrho=2.0, rho0=1.5, do_newton=True, newt_start=50, newt_ramp=10, newtrate=1.0, do_mean=True, do_sphere=True, sphere_type='zca', do_pca=True, do_approx_sphere=True, mineig=1e-12, do_reject=False, rejsig=3.0, rejstart=2, rejint=3, numrej=5, min_dll=1e-09, use_min_dll=True, max_decs=3, max_incs=10, invsigmax=100.0, invsigmin=1e-08, doscaling=True, writestep=100, outdir=None, fix_init=False, update_alpha=True, update_mu=True, update_beta=True, update_rho=True, chunk_size=None, estep='auto')[source]#
Bases:
objectConfiguration for AMICA algorithm.
- Parameters:
- num_models
int Number of ICA models to learn simultaneously. Default is 1.
- num_mix_comps
int Number of Gaussian mixture components per source. Default is 3.
- dtype
str Data type to use for computation: “float32” or “float64”. Default is “float64”.
- pcakeep
int,optional Number of PCA components to keep. If None, uses data rank.
- max_iter
int Maximum number of iterations. Default is 2000.
- lrate
float Initial learning rate. Default is 0.1.
- minlrate
float Minimum learning rate before stopping. Default is 1e-8.
- lratefact
float Factor to decrease learning rate on likelihood decrease. Default is 0.5.
- rholrate
float Learning rate for shape parameter rho. Default is 0.05.
- rholratefact
float Factor to decrease rho learning rate on likelihood decrease. Default is 0.5.
- minrho
float Minimum value for shape parameter (1.0 = Laplacian). Default is 1.0.
- maxrho
float Maximum value for shape parameter (2.0 = Gaussian). Default is 2.0.
- do_newtonbool
Whether to use Newton updates for faster convergence. Default is True.
- newt_start
int Iteration to start Newton updates. Default is 50.
- newt_ramp
int Number of iterations to ramp up Newton. Default is 10.
- newtrate
float Newton learning rate multiplier. Default is 1.0.
- do_meanbool
Whether to remove data mean. Default is True.
- do_spherebool
Whether to whiten/sphere data. Default is True.
- sphere_type
str Type of sphering: “pca” or “zca”. Default is “zca”.
- do_pcabool
Whether to apply PCA dimensionality reduction. Default is True.
- do_approx_spherebool
Use approximate sphering. Default is True.
- mineig
float Minimum eigenvalue threshold for PCA. Default is 1e-12.
- do_rejectbool
Whether to reject outlier samples. Default is False.
- rejsig
float Rejection threshold in standard deviations. Default is 3.0.
- rejstart
int Iteration to start rejection. Default is 2 (Klug et al. 2024).
- rejint
int Interval between rejection passes. Default is 3 (Klug et al. 2024).
- numrej
int Number of rejection passes per interval. Default is 5.
- min_dll
float Minimum log-likelihood change for convergence. Default is 1e-9.
- max_decs
int Number of LL decreases before reducing max learning rates. Default is 3.
- max_incs
int Number of small LL increases before stopping. Default is 10.
- use_min_dllbool
Whether to use min_dll for convergence. Default is True.
- invsigmax
float Maximum inverse sigma for numerical stability. Default is 100.0.
- invsigmin
float Minimum inverse sigma for numerical stability. Default is 0.0.
- doscalingbool
Whether to rescale A/mu/sbeta each iteration. Default is True.
- writestep
int Interval for writing intermediate results. Default is 100.
- outdir
Path,optional Output directory for results.
- fix_initbool
Use identity matrix initialization instead of random. Default is False.
- update_alphabool
Whether to update mixture weights. Default is True.
- update_mubool
Whether to update location parameters. Default is True.
- update_betabool
Whether to update scale parameters. Default is True.
- update_rhobool
Whether to update shape parameters. Default is True.
- num_models
- Parameters:
num_models (int)
num_mix_comps (int)
pcakeep (int | None)
dtype (str)
max_iter (int)
lrate (float)
minlrate (float)
lratefact (float)
rholrate (float)
rholratefact (float)
minrho (float)
maxrho (float)
rho0 (float)
do_newton (bool)
newt_start (int)
newt_ramp (int)
newtrate (float)
do_mean (bool)
do_sphere (bool)
sphere_type (str)
do_pca (bool)
do_approx_sphere (bool)
mineig (float)
do_reject (bool)
rejsig (float)
rejstart (int)
rejint (int)
numrej (int)
min_dll (float)
use_min_dll (bool)
max_decs (int)
max_incs (int)
invsigmax (float)
invsigmin (float)
doscaling (bool)
writestep (int)
outdir (Path | None)
fix_init (bool)
update_alpha (bool)
update_mu (bool)
update_beta (bool)
update_rho (bool)
estep (Literal['auto', 'fused', 'classic'])
- __init__(num_models=1, num_mix_comps=3, pcakeep=None, dtype='float64', max_iter=2000, lrate=0.01, minlrate=1e-08, lratefact=0.5, rholrate=0.05, rholratefact=0.5, minrho=1.0, maxrho=2.0, rho0=1.5, do_newton=True, newt_start=50, newt_ramp=10, newtrate=1.0, do_mean=True, do_sphere=True, sphere_type='zca', do_pca=True, do_approx_sphere=True, mineig=1e-12, do_reject=False, rejsig=3.0, rejstart=2, rejint=3, numrej=5, min_dll=1e-09, use_min_dll=True, max_decs=3, max_incs=10, invsigmax=100.0, invsigmin=1e-08, doscaling=True, writestep=100, outdir=None, fix_init=False, update_alpha=True, update_mu=True, update_beta=True, update_rho=True, chunk_size=None, estep='auto')#
- Parameters:
num_models (int)
num_mix_comps (int)
pcakeep (int | None)
dtype (str)
max_iter (int)
lrate (float)
minlrate (float)
lratefact (float)
rholrate (float)
rholratefact (float)
minrho (float)
maxrho (float)
rho0 (float)
do_newton (bool)
newt_start (int)
newt_ramp (int)
newtrate (float)
do_mean (bool)
do_sphere (bool)
sphere_type (str)
do_pca (bool)
do_approx_sphere (bool)
mineig (float)
do_reject (bool)
rejsig (float)
rejstart (int)
rejint (int)
numrej (int)
min_dll (float)
use_min_dll (bool)
max_decs (int)
max_incs (int)
invsigmax (float)
invsigmin (float)
doscaling (bool)
writestep (int)
outdir (Path | None)
fix_init (bool)
update_alpha (bool)
update_mu (bool)
update_beta (bool)
update_rho (bool)
estep (Literal['auto', 'fused', 'classic'])
- Return type:
None
Methods
__init__([num_models, num_mix_comps, ...])Attributes