Transcript KNN 9 RBF

9. Radiale-BasisfunktionenNetze (RBF-Netze)
CIC Lab
Computational Intelligence
and Control Laboratory
Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
1
End
Inhalt
CIC Lab
Computational Intelligence
and Control Laboratory
a. Prinzip
b. Architektur RBF-Netze
c. Hidden Layer mit RBF-Neuronen
d. Radiale Basisfunktion (RBF)
e. Gaußfunktion als Aktivierungsfunktion
f. Beispiel: Kennlinienapproximation
g. Initialisierung der Parameter und Gewichte
h. Nachtraining des RBF-Netzes
i. Bewertung RBF-Netze
j. Fragen
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
2
End
Prinzip
CIC Lab
Computational Intelligence
and Control Laboratory
•
RBF-Netze sind spezielle vorwärtsgerichtete neuronale Netze,
die nur eine Schicht verdeckter Neuronen besitzen
•
die Neuronen haben spezielle, radialsymmetrische (radiale)
Aktivierungsfunktionen
•
sie eignen sich besonders für die Approximation von
Funktionen
•
dabei sind die Stützstellen im einfachsten Fall durch die
Trainingsmuster des Netzes vorgegeben
•
durch die Aktivierungsfunktion besitzt jedes Neuron ein sehr
lokales Verhalten – es liefert nur für Werte in diesem Bereich
eine große Aktivierung, sonst eine geringe
•
direkte Berechnung der Gewichte möglich, daher schnell
trainierbar und sicher konvergierend
•
sie können auch mit Verfahren wie Backpropagation
nachtrainiert werden, um die Genauigkeit zu verbessern
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
3
End
Architektur
CIC Lab
Computational Intelligence
and Control Laboratory
• Eingabeschicht: lineare Aktivierung
• Hidden Layer mit RBF-Aktivierung, deren Zentrum und Breite mittels
Voreinstellung und Training adaptierbar ist
• trainierbare Gewichte c1 ... cN
SS 2009
• Ausgabeschicht mit linearer Aktivierung summiert alle Ausgangssignale
Inhalt
des Hidden Layer nach Gewichtung mit c1 ... cN auf (wie beim
Perzeptron)
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
4
End
Hidden Layer
CIC Lab
Computational Intelligence
and Control Laboratory
• yi ist der gewünschte Ausgangswert des RBF-Netzes:
yi = f(Xi)
• das verwendete Funktionensystem besteht aus
radialsymmetrischen Basisfunktionen hi, die von der Wahl der
Stützstellen Xi abhängen:
hi (||X-Xi||)
– mit hi als eigentliche Basisfunktion. Als Eingabe dient der Abstand
des Vektors X vom Stützstellenvektor Xi
• meistens wird der euklidische Abstand zwischen den beiden
verwendent. Damit gilt für f(X)
f(X) = S ci hi (||X-Xi||) über alle Vektorelemente 1...n
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
5
End
Radiale Basisfunktion
(Zentrumsfunktion)
CIC Lab
Computational Intelligence
and Control Laboratory
1,0
0,607
0,135
• Es gibt einige Klassen von zulässigen Zentrumsfunktionen
• Dreieck- und Gaußsche Funktion eignen sich gut für NeuroFuzzy-Anwendungen
• die wichtigste ist die Gaußsche Funktion
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
Inhalt
6
End
Gaußsche Funktion als Aktivierung
bei einer Eingangsgröße
CIC Lab
Computational Intelligence
and Control Laboratory
fact
xi
x
• hat das RBF-Neuron einen Eingang, sieht die Aktivierung um
das Zentrum xi (Stützstelle - dies ist der erste Parameter) wie
in der obigen Abb. aus
• die Wirkung ist sehr lokal
• die „Breite“ wird über den zweiten Parameter si (die
Standardabweichung) eingestellt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
Inhalt
7
End
Gaußsche Funktion als Aktivierung
bei mehreren Eingangsgrößen
CIC Lab
Computational Intelligence
and Control Laboratory
fact
x1i
x2i
• hat das RBF-Neuron zwei Eingänge, sieht die Aktivierung um
die Zentren xni (Stützstellen) wie in der obigen Abb. aus
• die Wirkung ist noch lokaler, da beide x-Werte sich in der Nähe
der Zentren befinden müssen, um eine fact > 0 zu erhalten
• die Breite si (die Standardabweichung) kann für beide x-Werte
unterschiedlich sein
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
8
End
Gaußsche Funktion als Aktivierung
bei mehreren Eingangsgrößen
CIC Lab
Computational Intelligence
and Control Laboratory
(xj –xji )
facti = hi (||X-Xi||) =
mit n: Anzahl der Eingänge
für ein RBF-Neuron und
j: laufende Nr. des Eingangs
i: Nummer des betrachteten
RBF-Neurons
• diese Beziehung beschreibt mehrdimensionale Gaußkurven,
wie sie etwa aus der Wahrscheinlichkeitsrechnung bekannt
sind
• der Ort des Maximums der Funktion in bezug auf die j-te
Eingangsgröße ist gegen durch xji
• die Standardabweichung sji ist ein Maß für die „Breite“ der
Gaußkurve
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
9
End
Beispiel einer
Kennlinienapproximation
CIC Lab
Computational Intelligence
and Control Laboratory
0,3
s= 0,75
5
0,5
- 0,3
Überlagerung von vier Zentrumsfunktionen (- - -) zu einer
Summenfunktion (——)
f(x) = 0,3 h (||x-0,5||) + 0,5 h (||x-2||) + 0,4 h (||x-4||) - 0,3 h (||x-5||)
mit der Aktivierung Gaußfunktionen h.
Mit den vier Zentren x1 = 0,5; ...; x4 = 5 und den Gewichtsfaktoren c1 =
0,3; ...; c4 = - 0,3
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
Inhalt
10
End
RBF-Netz für
Kennlinienapproximation
CIC Lab
Computational Intelligence
and Control Laboratory
0,3
0,5
x11,
0,5
x12,
5
- 0,3
= 0,75
=1
0,3
x13,
x
= 0,75
- 0,3
x14,
= 0,5
5
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
11
End
CIC Lab
Computational Intelligence
and Control Laboratory
Initialisierung der
Stützstellen und Breite für RBF
und Gewichte für Ausgangsneuron
•
Stützstellen xi können direkt aus den Trainingsdaten der zu
approximierenden Funktion angeben werden (vorzugsweise Plateaus,
relative und absolute Minima und Maxima)
•
es sind so viele RBF-Neuronen N wie Stützstellen N möglich (das
Auswendiglernen ist erwünscht), allerdings kann die Zahl auch kleiner
sein
•
Breite (Standardabweichung si = 0,5 Dxi) kann aus dem halben
Abstand zwischen zwei Stützpunkten und dem linken und rechten
Randbereich (ablesen bei e-1/2 = 0,6 ci) vorgegeben werden
•
wenn die Anzahl der Stützstellen groß ist, kann auch gut eine mittlere
Breite für alle si = |ximax - ximin| / sqrt 2N
•
als Gewichte werden die Ausgangswerte yi der Stützstellen (Targets
für das Training) vorgebeben, da die RBF-Funktion ja den max. Wert
1 weitergibt
•
so ist das RBF-Netz schon ohne Training gut an die Aufgabe
angepasst
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
12
End
Nachtraining des RBF-Netzes
CIC Lab
Computational Intelligence
and Control Laboratory
• insbesondere dann erforderlich, wenn weniger RBFNeuronen im Hidden Layer als Trainingsmuster
vorhanden sind
• es ist ein Offline-Training sinnvoll
• mit drei separaten kleinen Lernraten:
 1 = 0,1 Lernrate für die Verbindungen (Stützstellen)
