Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf ·...

19
Hauptseminar WS 2011/2012 Klassifizierungsverfahren und neuronale Netze Hauptseminar - Methoden der experimentellen Teilchenphysik Thomas Keck [email protected] Karlsruher Institut f ¨ ur Technologie, 09.12.2011 1

Transcript of Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf ·...

Page 1: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Hauptseminar WS 2011/2012

Klassifizierungsverfahrenund neuronale Netze

Hauptseminar - Methoden der experimentellen Teilchenphysik

Thomas [email protected]

Karlsruher Institut fur Technologie,

09.12.2011

1

Page 2: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Inhaltsverzeichnis

1 Klassifizierung 31.1 Das Klassifizierungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Der Klassifikator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Begriffe der Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Klassifizierungsverfahren 52.1 Neyman-Pearson-Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Fisher-Diskriminante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Strukturen von kunstlichen neuronalen Netzen 83.1 Rekurrente Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Feed Forward Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Propagation in neuronalen Netzen 114.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2 Ubertragungsfunktion - propagation function . . . . . . . . . . . . . . . . . . 114.3 Aktivierungsfunktion - transfer function . . . . . . . . . . . . . . . . . . . . . 124.4 Fehlerfunktion - error function . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 Backpropagation of Error 145.1 Prinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2 Lernrate η . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.3 Backpropagation-Formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 Haufige Probleme beim Training und ihre Losung 16

7 Werkzeuge 197.1 ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.2 Eigenentwicklungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Literatur 19

2

Page 3: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

1 Klassifizierung

1.1 Das Klassifizierungsproblem

Viele Probleme in Naturwissenschaft, Technik und Wirtschaft lassen sich auf ein Klassifizie-rungsproblem zuruckfuhren. Das zu klassifizierende Objekt X ist dabei durch einen Merkmal-vektor ~x aus dem betrachteten Merkmalraum M mit der Dimension n charakterisiert. Das Pro-blem besteht nun darin zu entscheiden, ob das Objekt X in der betrachteten Klasse K liegtoder nicht. Je nach Klassenzugehorigkeit sind die Mermalvektoren unterschiedlich im M Raumverteilt. Man sagt sie besitzen eine gemeinsame Verteilung probability density function (PDF)f(~x) ∀~x ∈ K oder g(~x) ∀~x /∈ K.

Das Klassifizierungsproblem

X ∈ K oder X /∈ K

Beispiel 1 .Die Arztin Alice untersucht einen Patienten X . Sie misst Blutdruck B, Temperatur Tund Herzschlag H . Der Zustand des Patienten wird daher beschrieben durch ~x =(B, T,H)T . Sie mochte nun entscheiden, ob der Patient krank ist. Also in der Menge(Klasse) der Kranken K liegt. Ein moglicher Wert der PDFs ist z.B. g(180, 44, 130) = 0und f(180, 44, 130) = 0.1→ der Patient ist also keinesfalls gesund!

Beispiel 2 .Der Physiker Bob ist auf der Suche nach neuen Elementarteilchen. Er misst EnergieE, Impuls P und Halbwertszeit τ eines Teilchens im Detektor. Das Ereignis ist daherbeschrieben durch ~x = (E,P, τ)T . Er mochte nun wissen, ob das Teilchen in der KlasseK der unbekannten Elementarteilchen liegt.

xy

z

Abbildung 1: Beispiel fur PDFs in einem zweidimensionalen Merkmalraum

3

Page 4: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

1.2 Der Klassifikator

Ein Klassifikator KF ist eine Funktion, die den n-dimensionalen Merkmalraum auf R abbildet.Dann ist die Zugehorigkeit des Objektes X mit ~x ∈M zu K leicht bestimmbar.

Der Klassifikator

KF : M → R, ~x 7→ y (1)

Wird ein Merkmalvektor ~x in ein bestimmtes Intervall IK abgebildet, so legt man fest X ∈ K.Uber dieses Intervall kann man bei einem gegebenen Klassifikator bestimmte Eigenschaftenfestlegen, die sich komplementar zueinander verhalten:

Effizienz efficency – Anteil der X ∈ K, die K zugeordnet werden.

