📄 lvq1.html
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><html><head><title>SOM Toolbox / lvq1 </title></head><body bgcolor=#f0f0f0><table border=0 width="100%" cellpadding=0 cellspacing=0><tr><td valign=baseline><font size=+2>SOM Toolbox</font></td><td valign=baseline align=center><a href="somtoolbox.html">Online documentation</td><td valign=baseline align=right><a href="http://www.cis.hut.fi/projects/somtoolbox/" target="_top">http://www.cis.hut.fi/projects/somtoolbox/</a></td></tr></table><hr><H1> lvq1 </H1><H3> Purpose </H3><PRE> Trains codebook with the LVQ1 -algorithm (described below).</PRE><H3> Syntax </H3><UL><PRE> sM = lvq1(sM, D, rlen, alpha)</PRE></UL><H3> Description </H3><PRE> Trains codebook with the LVQ1 -algorithm. Codebook contains a number of vectors (mi, i=1,2,...,n) and so does data (vectors xj, j=1,2,...,k). Both vector sets are classified: vectors may have a class (classes are set to the first column of data or map -structs' .labels -field). For each xj there is defined the nearest codebook -vector index c by searching the minimum of the euclidean distances between the current xj and codebook -vectors: c = min{ ||xj - mi|| }, i=[1,..,n], for fixed xj i If xj and mc belong to the same class, mc is updated as follows: mc(t+1) = mc(t) + alpha * (xj(t) - mc(t)) If xj and mc belong to different classes, mc is updated as follows: mc(t+1) = mc(t) - alpha * (xj(t) - mc(t)) Otherwise updating is not performed. Argument 'rlen' tells how many times training sequence is performed. LVQ1 -algorithm may be stopped after a number of steps, that is 30-50 times the number of codebook vectors. Argument 'alpha' is the learning rate, recommended to be smaller than 0.1. NOTE: does not take mask into account.</PRE><H3> References </H3><PRE> Kohonen, T., "Self-Organizing Map", 2nd ed., Springer-Verlag, Berlin, 1995, pp. 176-179. See also LVQ_PAK from http://www.cis.hut.fi/research/som_lvq_pak.shtml</PRE><H3> Required input arguments </H3><PRE> sM The data to be trained. (struct) A map struct. D The data to use in training. (struct) A data struct. rlen (integer) Running length of LVQ1 -algorithm. alpha (float) Learning rate used in training.</PRE><H3> Output arguments </H3><PRE> codebook Trained data. (struct) A map struct.</PRE><H3> Example </H3><PRE> lab = unique(sD.labels(:,1)); % different classes mu = length(lab)*5; % 5 prototypes for each sM = som_randinit(sD,'msize',[mu 1]); % initial prototypes sM.labels = [lab;lab;lab;lab;lab]; % their classes sM = lvq1(sM,sD,50*mu,0.05); % use LVQ1 to adjust % the prototypes sM = lvq3(sM,sD,50*mu,0.05,0.2,0.3); % then use LVQ3 </PRE><H3> See also </H3><TABLE NOBORDER WIDTH=80%><TR><TD><a href="lvq3.html"><B>lvq3</B></a><TD> Use LVQ3 algorithm for training.<TR><TD><a href="som_supervised.html"><B>som_supervised</B></a><TD> Train SOM using supervised training.<TR><TD><a href="som_seqtrain.html"><B>som_seqtrain</B></a><TD> Train SOM with sequential algorithm.</TABLE><p><hr><br><br><!-- Last updated: May 30 2002 --></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -