nedopracovane otazky su dosledok znizovania casoveho okna a zvysovania unavy.. nic moc overall.
Vyratame si korelacnu maticu a pomocou nej ziskame hlavne vektory a hlavne komponenty pre dane data. toto mozem pouzit na dekorelaciu dat alebo redukciu dimenzie, alebo rekonstrukciu poskodenych dat, alebo kopresiu. Viacej napriklad tu: http://csnet.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf
Vzor sa hodi sieti, a podla nejakeho kriteria sa vyberie najlepsie reagujuci neuron. Bud je to Euklidovska vzdialenost vzoru a vektoru vah daneho neuronu (ktora musi byt najmensia zo vsetkych), alebo je to velkost odozvy w^t * x. Co je vlastne to iste, ked si rozpiseme ako sa rata euklidovska vzdialenost. Sutazenie ma este jeden rozmer - medzi neuronmi existuju lateralne vazby. Neurony blizko vitazneho neuronu su excitovane, neurony kusok dalej zase inhibovane. Suvisi to s principmi samorganizacie - teda existencia lokalnych pozitivnych spatnych vazieb. Blablabla.. som is easy gonda is dead.
Neurobiologická motivácia algoritmu SOM, laterálna interakcia a jej náhrada v SOM, sumarizácia algoritmu, voľba parametrov modelu, DP verzia algoritmu.
blablabla vieme..
Learning vector Quantization
Pre data sa vyberie M prototypov - kedze ma byt M tried na klasifikaciu. Tieto prototypy su reprezentovane neuronmi a vahami ktore k nim zo vstupnych dat vedu. Nainicializuju sa napriklad tak ze kazdemu neuronu sa nastavia vahy na nejaky vektor zo vstupnych dat. Potom sa robi normalne kompetitivne ucenie, kde sa vyberie nahodny vektor x z mnoziny vstupnych dat a hlada sa prototyp (neuron), ktory ma najbzlizsiu euklidovsku vzdialenost ku x. Ten ktory vyhra je potom updatnuty takto:
w(new) = w(old) + x - w(old) ), kde m je pocet prototypov.
Potom co su neurony natrenovane, sa moze siet pouzit na klasifikaciu dat. Ak je to dvojrozmerny priestor, tak prototypy definuju jadra Voronoivho diagramu. Very easy. Pouziva sa aj na kompresiu. (namiesto vektoru sa posiela kod prototypu kde patri - napriklad v telefonnej komunikacii)
Kedze v SOM-ke vyhravaju s vitaznym neuronom aj jeho topologicky susedia, nastava zhromazdovanie podobnych klastrov vedla seba.
blabla.. ak mame 2d SOM tak data sa zredukuju do 2d priestoru.
vela podobnych dat a malo inych, ked napriklad je narusena gausovsa distribucia vstupov, sposobi ze siet sa lepsie nauci rozoznavat tieto data ktore jej boli viacej prezentovane a vo vyslednej mape zaberaju vacsi priestor. “Som aproximuje hustotu rozlozenia vstupnych dat”
netusim..
Paradny popis principu fungovania RBF: http://www.statsoft.com/textbook/stneunet.html#radial
Siet pozostava z jednej skrytej vrstvy, ktora je zlozena z jednotiek, jadier, ktore interpretuju hypergule (preto radialna aktivacna funkcia). Iny sposob ako ich chapat je ze su to jadra gaussovskych distribucii. Vystupna vrstva moze byt len lienarnou kombinaciou vystupov skryteho layeru. (moze pretoze sa daju pouzivat aj nelinearne metody)
Tieto funkcie popisuju jadro + fallof hypergule, pricom klasifikacia vlastne znamena vzdialenost vzoru od jadra nejakej hypergule.
Gaussia, Cauchy, Multiquadrics, Quadrics:
Sa sklada z rozmiestnenych jadier RBF jednotiek, z ktorych kazde ma inu charakteristiku, a fallof. Bod v priznakovom priestore sa vyhodnoti z hladiska jeho vzdialenosti ku centram hyperguli, ktore su reprezentovane RBF jednotkami. Je dobre ked sa hypergule ciastocne prekryvaju, pretoze to zvysuje schopnost generalizacie, na druhej strane to ale znizuje schopnost klasifikacie. Pokial by sa neprekryvali, dochadza ku over-fittingu vstupnych dat a moze sa stat ze bod medzi dvoma hypergulami nebude spravne zaradeny..
Najst funkciu, ktora spravne interpoluje data. RBF to robia linearnou kombinaciou jednotiek h(i). Teda w^t*h(i) = d(i), i = 1,2…n. Ked isi to dame do matice, a zjednodusime, vyjde nam ze w = H^-1 * d. Urobim ale inverznu maticu ku matici H je mozne len vtedy ak tato maitce je nesingularna. Michelliho teorem vravi, ze matica H, kde h(i,j) = SIGMA(i,j)[||x(i) - x(j)||] je nesingularna. SIGMA(i,j) je prave nejaka radialna funkcia.
Blablabla, tak ako v tom anglickom texte. RBF sa fasa rychlo ucia oproti MLP, ale zase vyzaduju vacsi priestor, a je problem najst vhodne rozlozenie centier v priznakovom priestore.
Trening RBF prebieha v dvoch stadiach - prve stadium je nelinearny trening RBF centier a druhy je nejaka lienarna optimalizacia vystupov z RBF layera.
Ni na nete nic nenachadzam, tak vravim ze to je intepretacia dat pomocou grafu, v ktorom je mozne killovat a pridat hrany.
Podobne ako TRN ale este navyse sa pridavaju nove nody do grafu, tam kde je najvacsia chyba medzi dvoma nodami. Nova noda ziska priemerne hodnoty jej susedov.
Klasicke modely NN maju problem rozlisit casovy kontext a naslednost vstupov. Ich pamat je obmedzena len pre sucasny vstup, a vystup nezavysi od sekvencie poslednych vstupov (kontextu). Aplikacie v ktorych sa vyzaduje takato funkcnost su viacere: rozpoznavanie reci, predpovedanie casovych radov, rozpoznavanie casovych radov a podobne.
Prve taketo modely NN boli len ciastocne rekurentne. Pouzivali vrstvu “kontextovych” neuronov, ktorych vystup sa posielal skrytej vrstve:
Z toho co som pochopil sa jedna klasicku feeforward neuronovu siet, v ktorej ale existuje delay. S delayom sa pracuje tak, ze ak sa sieti prezentuje nejaka sekvencia, tato sekvencia sa po jej prezentacii vlozi do delay fronty s dlzkou n. Po n cykloch z fronty vypadne. Kazdy neuron si teda svoju aktivaciu rata nie cez net input ale cez delayovany net input. Delayovany net input je tiez vazeny. Teda ak mame dlzku delay fronty rovnu n, potom net input bude:
net = a0x(0) + a1x(1) + … + anx(n), kde x(n) je vstupny vektor pred casom n. Akurati si niesom isty ci vahy a0 az an su rovnake alebo nie.
Pokial som pochopil spravne z netu, siet sa trenuje rovnako ako obycajna feeforward. Predpokladam ze asi su vsetky vahy ku delayovanym inputom rovnake, alebo sa spravi average vah a potom sa kazda z nich updatne rovnakym dielom.
Vyuzitia su speech recognition, time-series predition, etc - veci ktore vyzaduju aj casovy kontext. Nevyhody su tie, ze delay ma dlzku okna n, a tuto dlzku okna treba vzdy nejakym sposobom nastavit, pricom existuju aplikacie pre ktore ziadna dlzka n nieje vhodna, pretoze je konecna.
Rozsirenie feedforward sieti o casovu dimenziu. Podobne ako TDNN. Do delay fronty sa ale uklada vystup neuronu v case x. Fronta ma opat dlzku n. Vstupom do input layeru je sekvencia dlzky n. Neuron v case x+1 dostane na vstup: vystupy od neuronov v case x, x+1 cast sekvencie, a svoj vystup v case x. Vsetky tieto vstupy maju rovnake vahy.
Trenovanie sa deje po “prezuti” celej sekvencie. U poslednej casti sekvencie sa vypocita delta ako nasobok f(net) a e(i). U predoslych casti sekvencie napriklad t, sa rata nasobok f(net) * [e(i) + suma vahy * delty (t+1)]. Vyrata sa takisto celkova chyba ako 1/2 * suma cez cas sum cez chyby neuronov. Vaha sa updatne ako alfa * suma cez cas delta(i) v case t * x(t-1).
Nevyhody podobne ako u TDNN - dlzka sekvencie je fixna.
Kompletne prepojena rekurentna neuronova siet. (alebo aspon minimalne sa tvari ze “we now make network connectivity very very unconstrained”. Uci sa modifikaciou backpropu, ktory funguje realtime. Chyba sa rata len ked dany vystup ma nejaky “ciel”. Pocita sa chyba v case t, a z nej sumaciu cez vsetky neurony s cielom celkova chyba v case t. Potom sa to zacina zamotavat: na updatovanie vah sa pouziva specialny operator:
ktory:
The key to understanding RTRL is to appreciate what this factor expresses. It is essentially a measure of the sensitivity of the value of the output of unit k at time t to a small change in the value of wij, taking into account the effect of such a change in the weight over the entire network trajectory from t0 to t. Note that wij does not have to be connected to unit k. (!) Thus this algorithm is non-local, in that we need to consider the effect of a change at one place in the network on the values computed at an entirely different place.
Pouziva sa aj technika “Teacher forcing”, kde sa niekedy vystupy nahradia idealnymi vystupmi (cielmi). Tie su potom feebackovane naspat do siete.
Hoppfieldov model bol popisany Johnom Hopfieldom v aprili 1982. Jedna sa o jedinu vrstvu kompletne poprepajanych neuronov. Vystupy jednotlivych neuronov su zapojene do vstupov ostatnych neuronov. Kazdy neuron ma aj externy vstup. Jedna sa o formu rekurentnej siete.
Aktivacnou funkciou (napr. sgn()) prezenieme net (pravidlo aktivacie) od ktoreho odcitame treshold..
Hopfieldov model je vlastne dynamicky system. Energeticka rovnica popisuje fazovy priestor. Siet ako autoasociativna pamat. Sieti sa ponukne utrzok dat a siet si ich po istej chvili konvergovania vo fazovom priestore cele zrekonstruuje. Funguje to tak ze zapamatane data predstavuju vo fazovom priestore globalne minima, a vlastne su to atraktory, ktore pritahuju tie ci one vzorky, ktore sa sieti poskytnu. Z napisaneho vyplyva ze aktivacna rovnica sluzi na minimalizaciu energie.
Pracuje sa s terminom T “teplota” (teda vlastne entropia). Stavy sa mozu premenit na ine stavy na zaklade pravdepodobnosti. Najprv sa urci pravdepodobnost zmeny na zaklade rovnic a potom sa zjavne hodi kockou.