Reinheit purity – Anteil der X die K zugeordnet wurden, die richtig zugeordnet sind.

1.3 Begriffe der Statistik

Zur Begriffsbildung erfolgen an dieser Stelle einige Anleihen aus der Statistik. Die Nullhypo-these H0 bezeichnet die Annahme X ∈ K. Die Alternativhypothese bezeichnet die AnnahmeX /∈ K. Unser Klassifizierungsproblem entspricht in der Statistik einem Hypothesentest. Mitdiesen Begriffen konnen wir die moglichen Fehler des Klassifikators beschreiben.

Fehler 1. Art Die Nullhypothese wird angenommen, obwohl sie falsch ist. Je mehr Fehler 1. Artgemacht werden, desto geringer ist normalerweise die Reinheit. α bezeichnet die Wahrschein-lichkeit fur einen Fehler 1. Art. Man spricht auch von Signifikanz.

Fehler 2. Art Die Alternativhypothese wird angenommen, obwohl sie falsch ist. Je mehr Fehler2. Art gemacht werden, desto geringer ist die Effizienz. β bezeichnet die Wahrscheinlichkeit fureinen Fehler 2. Art.

Das Histogramm aller zu klassifizierenden Merkmalvektoren T (KF (~x)) wird Teststatistik ge-nannt. Sie ist die Abbildung der PDFs nach R.

Beispiel 3 .Alice ist selbst ein Klassifikator fur die Klasse K der kranken Menschen. Die Nullhypo-these von Alice ist: ,,Der Patient ist krank”. Alice mochte wenig Fehler 2. Art machen, ummoglichst viele Patienten die krank sind auch als solche zu erkennen. Fur sie ist Effizienzsehr wichtig, dabei klassifiziert sie naturlich haufig Patienten als krank die es garnichtsind.

Beispiel 4 .Bob verwendet ein Klassifikationsverfahren als Klassifikator. Seine Nullhypothese ist ,,beidem detektierten Teilchen handelt es sich um ein neues Elementarteilchen”. Bob setzt sei-ne Reputation aufs Spiel, falls er faschlicherweise ein neues Elementarteilchen entdeckt.Er mochte moglichst wenig Fehler 1. Art machen, da er eine sehr hohe Reinheit anstrebt.

4

Page 5: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

c

Abbildung 2: Teststatistik fur ∀~x ∈ K rechts und ∀~x /∈ K links. Der Cut an der Stelle c separiertdie Daten. Die farbigen Flachen entsprechen den Fehlern 1. Art (braun) und 2. Art(blau). Normiert man diese Flachen mit der Gesamtflache unter den jeweiligenKurven, so erhalt man die entsprechenden Wahrscheinlichkeiten.

2 Klassifizierungsverfahren

Ein Klassifizierungsverfahren ist ein Klassifikator. Oft ist der Merkmalraum M sehr groß undbesitzt eine hohe Dimensionalitat. Ganz allgemein gilt es die Dimension des Merkmalraumes soklein wie moglich zu halten:

1. So wenig Merkmale wie moglich, so viele wie notig.

2. Verwendung von Merkmalen mit hoher Korrelation zu K.

3. Sehr ahnliche Merkmale vermeiden.

4. Preprocessing der Merkmale (z.B. Normierung)

5. Ausgabe von bereits vorhandenen Verfahren als Merkmal nutzen

2.1 Neyman-Pearson-Lemma

Mochte man eine Nullhypothese g(~x) ∀~x /∈ K gegenuber einer Alternativhypothese f(~x) ∀~x ∈K testen, und kennt die zugehorigen Verteilungsfunktionen g und f im Merkmalraum, so ist derideale Klassifikator durch

KNPL =f (~x)

g (~x)(2)

gegeben. Besitzt man ausreichend Informationen uber das betrachtete System, so kann man dieVerteilungsfunktionen theoretisch oder uber Simulation bestimmen. Oft besitzt man nur bereitsklassifizierte Datensatze im Folgenden als Trainingsdatensatz bezeichnet. In der Praxis ist dasNeyman-Pearson-Lemma nicht anwendbar, da es nur fur 1 oder manchmal auch 2-dimensionaleProbleme moglich ist genug Daten zu besitzen, um die Verteilungsfunktionen zu bestimmen.Fur hohere Dimensionen ist dies hoffnungslos.

