GenParafac

Location: ..\cubatch\Model_PARAFAC\private\GenParafac.m

function [A,B,C,Fit,it,FitStory,Time,ConvCond,LmSt,JackSV] = GenParafac (X,Fac,Options,LM,Start);

Description:
Fits a PARAFAC model to a 3-way array.

Inputs:
X: double array of data
Fac: number of factors
Options (optional): see PAROptions
LM (optional): 0 if Alternating Least Squares (ALS), 1 if Levenberg-Marquadt (LM)
Start (optional): cell vector with the initial estimations for the factors (each element contains a matrix with the loadings in the corresponding mode).

Outputs:
A,B,C: loading matrices

Fit(1): value of the loss function after initialisation
Fit(2): value of the loss function after fitting in the compressed space
Fit(3): value of the loss function after fitting (refining) in the original space

it(1) iterations in fitting
it
(2) iterations in refining the model (if compression is performed)

FitStory
: values of the loss function along the iterations (only for the LM algorithm)

Time(1) :
seconds used for the compression
Time(2) :
seconds used for the initialisation
Time(3) :
seconds used for the fitting of the model
Time(4) :
seconds used for the refining of the model
Time(5) :
total time employed

ConvCond: met convergence criteria (only for LM algorithm). See GNPARAFAC

LmSt: values of the damping parameter along with the iterations (only for LM algorithm). See GNPARAFAC

JackSV: singular values of the Jacobian (only for LM algorithm). See GNPARAFAC

Called by:
Model_PARAFAC\PARAFACGNFit

Subroutines:
Internalsvdf, tucker3, vec (returns vectorised argument)
External: check, genparafac, gnparafac, initpar, kr, nshape, parafac, paroptions, scale_factors

Author:
Giorgio Tomasi
Royal Agricultural and Veterinary University
MLI, LMT, Chemometrics group
Rolighedsvej 30
DK-1958 Frederiksberg C
Danmark

Last modified: 06-Jun-2002 20:08:52

Contact: Giorgio Tomasi, gt@kvl.dk

References


Tucker3
 

function [A,B,C,G]=tucker3(X,F,maxit);

Description:
SVD-based algorithm for finding the parameters of the three-way Tucker3 model when the array as well as parameters are complex

Inputs:
X: 3-way
F: number of factors in the three modes
maxit: max number of iterations

Outputs:
A,B,C: loading matrices
G: core


Subroutines:
Internal:    none
External:   
nshape (n-way toolbox)

Author:
Rasmus Bro & Claus Andersson
Royal Agricultural and Veterinary University
MLI, LMT, Chemometrics group
Rolighedsvej 30
DK-1958 Frederiksberg C
Danmark

Last modified: 19-gen-03

Contact: Rasmus Bro, rb@kvl.dk

References


SVDF
 

function [u,s,v]=svdf(X,F);

Description:
Rank-reduced SVD based on NIPALS (the power-method the way is actually implemented here)

Inputs:
X: matrix
F: number of factors

Outputs:
u,s,v: see svd (MatLab buildin function)

Subroutines:
Internal:    none
External:    none


Author:
Rasmus Bro & Claus Andersson
Royal Agricultural and Veterinary University
MLI, LMT, Chemometrics group
Rolighedsvej 30
DK-1958 Frederiksberg C
Danmark

Last modified: 19-gen-03

Contact: Rasmus Bro, rb@kvl.dk

References
[1] - Faber N.M., Bro R., Hopke P.K., "Recent developments in CANDECOMP/PARAFAC algorithm, a critical review", Chemometrics Intell. Lab. Systems, Vol 65, 2003, 119-137
[2] - Gill P.E., Murray W., Wright M.H., "Practical Optimization", (Academic Press: 1986).
[3] - Tomasi G. and Bro R. "Fitting the PARAFAC model", Comp.Stat.Data Anal., 2002, Submitted