neuronove site
Marek Peca
marek@tynska.cuni.cz
Sobota Leden 1 18:00:07 CET 2005
Zdravim,
pred lety jsem se tomu docela venoval, bohuzel me uragan zivota
(doufam docasne) zaval do jakychsi nevabnych koncin jednocipu a
podobnych srander.
Nuze, perceptronova sit ucena zpetnym sirenim, tj. minimalizaci
kvadratickeho kriteria chyby vsech vystupu a vsech vzoru, muze mit
libovolny pocet vrstev. Myslim, ze matematicky dokazano, ze na
aproximaci libovolne fce vstupni vektor --> vystupni vektor (ktera
asi musi splnovat nejaka kriteria, ktera si nepamatuji, rovnez nevim,
pro jakou tridu vystupnich fci neuronu to plati, ale klasicky se
pouziva sigmoida 1/(1+exp(-l*potencial))) staci sit s jedinou vnitrni
vrstvou.
Poznamka, ktera muze zacatecniku usetrit mnoho: prvni vrstva site
neni slozena z neuronu, jsou to jenom jakoby "spojene draty" (takze
trivrstva sit ma N vstupu, tj. N uzlu spojenych dratu, M neuronu ve
vnitrni vrstve a O neuronu ve vystupni vrstve -- O vystupu).
Z teorie sice 1 vnitrni vrstva staci, z praxe se zas vi, ze site s
vice vrstvami snaze konverguji ke globalnimu minimu chyby.
Otazka poctu neuronu ve vnitrni vrstve je slozita. Plati zde jista
analogie s radem polynomu pri aproximacich funkci (z merenych dat,
napr.). Kdyz je neuronu malo, sit nema smysl pro detaily a moc
generalizuje, kdyz je neuronu moc, sit je "prechytrala" a chyta se
kdejake blbiny (sumu) jako zakonitosti. V praxi jsem zatim videl jen
site, kde pocet neuronu ucil clovek (a podle vysledku to pak pripadne
zmenil), ovsem publikace se zminuji i o sitich, ktere pridavaji a
ubiraji neurony ze site uprostred uceni dynamicky.
Vase uloha je ale prajednoducha a s velmi krasnou trenovaci mnozinou,
myslim, ze s ni sit nebude mit sebemensi problemy. Sit bude mit tedy
urcite 2 vstupy (x, y) a 6 vystupu (trida1, trida2, ...). Pouzijte 3
vrtsvy (tedy 2 vrstvy samotnych neuronu) a pro zacatek treba 6
vnitrnich, pak muzete ubrat, pokud se vysledne trideni nezhorsi.
Jinak mam dojem, ze na tento druh uloh se pouzivaji i site bez
ucitele (saoucici), typ Kohonen. Sit zacne s nahodnymi vahami a pak
jsou posilovany extremy v klasifikaci. Takze sit sama zacne
zaclenovat vstupy do nektere z mnozin a nakonci se zaradi pouze
jakasi logika, ktera priradi mnozinam samonaucenym mnoziny
pozadovane.
Hodne zdaru,
Marek P.
P.s> Kdyby mel nekdo nejake zajimave zadani pro me, sem s nim, rad se
v teto problematice po case zas trochu povrtam.
On Sat, 1 Jan 2005, Lukas Burda wrote:
> Delat to mam v matlabu, takze problem s vlastnim programovanim
> nemam... s temi vystupy to je jasny. Moje anglictina neni nejlepsi,
> takze jsem pred guglem zkousel jestli se tu nenajde nekdo zbehlej...
> Celkem mi to funguje, ale nevim jak obstojim pred otazkou: proc jste
> tu sit udelal takhle? (pravdiva odpoved: nahodne - asi neobstoji...)
>
> Lukas
>
>
>
> Saturday, January 1, 2005, 5:07:17 PM, you wrote:
>
> > Zkuste pohledat (ggogle) BACK PROPAGATION NEURAL NETWORK.
> > Do DELPHI jsem videl hotove knihovny (do matlabu taky).
>
> > Par utrzku:
>
> > 1 prstva je distribucni
> > posledni vrstva je vystupni,
> > takze zbyva 1 az 2 vrstvy pro vlasni sit.
>
> > Necekejte jsne definovanou 0 a jednicku, vetsinou
> > se to resi tak, ze se hleda vystup, ktery ma nejvetsi hodnotu.
>
> > Vice si jiz nepamatuji, talze google.
>
> > Slavek
>
> >> Zdravim, mam klasifikovat data do sesti kategorii. Vstupem
> >> jsou dva parametry. Trenovaci mnozina vypada takhle
> >> http://files.eburda.net/kat.jpg cervene utvary ZHRUBA
> >> oznacuji skupiny (zadane to mam samozrejme presne). Pro
> >> klasifikaci mam pouzit sit se zpetnym sirenim. Nemam v sitich
> >> vubec prehled. Existuje nejake jednoduche voditko podle
> >> ktereho pri pohledu na vstupni data zhruba urcim pocet
> >> vrstev, velikost vrstev a typy prenosovych funkci? Jako
> >> docela funkcni se jevi sit s sesti vystupy, kde podle
> >> kategorie je jeden jednickovy a ostatni nulove. Diky za kazde
> >> nakopnuti.
> >>
> >> Lukas Burda
> >>
Další informace o konferenci Hw-list