Logo der Universität Wien

Neuronale Netze

Einsatz eines Neuronalen Netzwerkes zur Peaktrennung von überlappten UV/VIS Spektren

 


Um sich mit der Theorie Neuronaler Netze vertraut zu machen finden Sie [hier] ein kurzes Skriptum (im pdf-Format), [hier] ist die druckbare Version der Arbeitsvorschrift (pdf).

Geräte:

Metrohm 713 pH Zweistrahlspektrophotometer.

Zeitplan:

maximal 1 Tag

Ziel des Beispiels

Computergestützte Auswertung von Spektrendaten mit Hilfe eines Neuronalen Netzwerkes anhand eines extremen Fallbeispiels - Mischung von Ponceau 4R und Amaranth.

 

A) Aufgabenstellung

  • Spektrenaufnahme der Einzelfarbstoffe (Ponceau 4R und Amaranth und einer Mischung .
  • Einzelwellenlängenaufnahme von Ponceau 4R und Amaranth Mischungen (Vorgabe des Betreuers) und der Probe.
  • Generierung von Kalibrierungs- und Validierungsdatensatz.
  • Trainieren des Neuronalen Netzwerks + Validierung des Neuronalen Netzwerks.
  • Probenbestimmung.
  • Optimierung und Kennenlernen der Netzwerkcharakteristika.

 

Spektrenaufnahme

Zur Charakterisierung von Ponceau 4R, Amaranth und einer Farbstoffmischung wird jeweils ein Spektrum im relevanten Absorptionsbereich um 500nm aufgenommen. Aus den Absorptionskurven soll eine Interpretation vorgenommen werden bei welchen Wellenlängen der Informationsgehalt für die Peaktrennung ausreichend sein kann. Die Einzel- und Mischspektren werden aus der Standardlösung von Ponceau 4R bzw Amaranth (jeweils 100mg/l) Mischungen durchgeführt. ACHTEN SIE AUF ABSORPTIONEN <1.5!

Zur automatischen Speicherung der Spektrendaten wird unter d:$omnipraktikum im Ordner des aktuellen Semesters eine Ordner mit Namen des Praktikanten (8 Zeichen max.) eingerichtet. Im Programmfenster von "UV WINLab" wird daraufhin im Menü "Utilities" und "Configuration" der eigene Ordner bei "DATA" als Zielordner für die automatische Speicherung eingetragen.

Als Hintergrund wird Phosphatpuffer (pH 7) verwendet (für die Herstellung des Puffers MERCK Tabelle verwenden). HINWEIS: Die gereinigten Küvetten jedesmal mit der zu messenden Verdünnung vor der Spektrenaufnahme auswaschen - verringert Konzentrationsfehler!

 

Bedienung des Spektrometers

Das Spektrometer ist ein ECHTES Zweistrahlphotometer. Dies bedeutet, daß - im Gegensatz zu gängigen Photometern - analog die Differenz zwischen Hintergrund (zB Puffer) und Probe gemessen wird. Bei Einstrahlphotometern wird hingegen der Hintergrund gespeichert und dieser bei der Probenmessung digital abgezogen. Der rückwärtige Strahlengang ist die Referenz und im vorderen werden die Proben eingesetzt. Die Software (Lambda 14) unterstützt nur Einstrahlphotometer. Daher ist zu Beginn einer Messreihe ein Hintergrund abzuspeichern (in beiden Strahlengängen Küvetten mit Puffer einsetzen). Für die folgenden Messungen verbleibt nur die rückwärtige Küvette mit Puffer im Strahlengang.

 

Für die Aufnahme der Einzelfarbstoffe:

  1. Start des "UV WinLab" Programmes
  2. Einschalten des Spektrometers (grüner Aus-/Einschalter am Gehäuseoberteil)
  3. Im Insert "Methods" und „Scan" die Methode "NEURO1.msc" laden. Die eingeladenen Daten sollten folgende Voreinstellungen beinhalten: <table border="1" align="center" width="100%"><tbody><tr valign="top"><td align="center">"Scan."</td><td align="center">Start and End wavelength</td></tr><tr valign="top"><td align="center">"Inst."</td><td align="center">Lamp UV off</td></tr><tr valign="top"><td align="center"> </td><td align="center">Lamp VIS on</td></tr><tr valign="top"><td align="center">"Sample"</td><td align="center">......</td></tr></tbody></table>

    Die Spektren werden automatisch im Ordner d:$omnipraktikum'Name des Praktikanten' in der vorgegebenen Bezeichnung gespeichert.

  4. Küvette mit H2Odest in den Strahlengang einsetzen und diesen Blank vermessen. "Start" Button drücken und die Programmfrage nach dem Blank bestätigen.
  5. Das Programm fragt nach jeder neuen Verdünnung nach; erst zu diesem Zeitpunkt Küvette aus dem Strahlengang herausnehmen, reinigen und mit der neuen Verdünnung/Mischung wieder einsetzen.

Nachdem die Spektren aufgenommen wurden, werden die Spektren in den "Graph Window" eingeladen. Im Menü "Data Handling" und "Peak" wird die "Treshhold" auf ein Minimum herabgesetzt und die Peakmaxima vermessen. Durch Vergleich der Spektren beider Farbstoffe/Probe werden charakteristische Wellenlängen für das Netzwerktraining gewählt und mit dem Betreuer durchgesprochen. "Ckarakteristisch" bedeutet, daß eine Konzentrationsänderung bei einer gewählten Wellenlänge auch anhand von "größeren" Absorptionsänderungen erkannt werden kann!

 

Einzelwellenlängenscans für Mischungen und Probe

10 Mischungen der Einzelfarbstoffe werden im Konzentrationsbereich von jeweils 2-20 µg/ml hergestellt (in Phosphatpuffer pH 7; Standards sind ebenfalls bei pH 7).

Alle weiteren Scans werden nun zur Zeitersparnis nur bei den gewählten Wellenlängen durchgeführt. Hierfür wird im Insert „Methods" und „WP" die Methode „Neuro2.mwp" geladen und die gewählten Wellenlängen werden eingegeben. Die Voreinstellungen sind analog zum Scan über einen Absorptionsbereich. Unter „Sample" werden alle Scans durchnumeriert und automatisch gespeichert. Die gemessenen Absorptionswerte während der Messungen auf etwaige Konzentrationsfehler überprüfen, da die Genauigkeit des Datensatzes für das Neuronale Netz entscheidend ist.

 

Kalibrierung und Validierung des Neuronalen Netzes

 

HINWEIS: Bevor das Neuronale Netz trainiert wird, lesen Sie die einführende Beilage über die verwendete Netzwerkarchitektur!

 

Als Vorlage befindet sich unter d:$omnipraktikum eine „Vorlage.txt" bzw eine Beschreibung „Neuronales_Netz.txt", um die Abläufe des Programmes nachzuvollziehen. Anschließend werden die Absorptionswerte und die Konzentrationen im Editor gespeichert. Das Programm „Matlab" wird gestartet - dies ist ein Mathematikprogramm mit einer Toolbox für Neuronale Netzwerke.

Die Spektrendaten für die Kalibrierung und Validierung des Neuronalen Netzes werden nun vorab mit dem Editor als Texfile im eigenen Ordner gespeichert. Die Absorption der einzelnen Spektren werden als Reihenvektoren in eine Inputmatrix P und die dazugehörigen Konzentrationen in gleicher Weise als Outputmatrix T eingegeben. Der Datensatz für die Validierung wird analog als P2 (Absorptionen) bzw als T2 (Konzentrationen) Matrix eingegeben (Eingabe als Reihenvektor ist übersichtlicher!). Als Vorlage liegt unter d:$omnipraktikum eine Vorlage mit der Bezeichung „Datensammlung.txt".

Das vorbereitete Matlab-Programm umfaßt 3 einfache Befehle:

" P=P' ": Matrizentransponierung.

" P=P/1.01 ": Matrizendivision für die Skalierung der Input- und Outputmatrizen.

„train": Eingabeaufforderung für die Zahl der Neuronen und den maximalen Fehler der beim Training unterschritten werden soll; anschließend wird das Backpropagation-Netzwerk trainiert. Nach jedem Training kann nun der „Trainingszustand" des Netzes mit „simulate" überprüft werden.

„simulate": Validierung erfolgt mit den Datensatz P2 und das Ergebnis E wird mit T2 verglichen. Probenbestimmung ist analog: Das validierte Netz wird mit einer P2 Matrix durchgeführt, die nun die Absorptionen der Probe beinhalten (Fehlermeldung über Matrizengröße kann vernachlässigt werden!). Bei der Validierung werden die weights und bias NICHT MEHR abgeändert.

Ziel ist es ein optimal trainiertes Neuronales Netzwerk zu erstellen, welches ein Höchstmaß an Zuverlässigkeit bietet und eine Peaktrennung erlaubt. Die Schritte „train" und „simulate" werden abwechselnd durchgeführt.

Das Netzwerk wird auf 4 Variablen hin optimiert:

  • Anzahl der Neuronen in der Hidden Layer (zB 2, 4 und 30)
  • Der maximale Fehler ("sum-squarred error of prediction") der das Trainingsziel beschreibt
  • Größe des Datensatzes (Anzahl der Wellenlängen: zB bei 4, 2 oder 1)
  • Anzahl der Lernzyklen („epochs") bis zum Erreichen des Lernziels (Fehlergröße) bzw. Abbruchkriterien (Maximale Anzahl der Lernzyklen erreicht oder Fehlergradient zu klein)
  • Vergleich der Ergebnisse mit und ohne Skalierung der Matrizen (jeweils die Absorbtions- bzw. die Konzentrationsmatrizen durch den höchsten Wert dividieren)

Da der Trainingserfolg von der Wahl der zufällig gewählten Anfangswerte für die Bias und die Weights abhängt ist es ratsam, bei gleichen Einstellungen das Netz 2/3x zu trainieren, um eine repräsentativen Eindruck zu gewinnen; diese Ergebnisse werden zusammengefaßt und im Protokoll interpretiert - TIP: diese Werte können für die spätere Auswertung per "copy/paste" im Editor zusammengefaßt und im eigenen Ordner abgespeichert werden).

 

Probenbestimmung

Das stabilste Netz mit den besten Validierungsergebnissen wird herangezogen um die Konzentration an Ponceau 4R und Amaranth in der Probe zu bestimmen. Hierfür werden anstelle der Validierungsabsorptionen in der Inputmatrix P2 die Werte der Probe eingegeben (eventuelle Fehlermeldung nicht beachten - es fehlt ja der Probenabsorbtionsmatrix die entsprechende Konzentrationsmatrix).

 

Fragenkatalog

  • Was ist Chemometrie, wo wird sie gebraucht?
  • Wie ist ein neuronales Netz aufgebaut?
  • Wie können nicht-lineare Zusammenhänge mit neuronalen Netzen simuliert werden?
  • Wie „lernt" ein Netz?
  • Was macht eine Transferfunktion?
  • Wie kommt ein UV/VIS Spektrum zustande?
  • Welchen Wellenlängenbereich überdecken UV/VIS Spektren?
  • Unteschied Ein- und Zweistrahlphotometer?
Chemosensorik und Optische Molekülspektroskopie
Institut für Analytische Chemie
Universität Wien

Währingerstraße 38
1090 Wien
T: +43-1-4277-523 17
F: +43-1-4277-9 523
E-Mail
Universität Wien | Universitätsring 1 | 1010 Wien | T +43-1-4277-0