5

Page 6: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Beispiel 5 .Bob besitzt eine sehr genaue physikalische Vorstellung von seinem System und hat die 3D-Verteilungsfunktionen fur alle Elementarteilchen, sowie den von ihm neu postulierten,mithilfe einer jahrelangen Monte-Carlo-Simulation berechnet. Das Neyman-Pearson-Lemma erlaubt ihm eine optimale Klassifikation und der Nobelpreis sollte nicht mehrlange auf sich warten lassen.

2.2 Fisher-Diskriminante

Ein weiteres Klassifizierungsverfahren ist die ,,Fisher-Diskriminante”. Sie eignet sich zur Tren-nung eines Signals von Untergrundereignissen. Man macht einen linearen Ansatz fur den Klas-sifikator:

KFisher (~x) =n∑

i=1

aixi = ~a · ~x (3)

Die Koeffizienten ai werden nun so bestimmt, dass die Mittelwerte µ von Signal und Untergrundin der Teststatistik moglichst weit auseinanderliegen, und die Varianzen σ2 moglichst klein sind.Dafur muss jedoch der Mittelwert ~µ und die Kovarianzmatrix V der PDFs bekannt sein, dieseapproximiert man mithilfe der Trainingsdaten.

µ = ~a · ~µ (4)

σ2 = ~aTV~a (5)

Hieraus ergibt sich die sogenannte Fisher-Diskriminante

J (~a) =(µs − µb)2

σ2s + σ2b(6)

∂J

∂ai= 0 (7)

Die Fisher-Diskriminante wird nun maximiert, dies ist analytisch moglich und leicht in einerbeliebigen Programmiersprache zu implementieren.

2.3 Support Vector Machines

Eine Support Vector Machine (SVM) trennt die Daten durch eine (n-1)-dimensionale Hyper-flache im Merkmalraum. Die Flache wird so angelegt, dass der freie Abstand zu den nachstenMerkmalvektoren, die sogennanten Stutzvektoren, der jeweiligen Klasse maximiert wird. ZurBerechnung der Trennflache gehen aber alle Datenpunkte mit ein. Dieses Verfahren ist prin-zipiell in der Lage, die bestmoglichste Trennung zu finden, skaliert in der Praxis jedoch sehrschlecht (O

(N2)

wobei N die Anzahl der Datenpunkte ist). Sinnvoll ist dieses Verfahren wennman nur sehr wenige Beispieldatensatze besitzt. Mathematisch kann man zeigen, dass jedesneuronale Netz auch als SVM darstellbar ist. Durch sogenannte Kernelfunktionen konnen auchnichtlineare Klassifikationsprobleme behandelt werden. Die SVM sollen an dieser Stelle nurkurz erwahnt bleiben. Besitzt man sehr wenige Trainingsdatensatze, so sind diese neuronalenNetzen uberlegen.

6

Page 7: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

2.4 Neuronale Netze

Ist der Merkmalraum sehr groß und analytische Methoden versagen, so kann man ein neuronalesNetz als Klassifikator einsetzen. Ein neuronales Netz muss fur diesen Zweck zuerst mithilfeeines Trainingsdatensatzes trainiert werden. Die Gute der Klassifikation hangt dabei sehr starkvon der Qualitat des Trainingsdatensatzes ab. Im Gegensatz zur SVM skaliert das neuronale Netzlinear mit der Anzahl der Trainingsdatensatze (O

(N2)

wobei N die Anzahl der Datenpunkteist). Neuronale Netze eignen sich weiterhin sehr gut um die Ausgabe von bereits vorhandenenKlassifikatoren nochmals zu verarbeiten und so ein noch besseres Ergebnis zu erzielen.

Beispiel 6 .Alice ist ein neuronales Netz. Durch ihre 10-jahrigen Berufserfahrung kennt sie moglicheKrankheiten und Symptome. Daher kann sie sehr schnell und sicher feststellen ob einPatient krank ist.

