do.crca | R Documentation |
Curvilinear Component Analysis (CRCA) is a type of self-organizing algorithms for
manifold learning. Like MDS, it aims at minimizing a cost function (Stress)
based on pairwise proximity. Parameter lambda
is a heaviside function for
penalizing distance pair of embedded data, and alpha
controls learning rate
similar to that of subgradient method in that at each iteration t the gradient is
weighted by α /t.
do.crca(X, ndim = 2, lambda = 1, alpha = 1, maxiter = 1000, tolerance = 1e-06)
X |
an (n\times p) matrix or data frame whose rows are observations and columns represent independent variables. |
ndim |
an integer-valued target dimension. |
lambda |
threshold value. |
alpha |
initial value for updating. |
maxiter |
maximum number of iterations allowed. |
tolerance |
stopping criterion for maximum absolute discrepancy between two distance matrices. |
a named list containing
an (n\times ndim) matrix whose rows are embedded observations.
the number of iterations until convergence.
a list containing information for out-of-sample prediction.
Kisung You
demartines_curvilinear_1997Rdimtools
\insertRefherault_curvilinear_1999Rdimtools
do.crda
## use iris data data(iris) set.seed(100) subid = sample(1:150, 50) X = as.matrix(iris[subid,1:4]) label = as.factor(iris[subid,5]) ## different initial learning rates out1 <- do.crca(X,alpha=1) out2 <- do.crca(X,alpha=5) out3 <- do.crca(X,alpha=10) ## visualize opar <- par(no.readonly=TRUE) par(mfrow=c(1,3)) plot(out1$Y, col=label, pch=19, main="alpha=1.0") plot(out2$Y, col=label, pch=19, main="alpha=5.0") plot(out3$Y, col=label, pch=19, main="alpha=10.0") par(opar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.