| 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 \alpha /t.
do.crca(X, ndim = 2, lambda = 1, alpha = 1, maxiter = 1000, tolerance = 1e-06)
X |
an |
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.