Kunstliche neuronale Netze sind biologisch motiviert. Im menschlichen Gehirn (und dem vonTieren) sind bis zu einer Billion Nervenzellen, sogenannte Neuronen, vernetzt. Jedes Neuronbesitzt dabei tausende gewichtete Verbindungen, sogenannte Synapsen, zu benachbarten Neuro-nen. Uber chemische Signale aktivieren die Neuronen sich gegenseitig und verarbeiten so Infor-mationen. Dieses Prinzip wird in Software adaptiert. Das Hauptproblem war bis zur Entdeckungdes Backpropagation Algorithmus 1986, das Training der Netze, also die Einstellung der Ge-wichte zwischen den Neuronen. Das Anwendungsgebiet geht weit uber das der Klassifizierunghinaus.

7

Page 8: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

3 Strukturen von kunstlichen neuronalen Netzen

Im Allgemeinen besteht ein neuronales Netz aus sogenannten Neuronen die einen Eingabevektor~x auf eine Ausgabe y abbilden. Zur Beschreibung der Struktur dieses Netzes bedient man sicheines Schichtenmodells. Ein- und Ausgange des Netzes werden durch Neuronen symbolisiert,im Folgenden als Eingabeschicht input layer und Ausgabeschicht output layer bezeichnet.Die Neuronen der Eingabeschicht sind dabei wiederum mit anderen Neuronen uber gewichteteVerbindungen W verknupft, diese Neuronen bilden die sogenannte Versteckte Schicht hiddenlayer. Von diesen versteckten Schichten kann es beliebig viele geben. Grundsatzlich sind dabeidie Ausgange der n-ten Schicht mit den Eingangen der n+ 1-ten Schicht verbunden.

Eingabeschicht Versteckte Schicht Ausgabe Schicht

1

2

3

4

5

6

w13

w23

w14

w24

w15

w25

w36

w46

w56

Abbildung 3: Schichtenmodell eines neuronalen Netzes, am Beispiel eines MLP mit einer ver-steckten Schicht

3.1 Rekurrente Netze

In diesen Netzen konnen Neuronen beliebig untereinander verknupft sein. In unserem Schich-tenmodell bedeutet dies, dass ein einzelnes Neuron sich in mehreren Schichten befinden kann.Es kommt in diesem Fall zu sogenannten Ruckkopplungen feedback im System. Diese Art vonNetz besitzt daher ein kontextabhangiges Gedachtnis. Das neuronale Netz kann dann auch alsassoziativer Speicher dienen. Diese Form ist den naturlichen neuronalen Netzen am nachsten.Bekannte Vertreter sind das Hopfield und das Jordan Netz.

8

Page 9: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

4

3

1

2

(a) Symmetrisches Hopfield-Netz

1

2

7

3

4

5

6

(b) Jordan-Netz mit Kontextneuron

Abbildung 4: Rekurrente Netze

Hopfield Jordan• Jedes Neuron ist mit jedem anderen ver- • Ausgabeschicht ist uber Kontextneuro-

bunden. Vollverknupft. nen auf die versteckte Schicht zuruckgekoppelt.• Alle Neuronen sind sowohl Eingabe als • Training erfolgt mit ,,Backpropagation

auch Ausgabeneuronen. of Error” fur den Feed-Forward Teil• Speziell zugeschnittener Lernalgorith- • Keine Anpassung der ruckgekoppelten

mus. Verbindungen, diese sind konstant 1.• Sehr großer Speicher und Rechenzeit-

bedarf.• Ursprunglich entwickelt als Modell fur

Spineis H = −12

∑i,j wijsisj

3.2 Feed Forward Netze

In Feed Forward Netzen ist die Zuordnung der Neuronen zu den Schichten eindeutig. Es gibt kei-ne Ruckkopplungen. Feed Forward Netze sind die bevorzugten Netze in der Klassifizierung, dadie zu klassifizierenden Datensatze als unabhangig betrachtet werden und keine Ruckkopplungenbenotigen. Der Lernvorgang gestaltet sich bei diesen Netzen besonders einfach (siehe ,,Backpro-pagation of Error”). Bekannte Vertreter sind das ,,radial base function” Netz (kurz RBF) und dasMulti-Layer Perceptron (kurz MLP).

