Kohonen-funktionen
fungerer, kort sagt, ved at modtage et
argument fra
, som den modificerer sig efter og så
afgiver en funktionsværdi i
. Hvilken funktionsværdi, som
et givent argument giver anledning til, afhænger altså af hvornår, vi
betrager funktionen.
Kohonen-nettet, som bruges til at udregne funktionsværdien efter, består
af et
(hvor
) netværk af Kohonen-enheder (også kaldet neuroner)
.
Hver af disse enheder har tilskrevet en værdi
.
Da de b indekser er ganske uinformative at slæbe rundt på, vil vi i
stedet indeksere w'erne med et vektor-indeks
. (Hvis ``vektor-indeks'' lyder
meget slemt, kan man bare tænke på i som neuronens nummer.)
For b=1 kan man tænke på neuronerne som perler på en snor. For højre dimensioner kan man tænke på netværket som et gitterværk.
Beregning af funktionsværdien sker på følgende vis: Lad
betegne det t'te input. For hver enhed beregnes
og `vinder-enheden' defineres til at være enheden med indeks
,
hvor
Med andre ord: Vinderenheden er den enhed, hvis værdi ligger tættets
på argumentets værdi
.
Kohonen-funktionens funktionsværdi er nu den vindede enheds placering i Kohonen-nettet.
Som den vakse læser allerede har bemærket, er angivelsen af
afhængigheden af iterationsantallet t for w'erne og
udeladt.
Da stort set alle parametre i denne artikel afhænger af
iterationsantallet, vil vi underforstå t'erne for at lette
notationen. For en god ordens skyld er t'erne genindført på side
, hvor alle de nødvendige trin af beregningen
og indlæringen af Kohonen-funktionen er samlet.
På baggrund af valget af en vinderenhed kan enhedernes værdier nu modificeres. Denne modifikation kaldes i neuralnet-termologi for indlæring, idet nettet lærer fra det input (argument), som det netop har modtaget.
Ændringen af enhedernes værdier beregnes som
kaldes nabofunktionen og
er en
indlæringskoefficent. Ofte vælges nabofunktionen som
hvor
kan være en konstant eller aftage med
iterationsantallet, som for eksempel
.
er den euklidiske afstand i
mellem en given
enhed og vinderenheden i nettet.
I simplere typer af selvorganiserende funktioner bliver kun vinderenhedens værdi ændret, men ved Kohonen-funktionerne bliver ligeledes de nærmeste naboers værdier i netværket ændret - nabofunktionen bestemmer hvor meget. I dette tilfælde aftager graden af naboskab som en normal-fordeling.
Denne type naboskab er dog ikke den eneste mulige; da Kohonen første gang
beskrev sine funktioner brugte han et diskret naboskab,
og
Hvad er det overhovedet nettet skal lære? Dette spørgsmål hænger nøje sammen med naturen af Kohonen-fuktiones argument, dvs. det input, nettet får. Nettet kan lære at blive en binær repræsentation af input. (Intuitivt: Tænk på nettet som et gitterværk af elektriske pære. En af pærene - vinderneuronen - tænder og markere positionen af input; resten af pærene er slukket.) Hvis input kommer fra enhedskvadrattet, kan nettet repræsentere dette ved at returnere en diskret udgave af input. Da nettet kun kan modtage et punkt af gangen, kan man ikke give hele kvadratet på en gang til nettet. I stedet kan man give nettet tilfældige punkter fra kvadratet. Med andre ord: Nettet modtager tilfældige punkter fra enhedskvadratet og `gætter', at inputmængden er hele enhedskvadratet og tager form som enhedskvadratet.
Indlæringen er fuldendt, når følgende sum (eller integral) over alle mulige input er mindst:
hvor
er sandsynlighedtætheden.
Et net med vægte
, som minimerer summen, kaldes en ideel
repræsentation. I det følgende vil jeg ganske u-stringent snakke om
gode og dårlige repræsentationer. For en god repræsentation er summen
`lille', men ikke
nødvendigvis minimal.
Hvis man lader indlæringskoefficenten
aftage med
iterationsantallet, vil Kohonen-nettet `størkne'.
Det er klart, at små værdier af
bremser indlæringen, og
stopper den helt. Med andre ord: Hvis man betragter de
følger af vektorer
, vil hver af følgerne
konvergere, hvis
. Dette er en
tilstrækkelig men ikke en nødvendig betingelse. Hvis for eksempel
for alle t er det ligegyldigt, hvilken værdi
har, følgerne af vektorer
konvergerer alligevel. Men hvis vi
ser bort fra `underlige' tilfælde, er betingelsen også nødvendig.
Man kan bevise, at jo langsommere
går mod 0 jo bedre bliver
repræsentationen. Den ideele repræsentation når man kun i grænsen.
Man fortrækker ofte i praktiske anvendelser
, at
, hvor
. Små værdier af
holder indlæringen i gang i længere tid og giver en mere præcis
repræsentation af input.
Dog vil man dog typisk hælde mod store værdier af
for at få
nettet til at stabilisere sig med en repræsentation, som afviger en
lille smule fra den ideelle repræsentation, fremfor at vente en del
længere på en lille forbedring i repræsentationen, idet det har en
betydning i anvendelsen, at nettet ikke flytter for meget på sig.
Lad os resumere: I almindelige ord bevirker indlæringen, at den vindende enhed trækkes hen mod inputvektoren, så enhedens værdi kommer til at ligne input mere (dvs. afstanden mellem enhedens værdi og et tilsvarende input vil, alt andet lige, i fremtiden blive mindre). Den vindende enhed trækker sine naboer med hen mod input. Dette betyder, at efter nogen tid vil områder i inputrummet, som er meget aktive (dvs. der kommer relativt ofte input her - området har en høj sansynlighedestæthed), have en højere tæthed af enheder, end områder med lav aktivitet.