Übung 4.4 zu Einführung in Maschinelles Lernen (PD Stefan Bosse)

Prädiktorfunktionen mit Neuronalen Netzen

Prädiktorfunktionen mit Neuronalen Netzen
Allgemeine Hinweise
Daten
Numerische Daten
Energy efficiency Data Set
Ein einfaches Netzwerk
Vorbermerkung
Eine KNN-basierte Prädiktorfunktion
Daten und Datenteilung
Die MLP Prädiktorfunktion
Test
Datennormalisierung
Das EXOR Beispiel
Daten
Modell
Training
Test
Aufgaben

Allgemeine Hinweise

this.data=[];
var self=this;
function foo( )  {
  self.push([1,2,3,4])
}

Daten

Numerische Daten

Energy efficiency Data Set

DATA: Variable State.dataEE01 Type: {X1, X2, X3, X4, X5, X6, X7, X8, Y1, Y2} []

X1 Relative Compactness
X2 Surface Area
X3 Wall Area
X4 Roof Area
X5 Overall Height
X6 Orientation
X7 Glazing Area
X8 Glazing Area Distribution
y1 Heating Load
y2 Cooling Load
X,Y=Klasse={N,P}

 ▸ 
 ✗ 
 ≡ 

Ein einfaches Netzwerk

Vorbermerkung

Eine KNN-basierte Prädiktorfunktion

Nachfolgend wird gezeigt wie auf einfachen numerischen oder kategorischen Daten eine einfache Prädiktorfunktion algorithmisch durch Tarining erzeugt werden kann.

Daten und Datenteilung

Beispiel Datentabelle

 ▸ 
 ✗ 
 ≡ 

Die MLP Prädiktorfunktion

Beispiel Erzeugung Prädiktorfunktion MLP

 ▸ 
 ✗ 
 ≡ 

Anders als bei Entscheidungsbäumen können KNN mehrere Zielvariablen ausgeben!

Beispiel Training Prädiktorfunktion MLP

 ▸ 
 ✗ 
 ≡ 

Test

Test Prädiktorfunktion MLP

 ▸ 
 ✗ 
 ≡ 

Test Prädiktorfunktion MLP

 ▸ 
 ✗ 
 ≡ 

Datennormalisierung

Datennormalisierung

 ▸ 
 ✗ 
 ≡ 

Frage. Warum ist die automatische Skalierung der Trainings- und Testdaten evtl. problematisch?

Datenexpansion

 ▸ 
 ✗ 
 ≡ 

Das EXOR Beispiel

Daten

EXOR Daten

 ▸ 
 ✗ 
 ≡ 

Modell

EXOR KNN Modell

 ▸ 
 ✗ 
 ≡ 

Training

EXOR KNN Modell Training

 ▸ 
 ✗ 
 ≡ 

Test

EXOR KNN Modell Test

 ▸ 
 ✗ 
 ≡ 

Aufgaben

Punkte:1./22./23./24./2
Die Daten

 ▸ 
 ✗ 
 ≡ 

Aufgabe.

Benutze D=this.data und führe bei Datenteilung wieder die Transformation und Skalierung durch (siehe oben).

Versuche zunächst ein Modell mit den zwei Zielvariablen Y1 und Y2. Wenn es keine gute Konvergenz beim Training gibt können auch zwei getrennte Modelle für Y1 und Y2 erzeugt und trainiert werden.

  1. Teile den Datensatz in Trainings- und Testdaten. Wähle eine geeignete Verteilung. Wiedehole die Parititionierung ggfs. wenn 2./3./4. keine guten Ergebnisse liefern.
  2. Erstelle das MLP Modell (this.model). Wähle mindestens drei Konfigurationen (Variation der inneren Schichten des ANN, auch ohne innere Schicht)
  3. Mit dem MLP Algorithmus soll ein Modell trainiert werde. Bestimme die Trainingszeit (model.time gibt die Trainingszeit des letzten Durchlaufs and), in Abähngigkeit der Epochen (Trainingsdurchläufe).
  4. Teste Ergebnisse und bestimme die Fehlerrate für die Trainings- und Testdaten

Datenteilung

 ▸ 
 ✗ 
 ≡ 

Erstellung MLP Modell

 ▸ 
 ✗ 
 ≡ 

MLP Modell und Training

 ▸ 
 ✗ 
 ≡ 

MLP Test

 ▸ 
 ✗ 
 ≡ 




Hilfe



Einreichung (Assignment #04-37754 )



Prüfen



Bewerten (Lehrer)




Created by the NoteBook Compiler Ver. 1.8.11 (c) Dr. Stefan Bosse (Thu Jan 14 2021 16:15:41 GMT+0100 (CET))