1

2

f

f

(a) RBF

1

2

3

4

5

6

7

(b) MLP

Abbildung 5: Feed Forward Netze

9

Page 10: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

RBF MLP• Eingabevektor wird nach radialen Ba- • Eingabevektor wird in vielen Schichten

sisfunktionen entwickelt. verarbeitet.• Besteht aus genau 3 Schichten. • Besteht aus beliebig vielen Schichten.• Nur die Verbindungen zur Ausgabeschicht • Alle Verbindungen sind gewichtet.

sind gewichtet. • Training je nach Schichtanzahl langsam• Versteckte Schicht implementiert radia- und instabil.

le Basisfunktionen. • Versteckte Schichten besitzen beliebi-• Ausgabeschicht berechnet gewichtete Sum- ge Verarbeitungsfunktionen.

me. • Ausgabeschicht besitzt beliebige Ver-• Training der Parameter der Basisfunk- arbeitungsfunktionen.

tionen und der Gewichte der Ausgabe- • Training aller Gewichte per Backpro-schicht per Backpropagation. pagation.

10

Page 11: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

4 Propagation in neuronalen Netzen

Ein beliebiges neuronales Netz sei gegeben. Die Eingange werden mit dem Merkmalvektor ~xinitalisiert. Uber die gewichteten Verbindungen propagiert dieser Vektor nun durch das Netz undwird durch die Neuronen verarbeitet. Am Ende erhalt man ein Ausgabesignal am Ausgang. ImFolgenden wird diese Propagation der Eingabe durch das Netz mathematisch erfasst. Ein einzel-nes Neuron j mit den Eingangen xi ist dabei durch zwei Funktionen netj und fj charakterisiert.Das Netz insgesamt besitzt eine Fehlerfunktion E, welche die Abweichung der Ausgabe vomgewunschten Wert berechnet.

t = netj (xi, wij , θj) xj = fj (t)

x1 w1j

x2 w2j

x3 w3j

xj

t

Abbildung 6: Innere Struktur eines einzelnen Neurons

4.1 Notation

Aufgrund der netzartigen Struktur und der sehr allgemein gehaltenen Betrachtung sind die Ar-gumente der einzelnen Funktionen schwierig zu erfassen. Folgende Notation wird verwendet:

xi Steht fur alle Eingange des jeweiligen Neurons, summen uber xi laufen uber alle Eingange.

xj Steht fur den Ausgang des Neurons.

θj Sind die Parameter des Neurons j. Es kann sich um einen Skalar, ein Vektor, ... handeln.

wij Steht fur die Gewichtsmatrix selbst, bzw. fur das Gewicht zwischen Neuron i und j.

Kurz gefasst: Der Index i steht immer fur eine beliebige Menge von Eingabeneuronen, der Indexj fur das jeweils betrachtete Neuron. Diese Notation ermoglicht es bei einer konkreten Imple-mentierung die Neuronen einfach durchzunummerieren und die jeweiligen Formeln fast direktin eine Programmiersprache zu ubertragen.

4.2 Ubertragungsfunktion - propagation function

Die Ubertragungsfunktion bildet die Eingange xi mit den jeweiligen Gewichten wij auf ein Ak-tivierungssignal t ab. Dabei kann die Ubertragungsfunktion von beliebigen weiteren Variablenθj abhangen, die fur jedes Neuron verschieden sein konnen. Die Funktion muss differenzierbarnach allen Parametern sein.

11

Page 12: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Ubertragungsfunktion

t = netj (wij , xi, θj)

Fur ein MLP werden die gewichteten Eingange aufsummiert und θj realisiert einen konstantenSchwellwert.

netj =∑

wijxi + θj

Fur ein RBF-Netz liefert die Ubertragungsfunktion den radialen Abstand der Eingabe zum Zen-trum des Neurons. Fur ein RBF-Netz aus Gaußglocken ist die Ubertragungsfunktion daher derExponent einer mehrdimensionalen Gaußglocke. Die θj realisieren Breite und Verschiebung derGaußglocke. Die Gewichte werden in dieser Funktion nicht verwendet und in einer realen Im-plementierung daher auch nicht benotigt.

