ALS.CPC {ALSCPC} | R Documentation |
minimize the objective function \Phi(\bold{D})
by using of the accelerated line search algorithm
Description
The ALS.CPC
function implement
ALS algorithm based on the update formula
\bold{D_{k+1}} = R_{\bold{D_k}} (-\beta^{m_k} \ \alpha \ grad(\Phi (\bold{D}_k)))
until convergence (i.e. |\Phi(\bold{D}_k)-\Phi (\bold{D}_{k+1})| \le \epsilon
)
and return the orthogonal matrix
\bold{D}_r
, r
is the smallest nonnegative integer k
such that
|\Phi(\bold{D}_k)-\Phi (\bold{D}_{k+1})| \le \epsilon
.
Usage
ALS.CPC(alpha,beta,sigma,epsilon,G,nval,D,S)
Arguments
alpha |
positive real number. |
beta |
real number belong to (0,1). |
sigma |
real number belong to (0,1). |
epsilon |
small positive constant controlling error term. |
G |
number of groups in common principal components analysis. |
nval |
a numeric vector containing the positive integers of sample sizes minus one in each group. |
D |
an initial square orthogonal matrix of order |
S |
a list of length |
Value
An orthogonal matrix such that minimize \Phi(\bold{D})
.
Author(s)
Dariush Najarzadeh
References
Absil, P. A., Mahony, R., & Sepulchre, R. (2009). Optimization algorithms on matrix manifolds. Princeton University Press.
Examples
nval<-numeric(3)
nval[[1]]<-49
nval[[2]]<-49
nval[[3]]<-49
S<-vector("list",length=3)
setosa<-iris[1:50,1:4]; names(setosa)<-NULL
versicolor<-iris[51:100,1:4]; names(versicolor)<-NULL
virginica<-iris[101:150,1:4]; names(virginica)<-NULL
S[[1]]<-as.matrix(var(versicolor))
S[[2]]<-as.matrix(var(virginica))
S[[3]]<-as.matrix(var(setosa))
D<-diag(4)
ALS.CPC(10,0.5,0.4,1e-5,G=3,nval,D,S)