\Header{lvq3}{Learning Vector Quantization 3}
\keyword{classif}{lvq3}
\begin{Description}\relax
Moves examples in a codebook to better represent the training set.\end{Description}
\begin{Usage}
\begin{verbatim}
lvq3(x, cl, codebk, niter = 100*nrow(codebk$x), alpha = 0.03,
     win = 0.3, epsilon = 0.1)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] a matrix or data frame of examples

\item[\code{cl}] a vector or factor of classifications for the examples

\item[\code{codebk}] a codebook

\item[\code{niter}] number of iterations

\item[\code{alpha}] constant for training

\item[\code{win}] a tolerance for the closeness of the two nearest vectors.

\item[\code{epsilon}] proportion of move for correct vectors

\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Selects \code{niter} examples at random  with replacement, and adjusts the nearest
two examples in the codebook for each.\end{Details}
\begin{Value}
A codebook, represented as a list with components \code{x} and \code{cl}
giving the examples and classes.\end{Value}
\begin{References}\relax
Kohonen, T. (1990) The self-organizing map.
\emph{Proc. IEEE}
\bold{78}, 1464--1480.

Kohonen, T. (1995)
\emph{Self-Organizing Maps.}
Springer, Berlin.

Ripley, B. D. (1996)
\emph{Pattern Recognition and Neural Networks.} Cambridge.

Venables, W. N. and Ripley, B. D. (2002)
\emph{Modern Applied Statistics with S.} Fourth edition.  Springer.\end{References}
\begin{SeeAlso}\relax
\code{\Link{lvqinit}}, \code{\Link{lvq1}}, \code{\Link{olvq1}},
\code{\Link{lvq2}}, \code{\Link{lvqtest}}\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
data(iris3)
train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))
cd <- lvqinit(train, cl, 10)
lvqtest(cd, train)
cd0 <- olvq1(train, cl, cd)
lvqtest(cd0, train)
cd3 <- lvq3(train, cl, cd0)
lvqtest(cd3, train)
\end{ExampleCode}
\end{Examples}