netj =

∑(xi − θji)

2

2 · θ2s

Eine andere Moglichkeit, welche naher am biologischen Vorbild ist, ware die SoftMax Funktion,welche eine differenzierbare Annaherung der Maximumsfunktion ist.

netj =

∑(wijxi)

q+1

k +∑

(wijxi)q

4.3 Aktivierungsfunktion - transfer function

Die Aktivierungsfunktion bildet dass von der Ubertragungsfunktion berechnete Aktivierungssi-gnal t auf das Ausgangssignal xj des Neurons ab. Die Funktion muss differenzierbar nach allenParametern sein.

Aktivierungsfunktion

xj = fj (t)

Sehr haufig verwendet man fur ein MLP die soge-nannte Sigmoid Funktion. Sie verhalt sich fur t ≈ 0linear, fur t � 0 logarithmisch und fur t � 0 expo-nentiell. Ihre Ableitung ist direkt aus dem Funktions-wert berechenbar und beschleunigt damit das Lern-verfahren (siehe ,,Backpropagation of Error”).

fj =1

1 + e−at 0

12

Page 13: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Fur ein Gaußglocken-RBF-Netz ist die Aktivie-rungsfunktion einfach die Exponentialfunktion. Zu-sammen mit der Ubertragungsfunktion ergibt sich sodie mehrdimensionale Gaußglocke.

fj =1√2πe−t

x y

z

Zweidimensionales Beispiel eines RBF-Neurons mit Gaußglockenform

Im Prinzip ist jede differenzierbare Funktion geeignet, in der Ein- und Ausgabeschicht kannman z.B. die Eingabe t ∈ [e0, e1] durch eine Skalierungsfunktion auf einen beliebigen Ausga-bebereich normieren xj ∈ [a0, a1]:

fj = (t− e0) ·a1 − a0e1 − e0

+ a0

Eine Ausnahme bildet die Aktivierungsfunktion des Hopfield Netzes. Sie ist nicht differenzier-bar, da ein anderes Lernverfahren (nicht ,,Backpropagation of Error”) zum Einsatz kommt. DieAktivierungsfunktion entspricht (in Analogie zu Spins) der Sprungfunktion.

fj = Θ (t)

4.4 Fehlerfunktion - error function

Um die Qualitat des Netzes zu bestimmen benotigt man eine Fehlerfunktion. Diese bestimmt,aus den Ausgaben der Ausgangsneuronen und den Gewichten, den Fehler des Netzes. Die Funk-tion muss differenzierbar nach allen Parametern sein.

Fehlerfunktion

E = E (xj , wij)

In der Praxis verwendet man die quadratische Abweichung von der gewunschten Ausgabe tj desNetzes zum jeweiligen Trainingsdatensatz.

E =1

2

∑(xj − tj)2

Um die Gewichte moglichst klein zu halten, kann man einen sogenannten ,,Weight-Decay”Term verwenden, um die Gewichte gegen 0 zu drucken. Unwichtige Details die die Generalisie-rungsfahigkeit des Netzes verschlechtern werden so vergessen. Man spricht auch von OptimalBrain Damage.

E = E0 +1

2β∑

w2ij

13

Page 14: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

5 Backpropagation of Error

5.1 Prinzip

Der ,,Backpropagation of Error”-Algorithmus wurde im Jahr 1986 entdeckt und fuhrte zur Re-naissance der neuronalen Netze, da er das Training eines mehrschichtigen Netzes ermoglichte.Vorherige Lernalgorithmen, wie die ,,Delta-Regel”, waren hierzu nicht in der Lage. Beim ,,Back-propagation of Error” handelt es sich um ein Gradientenabstiegsverfahren. Dabei wird imRaum der Gewichte G die Fehlerfunktion des Netzes minimalisiert. Die Gewichte des Netzeswij werden dabei schrittweise, entsprechend des Gradienten dE

dwijauf der Fehleroberflache, an-

gepasst. Zur Anpassung der Parameter θj der Ubertragungsfunktion kann man analog verfahren:

Anderung

∆wij = −η dE

dwij

∆θj = −ηdE

dθj

