Bernd Thomas
Beck et al.
Published in
3 min readJul 5, 2019

--

2 Gerade / Ungerade Klassifikation Lernen mit einem statistischen Verfahren

Sechs nicht so einfache Aufgaben für KI — Teil 2

stock.adobe.com

Kann man ein “KI-System” mit dem Instrumentarium des Machine Learning einfache mathematische Gegebenheiten oder Algorithmen lernen lassen? Wie zum Beispiel erkennen zu lernen, ob eine Zahl gerade oder ungerade ist.

In Teil 1 haben wir versucht, Lernverfahren auf Basis der numerischen Bedeutung von Zahlen (Arithmetik) zu trainieren. Die nahe liegenden Verfahren liefern nichts Brauchbares als Classifier. Der schöne Trick mit der nichtlinearen Projektion in einen höher-dimensionalen Raum erweist sich bei näherer Betrachtung als Fake, wenn man den Parameter pi/2 vorgibt - statt ihn zu trainieren, was nicht klappt.

In diesem und den folgenden Teilen werden wir Zahlen als Zeichenketten (Text) bestehend aus Dezimalziffern behandeln in der Hoffnung, dass die ausgewiesenen Fähigkeiten von ML Verfahren — inbesondere von Neuronalen Netzen — zum Erfolg führen.

2.0 “Starkes” Lernen

Nach der Erfahrung mit dem Kernel-Trick in Teil 1 stellen wir noch mal die Anforderungen an ein Lernverfahren explizit zusammen:

  • Das Verfahren hat das konkrete Lernziel nicht algorithmisch eingebaut
  • D.h. das System lernt allein aus vorgelegten Trainingsdaten. Eine hinreichende Bedingung ist, dass unterschiedliche Lernziele mit dem gleichen Algorithmus erreicht werden können allein durch geeignete Trainingsdaten
  • Datenaufbereitung (Trainingsdaten, Testdaten) ist weder Lernziel-spezifisch noch abhängig von den konkreten Daten im Trainingsset.
  • Das Lernziel ist mit 100% Accuracy erreichbar
  • Testdaten können außerhalb des Bereichs der Trainingsdaten liegen. D.h. bei kontinuierlichen Problemen wird nicht eine reine Interpolationslösung “erlernt”.

Lernen unter diesen Bedingungen nennen wir starkes Lernen. Es ist wichtig zu unterscheiden, ob ein Ergebnis immer richtig sein muss (Fakten-Lernen) oder nur mit einer (hohen) Wahrscheinlichkeit bzw. nur für einen (hohen) Prozentsatz eines Testsets korrekt sein muss. Beispiel: Von einem Gerade/Ungerade Lernzustand müssen wir fordern, dass eine gerade Zahl immer auch als gerade erkannt wird. Oder: das Produkt zweier Zahlen ist nicht “verhandelbar” (s. M. Tegmark: Leben 3.0).

Weiterhin kann gefordert werden, dass das Lernverfahren robust ist. D.h. 100% Genauigkeit wird erreicht, auch wenn in den Trainingsdaten Fehler in gewissen Umfang auftreten. (Ein Mensch lernt auch dann noch gerade/ungerade zu unterscheiden, wenn einige der vorgelegten Beispiele falsch sind.)

Wir werden versuchen, das Problem des Even/Odd Learning mit starken, robusten Verfahren zu lösen. In diesem Teil 2 entwickeln wir dazu ein “statistical Learning” Verfahren.

Anm.: Es ist nahe liegend, die Zahlen als Zeichenketten mit MLPs und Deep NNs anzugehen, da diese Verfahren ihre Stärke gerade in der Mustererkennung haben. Nachdem eine Reihe von Versuchen mit (naiv) aufgesetzten NN-Architekturen (mit keras) keinen Erfolg zeigten, entstand die Idee, es mit statistischen Data Analysis Verfahren zu versuchen. Die Idee dahinter war, dass “Auffälligkeiten” (Besonderheiten) in Verteilungen empirischer Daten oft durch statistische Verfahren wie Regression, Korrelation, Kovarianzen o.ä. zu “empirischen Gesetzmäßigkeiten” führen, deren Stringenz ebenfalls mit statistischen Methoden bewertet werden kann.

Anm.: Wieder sind zur Illustration iPython Notebook Code-Schnipsel in den Text eingefügt, meist nur Partien, die darstellen, was im Text gerade besprochen wird. Ausgabe-Routinen etc. werden der Lesbarkeit wegen weg gelassen. Die Code-Schnipsel können beim Lesen übersprungen werden; die Ergebnisse (Output) sind dagegen immer dargestellt.

Weiter lesen: 2.1 Data Analysis Methoden

Zurück auf Anfang

bernhard.thomas@becketal.com
www.becketal.com
www.im-pulse.info

--

--

Bernd Thomas
Beck et al.

Dr. Bernhard Thomas — Mathematics, Theor. Biology, Computational Sciences, AI and advanced Technologies for the Enterprise. Beck et al. Consultant