zwischen Input Layer und RBF-Neuronen
 2 = 0,03 Lernrate (noch kleiner als 1) für die Radien
(Breite bzw. Standardabweichung si ) der RBFAktivierungsfunktion
 3 = 0,01 Lernrate (noch kleiner als 2) für die
Verbindungen zwischen den RBF-Neuronen und dem
Ausgangsneuron
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
13
End
Bewertung RBF-Netze
CIC Lab
Computational Intelligence
and Control Laboratory
 RBF-Neuronen sind sehr selektiv – haben nur einen kleinen
Wirkungsbereich bezogen auf die Eingangsgröße x
 daher lassen sich sehr komplexe und oszillierende Funktionen
mit RBF-Netzen gut approximieren. Grob kann für jedes lokale
und absolute Minima oder Maxima ein RBF-Neuron
veranschlagt werden
 die Optimierung ist unproblematisch
 eine Ähnlichkeit zur Membership-Funktion von FuzzySystemen ist erkennbar (Breite, Abstand, Höhe = 1), daher
werden RBF-Netze auch oft für Neuro-Fuzzy-Systeme
eingesetzt.
SS 2009
-
Die Wechselwirkung der RBF-Neuronen untereinander ist sehr
gering
-
daher ist die Modellierung von hochdimensionalen
Abbildungen mit schwach ausgeprägten Strukturen schlechter
Inhalt
als bei MLP-Netzen!
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
14
End
Fragen
CIC Lab
Computational Intelligence
and Control Laboratory
Fragen Sie bitte!
Inhalt
SS 2009
9. RBF-Netze (Radiale-Basisfunktionen-Netze)
15
End