Warum ist dieses Wissen wichtig? | Neuronale Netze werden in Algorithmen der
Bioinformatik eingesetzt, wenn ein Muster aus Trainingsdaten erlernt
werden soll. Neuere Ansätze, die auf tiefem Lernen beruhen, habe in
letzter Zeit enorme Bedeutung z. B. bei der Strukturvorhersage erlangt.
Für den Einstieg ist es zunächst wichtig, verstanden zu haben, wie
Neuronen das Ausgangssignal bilden und wie sie verschaltet werden. Ist
die Architektur festgelegt, müssen die Gewichte in der Trainingsphase "erlernt"
werden. Ein alternatives Konzept zum Entwickeln von Klassifikatoren sind Support-Vektor-Maschinen. Zentrales Element ist die Kernelfunktion, mit der Eingabedaten in einen meist hochdimensionalen Raum transformiert. Hierbei ist das Ziel, die lineare Separabilität der Eingabedaten zu erreichen. |
|||||||||||||||||||||
Bezug | Diese Übungen ergänzen das Kapitel 7 "Neuronale Netze" und 17 "Support-Vektor-Maschinen". | |||||||||||||||||||||
Lernziel |
|
|||||||||||||||||||||
Übung | NN_1, NOR-Funktion | |||||||||||||||||||||
Häufig wird vor dem Trainieren die Anzahl der Eingänge und die
Architektur der Schichten vorgegeben. Das Implementieren von Boolschen Funktionen ist aufgrund der Einfachheit der Problemstellung ein gut geeignetes Beispiel, um den Umgang mit neuronalen Netzen zu üben. Einfaches Nachdenken genügt, um zunächst die Architektur und dann die Gewichte festzulegen. Eine relativ einfache Boolsche Funktion ist die NOR-Funktion, deren Wahrheitstabelle hier folgt: |
||||||||||||||||||||||
|
||||||||||||||||||||||
Hinweise | Überlegen Sie sich zunächst, wie viele Eingänge
benötigt werden. Achten Sie insbesondere auf die "1", die ausgegeben werden muss,
wenn an beiden Eingängen eine "0" anliegt. Wenn Sie die Architektur festgelegt haben, sollte es relativ einfach sein, passende Gewichte festzulegen. |
|||||||||||||||||||||
Übung | NN_2, XOR-Funktion mithilfe eines NNs realisieren | |||||||||||||||||||||
Ein interessanter und sehr lehrreicher Fall ist die Implementierung der XOR-Funktion. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
Begründen Sie, warum die XOR-Funktion mit einem einzelnen Perzeptron nicht realisiert werden kann. | ||||||||||||||||||||||
Hinweis | Skizzieren
Sie die Lage der vier möglichen Ausgangszustände
im Lösungsraum und versuchen Sie eine lineare
Separation.
Mit welchem Lösungsansatz kann dennoch ein NN für das XOR-Problem geschaffen werden? |
|||||||||||||||||||||
Hier finden Sie Lösungen zu obigen Aufgaben. | ||||||||||||||||||||||
Anwendungen | Bei realen Anwendungen ist der Entwurf der Architektur der erste Schritt beim Erstellen eines NN. Anschließend werden die Gewichte bei fixierter Architektur z. B. mit Hilfe des Backpropagation-Verfahren eingestellt. Es ist leicht einzusehen, dass die Zusammenstellung der Trainingsdaten eine entscheidende Rolle für die spätere Klassifikationsleistung spielt. | |||||||||||||||||||||
Übung | SVM_1, Polynimialkernel | |||||||||||||||||||||
In den folgenden zwei "Trocken"-Übungen wollen wir uns mit dem zentralen Konzept
von Support-Vektor-Maschinen (SVMs) beschäftigen. Dies sieht vor, eine
Kernelfunktion zu benutzen, um Eingabedaten paarweise in einen (meist)
hochdimensionalen Raum zu transformieren. Die Kernelfunktion muss dafür
sorgen, dass die transformierten Eingabedaten linear separabel sind.
Der Polynomialkernel ist eine häufig verwendete Kernel-Funktion. Zeigen
Sie für und
zweidimensionale Vektoren, dass gilt:
|
||||||||||||||||||||||
Hier finden Sie eine Lösung zu diesem Problem. | ||||||||||||||||||||||
Übung | SVM_2, NOR mithilfe einer SVM realisieren | |||||||||||||||||||||
Zeigen Sie, dass mit dem Polynomialkernel
das XOR-Problem linear separierbar wird.
Benutzen Sie die folgende Zuordnung der Eingabe zu den Klassen +1 und -1. |
||||||||||||||||||||||
|
||||||||||||||||||||||
Berechnen Sie die Werte für alle sechs Dimensionen und überprüfen Sie die Wertepaare jeweils zweier Dimensionen im Hinblick auf Separierbarkeit. | ||||||||||||||||||||||
Hier finden Sie eine Lösung zu diesem Problem. | ||||||||||||||||||||||
Was Sie jetzt verstanden haben sollten |
Für einfache Boolsche Funktionen kann durch
Überlegen die Architektur und ein Satz von Gewichten für ein Perzeptron bestimmt werden. In realen
Anwendungen werden die Gewichte mithilfe eines Algorithmus und anhand von Trainingsdaten abgeleitet. Das zentrale Konzept von SVMs sind Kernelfunktionen, die anwendungsspezifisch gewählt werden. Sie dienen dazu, die Eingabedaten in einen hochdimensionalen Raum zu transformieren, in dem sie linear separabel sind. |
|||||||||||||||||||||