söndag 3 juli 2011

Neurala nätverk

Efter att ha lek runt lite med candlestick-formationer så tänkte jag att det kunde vara kul att göra någonting liknande och mer sofistikerat med neurala nätverk. Ett neural nätverk, eller neuronnät, är en modell av hur nervsystemet i hjärnan och andra delar av kroppen fungerar. Allt bygger på enskilda neuroner som tar emot signaler via kopplingar till andra neuroner och sedan sänder ut signaler till andra neuroner baserat på dessa signaler. Neurala nätverk kan fås att reagera på rätt indata från ingångs-neuronerna med rätt utdata från utgångs-neuronerna genom att rätt vikter appliceras på varje koppling mellan neuronerna och rätt tröskelvärde tilldelas varje neuronerna. Ett tröskelvärde används när man gör nätverk som bygger på en tröskelfunktion där summan av signalerna multiplicerat med vikterna måste överskrida ett värde för att en signal ska skickas från neuronen.

Ett enkelt exempel på ett neural nätverk är ett som löser OCH-funktionen. Om vi har två ingångar med ett värde på antingen 1 eller 0, så kan ett nätverk som ger ett värde från utgångs-neuronen på 1 för varje gång båda är 1 se ut så här:


Tröskelvärdet i detta fall är 1,1 och vikterna på alla kopplingar är 1. Om ger nätverket värdena 1 och 0 så kommer summan (1*1+0*1) inte överstiga 1,1 och nätverket kommer inte att "skjuta" en signal. Om vi dock ger nätverket värdena 1 och 1 så kommer tröskelvärdet att överstigas och nätverket avge en signal.

Det nätverket kanske inte är så imponerande, men vi använder också bara tre neuroner. För att hantera mer komplexa samband mellan ingångsvärdena så behövs ett större nätverk med fler neuroner. Med många neuroner och kopplingar så kan även de mest gömda mönster hittas, även om vi människor inte skulle ha en möjlighet att förstå vad det mönstret är. Det gör neurala nätverk till ett intressant sätt att analysera prisrörelser hos aktiemarknaden.

KvA