Kohonenovy neuronové sítě jsou třídou neuronových sítí , jejichž hlavním prvkem je Kohonenova vrstva . Kohonenova vrstva se skládá z adaptivních lineárních sčítaček ("lineárních formálních neuronů "). Výstupní signály vrstvy Kohonen jsou zpravidla zpracovávány podle pravidla „ Vítěz bere vše “: největší signál se změní na jedničku, zbytek na nulu.
Podle metod nastavení vstupních vah sčítaček a řešených úloh existuje mnoho variant Kohonenovy sítě [1] . Nejznámější z nich:
Kohonenova vrstva se skládá z řady paralelních lineárních prvků. Všechny mají stejný počet vstupů a na svých vstupech přijímají stejný vektor vstupních signálů . Na výstupu tého lineárního prvku získáme signál
kde:
Po průchodu vrstvou lineárních prvků jsou signály odeslány ke zpracování podle pravidla „vítěz bere vše“: mezi výstupními signály se hledá maximum ; jeho číslo . Nakonec na výstupu je signál s číslem roven jedné, zbytek - nule. Pokud je současně dosaženo maxima pro několik , pak:
„Kohonenovy neurony lze považovat za sadu žárovek, takže pro jakýkoli vstupní vektor se jedna z nich rozsvítí“ [5] .
Kohonenovy vrstvy konstruované následovně jsou široce používány: každý ( -tý) neuron je spojen s bodem v -rozměrném prostoru (signálovém prostoru). Pro vstupní vektor jsou vypočteny jeho euklidovské vzdálenosti k bodům a „nejbližší dostane vše“ – neuron, pro který je tato vzdálenost minimální, dává jedničku, zbytek jsou nuly. Je třeba poznamenat, že pro srovnání vzdáleností stačí vypočítat lineární funkci signálu:
(zde je euklidovská délka vektoru: ). Poslední člen je stejný pro všechny neurony, takže není potřeba hledat nejbližší bod. Problém je redukován na nalezení počtu největších hodnot lineárních funkcí:
Souřadnice bodu se tedy shodují s váhami lineárního neuronu Kohonenovy vrstvy (s hodnotou prahového koeficientu ).
Jsou-li zadány body , pak se -rozměrný prostor rozdělí na odpovídající Voronoi-Dirichletovy mnohostěny: mnohostěn se skládá z bodů, které jsou blíže než k ostatním ( ) [6] .
Problém vektorové kvantizace s kódovými vektory pro danou množinu vstupních vektorů je položen jako problém minimalizace zkreslení během kódování, tedy při nahrazení každého vektoru z odpovídajícího kódového vektoru. V základní verzi Kohonenových sítí se používá metoda nejmenších čtverců a zkreslení se počítá podle vzorce
kde se skládá z bodů , které jsou blíže než k ostatním ( ). Jinými slovy, skládá se z bodů zakódovaných kódovým vektorem .
Pokud je populace dána a uložena v paměti, pak standardní volbou při trénování odpovídající Kohonenovy sítě je metoda K-means . Toto je způsob rozdělení:
kde je počet prvků v .
Dále opakujeme. Tato metoda dělení konverguje v konečném počtu kroků a poskytuje lokální minimum zkreslení.
Pokud např. množina není předem určená, nebo z nějakého důvodu není uložena v paměti, pak je široce využívána online metoda. Vektory vstupního signálu jsou zpracovávány jeden po druhém, pro každý z nich je nalezen nejbližší kódový vektor („vítěz“, který „bere vše“) . Poté je tento kódový vektor přepočítán podle vzorce
kde je krok učení. Zbytek vektorů kódu se v tomto kroku nemění.
Pro zajištění stability se používá online metoda s klesající rychlostí učení: pokud je počet kroků učení, pak . Funkce se volí tak, že monotónně při a tak, aby se řada rozcházela, např . .
Vektorové kvantování je mnohem obecnější operace než shlukování , protože shluky musí být od sebe odděleny, zatímco sady pro různé kódové vektory nemusí být nutně oddělené shluky. Na druhou stranu, pokud existují oddělitelné shluky, vektorová kvantizace je dokáže najít a zakódovat jinak.
Problém vektorové kvantizace spočívá v podstatě v co nejlepší aproximaci celé množiny datových vektorů kódovými vektory . Samoorganizující se Kohonenovy mapy také aproximují data, ovšem s dodatečnou strukturou v množině kódových vektorů ( angl. codebook ). Předpokládá se, že určitá symetrická tabulka „míry sousedství“ (nebo „míry přiblížení“) uzlů je a priori specifikována: pro každý pár ( ) je určeno číslo ( ), zatímco diagonální prvky tabulky přiblížení jsou rovny jeden ( ).
Vektory vstupního signálu jsou zpracovávány jeden po druhém, pro každý z nich je nalezen nejbližší kódový vektor („vítěz“, který „bere vše“) . Poté jsou všechny kódové vektory, pro které jsou přepočítány vzorcem
kde je krok učení. Sousedé vektoru vítězného kódu (podle a priori dané proximitní tabulky) jsou posunuti ve stejném směru jako tento vektor, v poměru k míře blízkosti.
Nejčastěji je tabulka kódových vektorů reprezentována jako fragment čtvercové mřížky v rovině a míra blízkosti je určena na základě euklidovské vzdálenosti v rovině.
Kohonenovy samoorganizující se mapy slouží především k vizualizaci a prvotní ("inteligenční") analýze dat [7] . Každý datový bod je mapován na odpovídající kódový vektor z mřížky. Takto se získá reprezentace dat v rovině („ mapa dat “). Na této mapě lze zobrazit mnoho vrstev: množství dat spadajících do uzlů (tj. "hustota dat"), různé vlastnosti dat a tak dále. Při zobrazování těchto vrstev je užitečný aparát geografických informačních systémů (GIS). V GIS slouží geografická mapa jako podklad pro zobrazení informačních vrstev . Datová mapa je substrátem pro inherentně libovolný soubor dat. Datová mapa slouží jako náhrada za geografickou mapu tam, kde geografická mapa prostě neexistuje. Základní rozdíl je následující: na geografické mapě mají sousední objekty podobné zeměpisné souřadnice , na datové mapě mají podobné objekty podobné vlastnosti. Pomocí datové mapy můžete vizualizovat data při aplikaci doprovodných informací na substrát (podpisy, anotace, atributy, informační zbarvení) [7] . Mapa zároveň slouží jako informační datový model . Lze jej použít k vyplnění mezer v datech. Tato schopnost se využívá například při řešení prognostických problémů .
Myšlenka samoorganizujících se map je velmi atraktivní a vedla k mnoha zobecněním, ale přísně vzato, nevíme, co stavíme: mapa je výsledkem algoritmu a nemá samostatný ("objekt") definice. Existuje však podobná teoretická myšlenka – hlavní variety [8 ] . Tyto manifoldy zobecňují lineární hlavní komponenty . Byly zavedeny jako čáry nebo povrchy procházející „středem“ distribuce dat s použitím podmínky vlastní konzistence : každý bod na hlavním varietu je podmíněným očekáváním těch vektorů , které se promítají na (za předpokladu , kde je projekce sousedství operátor zapnutý ),
Samoorganizující se mapy lze považovat za aproximace hlavních variet a jako takové jsou populární [9] .
Metodu aproximace vícerozměrných dat založenou na minimalizaci „energie elastické deformace“ mapy ponořené do datového prostoru navrhl A. N. Gorban v roce 1996 a následně ji vyvinul společně s A. Yu. Zinovievem, A. A. Rossievem a A. A. Pitenko [7] . Metoda je založena na analogii mezi hlavním potrubím a elastickou membránou a elastickou deskou. V tomto smyslu se jedná o rozvinutí klasické myšlenky spline (ačkoli elastické mapy nejsou vícerozměrné spline).
Nechť je dána množina vstupních vektorů . Stejně jako vektorové kvantizační sítě a samoorganizující se mapy je elastická mapa reprezentována jako soubor kódových vektorů (uzlů) v signálovém prostoru. Soubor dat je rozdělen do tříd sestávajících z těch bodů , které jsou blíže než jiným ( ). Zkreslení kódování
lze interpretovat jako celkovou energii pružin jednotkové tuhosti spojující datové vektory s odpovídajícími kódovými vektory.
Na sadě uzlů je nastavena další struktura: některé páry jsou spojeny „elastickými vazbami“ a některé trojice jsou spojeny do „ztužujících žeber“. Označme množinu dvojic spojených pružnými vazbami jako a množinu trojic, které tvoří výztuhy, jako . Například ve čtvercové mříži jsou nejbližší uzly (vertikálně i horizontálně) spojeny pružnými vazbami a výztuhy jsou tvořeny vertikálními a horizontálními trojicemi nejbližších uzlů. Deformační energie mapy se skládá ze dvou členů:
tažná energie ohýbací energiekde jsou odpovídající moduly pružnosti.
Úkolem konstrukce elastické mapy je minimalizovat funkcionál
Pokud je rozdělení množiny vstupních vektorů do tříd pevné, pak je minimalizace lineárním problémem s řídkou maticí koeficientů. Proto je stejně jako u vektorových kvantizačních sítí aplikována metoda dělení: fix - search - search for data - search for data - ... Algoritmus konverguje k (lokálnímu) minimu .
Metoda elastických map umožňuje řešit všechny problémy, které Kohonenovy samoorganizující se mapy řeší, má však větší pravidelnost a předvídatelnost. Jak se modul ohybu zvyšuje , elastické mapy se blíží lineárním hlavním komponentám. Jak se oba moduly pružnosti snižují, mění se na Kohonenovy vektorové kvantovací sítě. Elastické mapy jsou v současnosti široce používány pro multivariační analýzu dat v bioinformatice . [10] Odpovídající software je zveřejněn a volně dostupný na webových stránkách Curie Institute ( Paříž ) [11] [12] .
Obrázek ukazuje výsledky vizualizace dat pro rakovinu prsu . Tato data obsahují 286 příkladů indikujících úroveň exprese 17816 genů [13] . Jsou dostupné online jako dnes již klasický testovací případ pro vizualizaci a mapování dat [14] .
Problém klasifikace se řeší . Počet tříd může být libovolný. Uvádíme algoritmus pro dvě třídy a . Zpočátku jsou pro trénování systému přijímána data, jejichž třída je známá. Úkol: najděte pro třídu určitý počet kódových vektorů a pro třídu nějaký (případně jiný) počet kódových vektorů tak, aby výsledná Kohonenova síť s kódovými vektory ( zkombinujeme obě rodiny) klasifikovala podle následujícího rozhodovací pravidlo:
pokud pro vektor vstupních signálů nejbližší kódový vektor („vítěz“, který „bere vše“ ve vrstvě Kohonen) patří do rodiny , pak patří do třídy ; pokud vektor kódu nejblíže patří do rodiny , pak patří do třídy .S každým kódovým vektorem sloučené rodiny je spojen Voronoi-Dirichletův polytop . Tyto mnohostěny označujeme , resp. Třída v signálovém prostoru podle rozhodovacího pravidla odpovídá union a třída odpovídá union . Geometrie takových svazků mnohostěnů může být velmi složitá (viz obrázek pro příklad možného rozdělení do tříd).
Pravidla online učení sítě jsou založena na základním pravidle učení sítě vektorové kvantizace. Vstupem systému je signálový vektor , jehož třída je známá. Pokud je systém klasifikován správně, pak je odpovídající kódový vektor mírně posunut směrem k signálovému vektoru ("odměna")
Pokud je klasifikován nesprávně, pak je odpovídající kódový vektor mírně posunut v opačném směru než signál („trest“).
kde je krok učení. Pro zajištění stability se používá online metoda s klesající rychlostí učení. Různými kroky je také možné „povzbudit“ správné rozhodnutí a „potrestat“ to špatné.
Toto je nejjednodušší (základní) verze metody [15] . Existuje mnoho dalších modifikací.
Typy umělých neuronových sítí | |
---|---|
|
Strojové učení a dolování dat | |
---|---|
Úkoly | |
Učení s učitelem | |
shluková analýza | |
Redukce rozměrů | |
Strukturální prognózy | |
Detekce anomálií | |
Grafové pravděpodobnostní modely | |
Neuronové sítě | |
Posílení učení |
|
Teorie | |
Časopisy a konference |
|