5.2 Lernrate η

Konvergenz

Lernrate

Gebiet

Langsam

Klein

Schnell

Groß

Keine

Riesig

η η η η η η

Abbildung 7: Einfluss der Lernrate η auf das untersuchte Gebiet im Gewichtsraum und die Kon-vergenz des Gradientenabstiegverfahrens

Die Lernrate η ist bei diesem Gradientenverfahren entscheidend. Schaubild 7 veranschau-licht dies. Das auf ein Minimum untersuchte Gebiet im Gewichtsraum wird mit wachsendem ηgroßer, da die Gewichte sich starker andern. Die Konvergenz ist fur kleine η sehr langsam undfur sehr große η konvergiert das Verfahren uberhaupt nicht, da große Sprunge immer wieder auseinem bereits gefundenen Minimum herausfuhren.

5.3 Backpropagation-Formel

Die konkrete Formel erhalt man durch partielle Differentation.

14

Page 15: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Backpropagation-Formel

dE

dwij=∂E

∂xj· ∂fj∂t︸ ︷︷ ︸

δj

·∂netj∂wij

+∂E

∂wij

dE

dθj=∂E

∂xj· ∂fj∂t︸ ︷︷ ︸

δj

·∂netj∂θj

δj ist dabei das sogenannte Fehlersignal des j-ten Neurons. Die Berechnung der einzelnen Ge-wichtsanderungen erfolgt nun iterativ. Zuerst werden die Gewichtsanderungen und Fehlersignaleder Ausgabeschicht berechnet, da fur sie ∂E

∂xjbekannt ist, z.B:

E (xj) =1

2(xj − tj)2

∂E

∂xj= − (xj − tj)

Die beiden anderen partiellen Ableitungen sind ebenfalls bekannt, und hangen von der konkre-ten Wahl der Ubertragungs- und Aktivierungsfunktionen ab. Die Fehlersignale dieser Schichtdefinieren nun die Fehleroberflache fur die Schicht von Neuronen, die eine direkte Verbindungzur Ausgabeschicht besitzen:

E (xj) =∑k

E (xk)

∂E

∂xj=∑k

∂E

∂xk· ∂fk∂t· ∂netk∂xj

=∑k

δkwjk

Nun sind die Gewichtsanderungen und Fehlersignale fur diese Schicht bekannt. Der Fehler kannnach diesem Prinzip daher durch das gesamte Netz, Schicht fur Schicht, zuruckgepflanzt (,,back-propagation”) werden. Am einfachsten ist dies in Feed-Forward-Netzen. Fur rekurrente Netzebenotigt man weitere Annahmen oder Naherungen.

15

Page 16: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

6 Haufige Probleme beim Training und ihre Losung

E

wij

Abbildung 8: Projektion der Fehleroberflache auf ein Gewicht wij

Im Folgenden betrachten wir die Projektion der Fehleroberflache auf ein beliebiges aber festesGewicht wij . Der Backpropagation Algorithmus erlaubt uns die sukzessive Suche nach einemMinimum in dem hochdimensionalen Raum der Gewichte. Bei dieser Suche kommt es haufigzu einer Reihe von Problemen.

E

wij

Oszillation in einer schmalen SchluchtDie Gewichtsanderung uberspringt in ei-ner schmalen Schlucht das Minimum, underfahrt auf der anderen Seite die entgegen-gesetzte Anderung. Es kommt zur Oszil-lation. Die Einfuhrung eines Momentum-Terms verhindert dieses Problem.

∆wij (n) = −η dE

dwij+ α∆wij (n− 1)

Der Term fugt der Gewichtsanderung einegewisse Tragheit hinzu und verhindert so-mit Oszillationen.

16

Page 17: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Langsame Konvergenz auf einem Pla-teauDer Gradient kann verschwinden, fallseine der partiellen Ableitungen in derBackpropagation-Formel verschwindet.Fur die Ubertragungsfunktion und dieFehlerfunktion ist dies selten der Fall.Die Transferfunktion dagegen besitzt oftSattigungsbereiche (z.B. die Sigmoid-Funktion fur sehr kleine und große Werte)fur die die Ableitung gegen 0 strebt. Umaus diesen Sattigungsbereichen wiederherauszukommen empfiehlt sich dieFlatSpotEliminiation

