Prohabilsitische neuronale Netze (PNN)

Prohabilistische neuronale Netze stellen eine Erweiterung der Bayes'schen Klassifikatoren dar. Sie besitzen folgende wünschenswerte Eigenschaften :

Bayes'sche Klassifikatoren
Bayes'sche Klassifikatoren berechnen die Wahrscheinlichkeit, mit der ein Element zu einer Klasse gehört. Die Klasse, zu der es mit der höchsten Wahrscheinlichkeit gehört, wird dem Element zugeordnet. Da sich jedoch diese Wahrscheinlichkeit oft nicht direkt bestimmen kann, wird mit der Bayes'schen Formel gearbeitet. Dazu muß man zwei andere Wahrscheinlichkeiten kennen, die jedoch häufig leichter ermittelt werden können. Da ist zu einen die Wahrscheinlichkeit P(X). Diese gibt den Anteil ein, mit der eine Gruppe (Klasse) an der Gesamtanzahl der Objekte beteiligt ist. Das folgende Bild veranschaulicht das :
Abb :  P(X)
Bei angenommener Gleichverteilung der Punkte entspricht die Wahrscheinlichkeit P(x) dem Verhältnis der Anzahl der Punkte im roten Feld zur Gesamtanzahl der Punkte bzw. dem Verhältnis der roten Fläche zur Gesamtfläche.
Dann muß man noch P(x|Xi) {lies : P von x unter Xi) kennen. Dies gibt die Wahrscheinlichkeit an, mit der ein Objekt x aus Klasse Xi stammt. Dies ist meist eine Funktion über meßbare Eigenschaften des Objekts. Mit anderen Worten : Wenn eine bestimmte Klasse gegeben ist, gibt dieser Wert an, mit welcher Wahrscheinlichkeit das Objekt x aus dieser Klasse stammt.
Aus diesen beiden Wahrscheinlichkeiten kann die Wahrscheinlichkeit abgeleitet werden, mit der ein gegebenes Objekt x einer Klasse Xi zugeordnet werden kann :
Formel : Bayes

Bewertungen von Fehlklassifikationen
Auch hier können Fehlklassifikationen bewertet werden. Dafür führt man Kosten für jede einzelne Klasse ein.
Formel : Kosten
Hieraus lassen sich die bedingten Kosten ableiten :
Formel : Kosten
x wird nun nicht mehr der Klasse zugeordnet, für die die Wahrscheinlichkeit am größten ist, sondern der, wo die Kosten am niedrigsten.

Parzen-Fenster
Da die Dichtefunktion, die zur Bestimmung von P(x|Xi) notwendig ist, meist nicht genau bekannt ist, müssen Verfahren angewendet werden, mittels derer man aus endlich vielen Daten eine Approximation dieser Dichtefunktion erreicht werden kann. Eine solche Möglichkeit sind die Parzen-Fenster (benannt nach dem Entwickler). Hierzu wird über jedem Datenpunkt eine Dichtefunktion aufgetragen. Die eigentliche Dichtefunktion wird dann durch Mittelung dieser Dichtefunktionen bestimmt. Durch Hinzunehmenm weiterer Datenpunkte kann die tatsächliche Dichtefunktion weiter angenähert werden. Ende Parzen - fenster

Aufbau von PNN
Abb: Aufbau von PNN
In der Eingabeschicht werden die Eingabevektoren entgegengenommen und unverändert an die Musterschicht weitergereicht. In der Musterschicht gibt es für jedes Element der Trainingsmenge genau ein Neuron. Die Summationsschicht enthält genau so viele Neurone, wie Ausgabeklassen vorhanden sind. Diese sind mit den Neuronen verbunden, die Elemente aus dieser Ausgabeklasse darstellen. Die Ausgabeschicht enthält einen Maximumsselektor, der das Neuron mit der höchsten Ausgabe ausgibt.
Das Training
In der Trainingsphase werden die Trainingseingaben in der Gewichtsmatrix W abgespeichert. Gleichzeitig werden die Verbindungen zu der gewünschten Ausgabeklasse aufgebaut. Diese erhalten alle das Gewicht 1. Es werden normierte Trainingseingaben verwendet.
Die Ausführung
Zunächst wir der zu klassifizierende Vektor an die Eingabeschicht angelegt. Dann werden die Aktivierungen der Neurone in der Musterschicht berechnet. Dazu wird als Propagierungsfunktion netj die berühmte gewichtete Summe der Eingabe verwendet. Die Aktivierung wird dann wie folgt berechnet :
Formel : Aktivierungsfunktion
Insgesamt ist die Ausgabe eines Neurons um so höher, je näher die Eingabe zum abgespeicherten Muster ist. In der Summationsschicht wird für jedes Neuron einer Ausgabeklasse die Aktivierungen der Musterschichtneurone aufsummiert. Das Selektorneuron wählt nun das Neuron mit der größten Aktivierung aus.
Bezug zum Bayes'schen Klassifikator
Nochmal die Bayes'sche Formel :
Formel : Bayes
Um die maximale Wahrscheinlichkeit zu ermitteln, ist der Nenner dieses Bruchs nicht notwendig, da er stets den gleichen Wert darstellt. Der Zaehler dieses Bruchs wird nun wie folgt durch das Netz berechnet. P(x|Xi) wird durch jedes einzelne Neuron in der Musterschicht derart berechnet, daß diese Wahrscheinlichkeit um so höher ist, je näher die Eingabe am Muster ist. Die Aktivierungsfunktion ist eine normalverteilte Funktion, die um das Muster gelegt wurde. P(X) wird durch die Trainingsvektoren derart gegeben, daß sie der Verteilung der Anzahl der Neurone in der jeweiligen Klasse entspricht. In der Summationschicht wird dann die Dichtefunktion wie bei den Parzen-Fenstern ermittelt und der Selektor wählt das Neuron mit der maximalen Wahrscheinlichkeit aus.