Prädiktion von Materialeigenschaften - Eine Einführung (Stefan Bosse) [2.2021]

Materialeigenschaften und Vorhersage

Materialeigenschaften und Vorhersage
Überblick und Publikation
Daten
Eingabe- und Zielvariable
Datenvorverarbeitung
Merkmalsselektion
Datenerweiterung
Datenpartitionierung
Modell
Modell A: Neuronales Modell
Modell B: SVM
Modell C: KNN
Training
Modell A
Test

Überblick und Publikation

[1] M. A. Devi, C. P. S. Prakash, R. P. Chinnannavar, V. P. Joshi, R. S. Palada, and R. Dixit, “An Informatic Approach to Predict the Mechanical Properties of Aluminum Alloys using Machine Learning Techniques,” in Proceedings of the International Conference on Smart Electronics and Communication (ICOSEC 2020) IEEE Xplore Part Number: CFP20V90-ART, 2020. PDF

[2] C. Karina, P.-jo Chun, and K. Okubo, “Tensile strength prediction of corroded steel plates by using machine learning approach,” Steel and Composite Structures, vol. 24, no. 5, 2017. PDF

[3] S. Bosse, E. Kalwait, Damage and Material-state Diagnostics with Predictor Functions using Data Series Prediction and Artificial Neural Networks, ECSA 2020 MDPI, 15.11 -30.11.2020, Basel, Switzerland PDF

  1. Welche Eigenschaften werden gemessen und als Eingabevariablen verwendet?
  2. Welche Zielvariablen können bestimmt werden?
  3. Welches ML Verfahren (Algorithmus) wird verwendet?
  4. Welche Rolle spielen Experimente, und welche Simulation (FEM)?

Daten

DATA: Variable State.dataSets Type: (number [2][874]|number [2][759]|number [2][872]|number [2][808]|number [2][710]|number [2][788]|number [2][731]|number [2][728]|number [2][725]|number [2][785]|number [2][713]|number [2][803]|number [2][575]|number [2][536]|number [2][585]|number [2][1110]|number [2][1185]|number [2][988]|number [2][1124]|number [2][1009]|number [2][1143]|number [2][1080]|number [2][1107]|number [2][761]|number [2][780]|number [2][779]|number [2][689]|number [2][836]|number [2][739]|number [2][789]|number [2][747]|number [2][592]|number [2][802]|number [2][729]|number [2][712]|number [2][660]|number [2][796])[42]

typeOf dataSets = number [strain,force] [rows] [42]

Plot eines Datensatzes

 ▸ 
 ✗ 
 ≡ 

Aufgabe.

Eingabe- und Zielvariable

\[ M(\{(x_1,f_1),(x_2,f_2),..,(x_{10},f_{10})\}): \{(x_1,f_1),(x_2,f_2),..,(x_{10},f_{10})\} \rightarrow x_b \]

Datenvorverarbeitung

Nullpunktverschiebung

 ▸ 
 ✗ 
 ≡ 

Merkmalsselektion

Da dann die lineariserten x Werte keine Information mehr tragen (außer einer inherenten Ordnungsrelation) können diese entfernt und nur noch die zugehörigen f Werte verwendet werden.

Berechnung der Labels

 ▸ 
 ✗ 
 ≡ 

Linearisierung der Eingabedaten

 ▸ 
 ✗ 
 ≡ 

Datenerweiterung

Erzeugung von Instanzvarianten durch MC/Rauschen

 ▸ 
 ✗ 
 ≡ 

Datenpartitionierung

Aufteilung in Training und Test

 ▸ 
 ✗ 
 ≡ 

Modell

Modell A: Neuronales Modell

ANN Modell

 ▸ 
 ✗ 
 ≡ 

Das Modell ist nicht direkt speicherbar!! Eine explizite Serialisierung und Deserialisierung wäre erforderlich. nache einem erneuten Laden der notebook JSON Datei ist das Modell in this.modelA ungültig!

Serialisierung des Modells (nur zum Speichern ausführen)

 ▸ 
 ✗ 
 ≡ 

Modell B: SVM

SVM Modell

 ▸ 
 ✗ 
 ≡ 

Modell C: KNN

Aufgabe.

KNN Modell

 ▸ 
 ✗ 
 ≡ 

Training

Modell A

Training Prädiktorfunktion ANN

 ▸ 
 ✗ 
 ≡ 

Test

Modell A Test

 ▸ 
 ✗ 
 ≡ 

Modell B Test

 ▸ 
 ✗ 
 ≡ 

Modell C Test

 ▸ 
 ✗ 
 ≡ 

Aufgabe.
  1. Zunächst Training mit allen Dateninstanzen durchführen (Modell A)

  2. Finde heraus ob das Problem mit einem ANN ohne innere Schichten mit einem maximalen Fehler von höchstens 30% lösbar ist

  3. Füge innere Schichten hinzu mit unterschiedlicher Anzahl von Neuronen. Gibt es eine Verbesserung? Achtung: Insgesamt können bis zu 100000 Iterationen erforderlich sein! (Z.B mit der Konfiguration [10,7,3,1])

  4. Was passiert wenn man randomisiert die Dateninstanzen 21721 aufteilt? Wiederhole die Versuche. Erweitere den Test auf Trainingsdaten, Testdaten, und alle Dateninstanzen.

  5. Welche Dateninstanzen (Experimente) fallen besonders auf (also bezüglich der Zielvariable)? Was macht die Lösung dieses Problems so schwierig?

  6. Verändere die Parameter der Merkmalsselektion ([x0,x1] und xdelta). Achtung: Xdelta muss bei Veränderung |a-b| angepasst werden so dass immer 10 Datenpunkte extrahiert werden (prüfe z.B. mittels des Shell this.dataXY[0])

  7. Jetzt das Modell B (SVM) erzeugen und trainieren. Gibt es mit einer SVM brauchbare Ergebnisse? Wenn nicht, woran könnte es liegen? Beachte die Problemklassen für die SVM geeignet sind.

  8. Schließlich ModellC KNN: Verschiedene Datensätze verwenden (dataXY, dataXYR!!!, und Partitionen) und testen (s.u.)

    • Was passiert wenn man dataXY verwendet (Testergebnisse)? Warum solch ein Ergebnis?
    • Vergleiche Verwendung von dataXY mit dataXYR beim Test UND Abhängigkeit von ε!
    • bei verwndung von dataXYR: Welches maximale ε (Rauschen) ist noch möglich wenn der maximale fehler < 20% sein soll?
    • Was passiert wenn mit Trainings/Testpartitionen arbeitet (nicht verrauschte Daten)? Mehrfach testen.



Hilfe



Einreichung (Assignment #04-13285)



Prüfen



Bewerten (Lehrer)




Created by the NoteBook Compiler Ver. 1.8.13 (c) Dr. Stefan Bosse (Thu Feb 18 2021 19:09:51 GMT+0100 (CET))