∂fj∂t

!6= 0

∂fj∂t

∗=∂fj∂t

+ c

E

wij

E

wij

Verlassen oder Uberspringen einesscharfen MinimumsIst der Gradient sehr steil, so kann einscharfes Minimum leicht ubersprungenwerden. Die Losung ist eine variableLernrate η. Diese kann abhangig seinvon der Anzahl der Lerniterationen. Einanderer Ansatz ist die Verwendung vonsignum

(dEdwij

)anstatt dE

dwijbei der Ge-

wichtsanpassung, man spricht dann vomRPROP (Resilient Propagation) Verfahren.Die Lernrate wird hier in Abhangigkeitvon der letzten Anderung erhoht (gleichesVorzeichen) oder verringert (wechselndesVorzeichen).

17

Page 18: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

Konvergenz zu einem schlechten Mini-mumDie Konvergenz gegen ein schlechtes Mini-mum lasst sich im exakten Sinn nicht ver-hindern, da das globale Minimum in einemhochdimensionalen Raum nicht bestimm-bar ist. Mit zufalligen Anfangsgewichtenund mehreren Durchlaufen erhoht man je-doch die Chance ein gutes Minimum zu fin-den.

wij = random (−1, 1) 6= 0

Im Bezug auf die Anfangsgewichte sindzufallige Werte wichtig, damit diese sichnicht komplett synchron andern. Manspricht auch von ,,Symmetry Breaking”.

E

wij

E

n

Early StoppingDer Fehler des Netzes im Bezug auf dieTrainingsdaten sinkt exponentiell ab. Biszu einem gewissen Punkt trifft dies auchauf den Fehler des Netzes im Bezug auf un-abhangige Testdaten zu. Wird dieser Punktuberschritten, lernt das Netz die Trainings-daten auswendig und verliert die Abstrak-tionsfahigkeit. Man unterteilt daher dievorhandenen Daten in einen Trainingsteilzum Trainieren und einen Testdatenteil,der nur zur Fehlerbestimmung herangezo-gen wird. Sobald der Fehler der Testdatenwieder steigt wird das Training abgebro-chen. Man spricht von ,,Early Stopping”.Um keine wertvollen Trainingsbeispiele zuverschenken, kann man das Netz mehr-mals Trainieren und dabei jeweils einenanderen Teil der Daten zum Test verwen-den. Man spricht von ,,Cross Validation”.Eine andere Moglichkeit die Generalisie-rungsfahigkeit des Netzes zu erhohen istdas bereits erwahnte ,,Optimal Brain Da-mage”.

18

Page 19: Klassifizierungsverfahren und neuronale Netze - KITekptkuhr/HauptseminarWS1112/Keck_handout.pdf · Klassifizierungsverfahren und neuronale Netze – Thomas Keck 1.2 Der Klassifikator

Klassifizierungsverfahren und neuronale Netze – Thomas Keck

7 Werkzeuge

7.1 ROOT

ROOT ist ein Datenanalyse-Framework von CERN in C++. Neben zahlreichen Klassen zumSpeichern, Plotten und Analysieren von großen Datenmengen findet sich auch die Klasse ,,TMul-tiLayerPerceptron” welche, ein MLP mit 6 verschiedenen Lernalgorithmen implementiert. DieHandhabung ist kompliziert und setzt die Kenntnisse des restlichen Frameworks voraus.

7.2 Eigenentwicklungen

Die Implementierung eines neuronalen Netzes ist recht simpel und kann innerhalb weniger Stun-den in gangigen Programmiersprachen erfolgen. Fur spezielle Anwendungszwecke kann eineEigenentwicklung daher durchaus in Betracht gezogen werden.

Literatur

[Kriesel] Ein kleiner Uberblick uber Neuronale Netze von David Kriesel

[MMDD] Vorlesung ,,Moderne Methoden der Datenanalyse” SS11 Uni Karlsruhe

[Adamy] Fuzzy-Logik, neuronale Netze und evolutionare Algorithmen von Jurgen Adamy

19