Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
LVQ – Learning Vector Quantization
help lvq Vytvoření LVQ sítě: newlvq. Architektura:
2
Kompetitivní vrstva klasifikuje vstupní vektory stejným způsobem
jako u SOM, vytváří až S1 tříd (S1 je počet neuronů v kompet. vrstvě). Lineární vrstva transformuje třídy vytvořené v kompetitivní vrstvě do požadovaných S2 tříd (target classification) (S2 je počet neuronů v kompet. vrstvě). Třídy vytvořené v kompetivní vrstvě se nazývají subclasses a třídy vzniklé v lineární vrstvě se nazývají target classes, požadované třídy. S1 > S2 Vytvoření sítě LVQ: newlvq net = newlvq ( PR, S1, PC, LR, LF ) PR … R x 2 matice min a max hodnot u R vstupních elementů S1 … je počet skrytých neuronů PC … je vektor o S2 elementech tvořený procenty příslušnosti do tídy LR … je krok (rychlost) učení (learning rate ) – default 0.01 LF … je funkce učení – default learnlv1
3
Příklad: 10 vstupních vektorů, klasifikace do 4 subtříd
4 neurony v první kompetitivní vrstvě 4 subtřídy budou označeny jednou ze dvou tříd a budou tvořeny 2 neurony v druhé, lineární vrstvě P = [ ; ] TC = [ ]; net . IW{1, 1} net . IW{2, 1} ans = ans = průměr z intervalu (-3, +3) midpoint
4
To nebyl požadavek, musíme trénovat.
Simulace sim Y = sim (net, P ); Y = vec2ind (Yb4t) Y = Testovali jsme pomocí vstupního vektoru, proto jedna třída. To nebyl požadavek, musíme trénovat. Trénink train net.trainParam.epochs = 150; net = train( net, P, T ); váhy v první (kompetitivní) vrstvě : net. IW{ 1, 1} ans =
5
Chceme klasifikovat do jedné třídy vektory p1, p2, p3, p8, p9, p10
a do druhé třídy vektory p4, p5, p6, p7 Pozn.: lineárně neseparabilní prostory, nelze použít perceptron. Budeme konvertovat Tc matici do target vektoru: T = ind2vec (Tc) targets = full (T) targets =
6
První vektor ze vstupu je promítnut se souřadnicemi ( -3 0 )
první sloupec v target (výstupním) vektoru bude tvořit první sloupec, říkáme, že vstupní vektor padne do 1.třídy Vytvoření sítě pomocí newlvq: net = newlvq (minmax (P), 4, [ ], ); LF chybí, pokud se použije defaultní hodnota, Nezadává se.
7
Y = sim (net, P ) Yc = vec2ind (Y) Yc = 1 1 1 2 2 2 2 1 1 1 demolvq1
váhy po natrénování Otestujeme vektoem blízkým vstupu: pchk1 = [ 0; 0.5 ]; Y = sim (net, pchk1); Yc1 = vec2ind (Y) Yc1 = třída 2 pchk2 = [ 1; 0 ]; Y = sim (net, pchk2); Yc2 = vec2ind (Y) Yc2 = třída 1 demolvq1
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.