Wissen was Sie nicht wissen – Klassifikatoren erlauben Eingabeproben abzulehnen

Daniel Gerstgrasser, Signal Processing Engineer
Lesedauer: 4 min.

Insight in Brief

Typische Klassifikationsalgorithmen weisen jeder Stichprobe eine Klasse zu, auch wenn diese Stichprobe möglicherweise weit entfernt / unähnlich zu den Trainingsdaten oder der Art der zu klassifizierenden Sache ist. Dies ist insbesondere bei sicherheitskritischen Systemen problematisch. Daher werden in diesem Artikel die vier Methoden

  • Rückweisungsklasse für neuronale Netze
  • Sigma-Ellipsen für Bayes’sche Klassifikatoren mit Gaussschen Klassendichten
  • One-Class SVMs mit radialen Basisfunktionen
  • Isolation-Forests

 

zur Integration der Neuheitserkennung in Klassifikationsalgorithmen werden vorgestellt und anhand eines Spielzeugbeispiels verglichen. Welche Methode am besten geeignet ist, hängt – wie immer – von der Anwendung ab.

Einleitung

Viele Klassifikationsalgorithmen weisen jedem Sample (Merkmalsvektor) eine Klasse zu, selbst wenn dieses Sample weit von den Trainingsdaten entfernt ist. Diese Eigenschaft ist für praktische Anwendungen problematisch, insbesondere wenn sie sicherheitskritisch sind. Daher ist es wünschenswert, dass Klassifikationsalgorithmen mit «Ich weiss nicht» bzw. «Unbekannt» für Proben, die den Trainingsdaten nicht ähnlich sind, antworten können. In diesem Artikel werden Methoden zur Erreichung dieses Ziels vorgestellt und anhand eines Spielzeugbeispiels verglichen.

Beispiel

Angenommen, ein Obstunternehmen möchte eine Maschine bauen, die Äpfel und Birnen, die über ein Förderband kommen, für den Versand in Kartons verpackt. Die Maschine muss zwischen Äpfeln und Birnen unterscheiden, um sie in die richtige Kiste zu packen. Die für die Klassifizierung gemessenen Eigenschaften sind das Gewicht und die Farbe der Früchte. Das Unternehmen beschliesst, einen linearen Klassifikator mit Trainingsdaten zu trainieren, die aus der Messung einer grossen Stichprobe von Äpfeln und Birnen auf seinen Feldern gewonnen wurden (die Trainingsdaten werden in der Abbildung 1 (rechts) gezeigt) Das Unternehmen bringt den Klassifikator in Produktion und das System scheint gut zu funktionieren.

Know what you don't know - DE1

Abbildung 1: Klassifikator (links) und Merkmale von Trainingsbeispielen (rechts)

 

Nach einigen Wochen beschweren sich Kunden über Tennisbälle in ihren Apfelkisten. Das Unternehmen untersucht das Problem. Sie wissen, dass sich in der Nähe ihrer Felder ein Tennisplatz befindet, und sie stellen fest, dass der trainierte Klassifikator die eingehenden Tennisbälle als Äpfel einstuft – obwohl sie den Trainingsdaten unähnlich sind (siehe Abbildung 2 (rechts)). Wie kann das Unternehmen dieses Problem lösen?

Know what you don't know - DE2

Abbildung 2: Klassifikator mit Tennisball (links) und Lineare Klassifikatoren mit Entscheidungsbereichen (rechts)

 

 

Mögliche Lösungen

1. Neurale Netzwerke

„Klassische“ neuronale Netze sind von Natur aus nicht in der Lage, einem Sample keine Klasse zuzuordnen. Eine Möglichkeit, dieses Problem zu lösen, besteht darin, eine zusätzliche Ablehnungsklasse einzuführen. Um Trainingsmuster für diese Ablehnungsklasse zu erzeugen, wird ein kleinster umgebender Hyperwürfel für die Daten jeder Klasse konstruiert. In den nicht überlappenden Regionen der Hyperwürfel aller Klassen werden Trainingsmuster erzeugt und als Klasse «Unbekannt» gekennzeichnet. Es muss darauf geachtet werden, dass die Anzahl oder Ablehnungsproben in einem guten Verhältnis zu den anderen Trainingsproben stehen, um eine schiefe Verteilung zu vermeiden. Mit den erzeugten Zurückweisungsproben kann das neuronale Netz normal trainiert werden (möglicherweise muss die Netzkapazität erhöht werden). Sie können in Abbildung 3 sehen, dass bei Anwendung dieser Methode der Tennisball NICHT als Apfel oder Birne klassifiziert wird.

Know what you don't know - DE3

Abbildung 3: Klassifikator für neuronale Netzwerke mit Entscheidungsbereichen und Ablehnungen. Schwarze Punk-te sind erzeugte Ablehnungsmuster.

 

2. Bayessche Klassifikatoren mit Gausschen Klassendichten

Angenommen, der Klassifikator verwendet ein generatives Modell mit normalverteilten Klassendichten p\left(\mathbf{x}\middle| C_i\right)~N\left(\mathbf{\mu}_\mathbf{i},\mathbf{\Sigma}_\mathbf{i}\right). Dann könnte man annehmen, dass der Evidenzterm (berechnet nach dem Gesetz der totalen Wahrscheinlichkeit),

    \[ p\left(\mathbit{x}\right)=\ \sum{p\left(\mathbit{x}\middle| C_i\right)p\left(C_i\right),} \]

verwendet werden kann, um „unwahrscheinliche“ Proben im Hinblick auf das Modell zurückzuweisen. Allerdings, p\left(\mathbit{x}\right) ist eine Wahrscheinlichkeitsdichte und hat keine absolute Bedeutung. Ihre Werte hängen von der Skalierung der Merkmale ab. Daher wird ein zuverlässigeres Mass benötigt. Eine Idee ist, den Mahalanobis-Abstand des Merkmalsvektors zum Mittelwert einer bestimmten Klasse zu verwenden

    \[ {d_i(\mathbit{x})}^2=\left(\mathbf{x}-\mathbf{\mu}_\mathbf{i}\right)^\mathbf{T}{\mathbf{\Sigma}_\mathbf{i}}^{-\mathbf{1}}\left(\mathbf{x}-\mathbf{\mu}_\mathbf{i}\right). \]

 

Dieser Abstand bildet (zumindest in 2d) Ellipsen um den Mittelwert der Verteilung, deren Achsen durch die Verteilungsvarianz skaliert sind. Man kann dann die Wahrscheinlichkeit berechnen, einen Abstand zu beobachten, der grösser als ein bestimmter Wert ist, indem man

    \[ p\left(D_i>d\right)=\frac{1}{2}\left(1-erf\left(\frac{1}{\sqrt2}d\right)\right). \]

So können Stichproben zurückgewiesen werden, wenn die Wahrscheinlichkeit, dass ein bestimmter Abstand für diese Stichprobe beobachtet wird, unter einem Schwellenwert liegt

    \[ p\left(D_i>d_i\left(x\right)\right)<\delta$ \]

Diese Schwellenwerte können der bekannten Drei-Sigma-Regel entsprechen – die Wahl eines Schwellenwerts von \delta= 0.27 bedeutet beispielsweise, dass 99,73 (3 Sigma) der vom Modell erzeugten Daten innerhalb dieses Bereichs liegen würden. Um das Kriterium auf mehrere Klassen auszuweiten, kann die folgende Beziehung verwendet werden

    \[ p_{\sigma\left(x\right)}=\frac{\underset i \max \left{p\left(D_i>d_i\left(x\right)\right)p\left(C_i\right)}}{\underset i \max \left{p\left(C_i\right)}} \]

 

In Abbildung 4 ist zu sehen, dass dieser Tennisball NICHT als Apfel oder Birne klassifiziert werden würde und dass die Entscheidungsbereiche eine elliptische Form haben.

Know what you don't know - DE4

Abbildung 4: Bayes-Klassifikator mit Entscheidungsbereichen und Ablehnung.

 

3. Zweistufiger Ansatz (zwei Modelle)

Grundsätzlich ist es auch möglich, Proben zweistufig auszusortieren. In diesem Fall werden zwei Modelle trainiert. Das erste Modell erkennt Samples, die nicht Teil der Trainingsdaten sind, und führt die Zurückweisung durch. Das zweite Modell ist dann ein beliebiger anderer Klassifikator (wie der lineare Klassifikator im anfänglichen Spielzeugbeispiel). Im Folgenden werden die beiden möglichen Ablehnungsmodelle One-Class SVM und Isolation Forests gezeigt. Dennoch kann in dieser Richtung fast jedes Modell verwendet werden, das eine Ausreissererkennung durchführen kann.

 

3.1. One-class-SVM mit radialem Basisfunktionskern

Eine Möglichkeit, ein Ablehnungsmodell zu trainieren, besteht darin, eine One-Class Support-Vektor-Maschine zu verwenden. Um beliebige Datenverteilungen zu erfassen, kann ein radialer Basisfunktionskern verwendet werden. Abbildung 5 zeigt das Ergebnis der Anwendung der One-Class SVM auf das Spielzeugbeispiel. Auch hier würde der Tennisball abgelehnt.

Know what you don't know - DE5

Abbildung 5: Zurückweisung basierend auf einer One-Class SVM mit RBF-Kernel

 

3.2. Isolation-Forest

Als zweites Beispiel für ein Ablehnungsmodell Abbildung 6 zeigt das Ergebnis des Trainings eines Isolation-Forests für das Spielzeugbeispiel. Der Kerngedanke von Isolation-Forests oder -Trees ist, dass Anomalien mit wenigen Entscheidungen aus den Daten isoliert werden können und daher eine geringe Tiefe in den trainierten Isolations-Trees aufweisen.

Know what you don't know - DE6

Abbildung 6: Ablehnung basierend auf Isolation-Forest

Zusammenfassung

In diesem Artikel wurden drei verschiedene Ansätze aufgezeigt, um „Ich weiss nicht“ in Klassifikationsalgorithmen zu integrieren. Welche Methode am besten funktioniert (in Bezug auf Genauigkeit, Anzahl der Dimensionen, Rechenleistung oder Speicherbedarf, Gesamtsystemdesign usw.) hängt von der Anwendung ab. Im Allgemeinen ist es wünschenswert, nur ein Modell trainieren zu müssen, um den Overhead und die Rechenkomplexität gering zu halten. Wenn das Modell jedoch keine Stichproben verwerfen kann, kann ein zweistufiges Verfahren verwendet werden (zum Beispiel Klassendichten sind nicht normalverteilt). Generell sollte man sich immer der Konsequenzen einer Fehlklassifizierung für eine bestimmte Anwendung bewusst sein.

Sind Sie an weiteren Beiträgen interessiert?

Hinterlassen Sie hier Ihre E-Mail-Adresse und wir informieren Sie, sobald wir neue Beiträge veröffentlichen.

Das könnte Sie auch interessieren

Usability study for medical devices
Lesedauer: 3 Min

Usability-Study für medizinische Geräte

Sicherheitsrelevante Anwendungsfehler oder Schäden für den Benutzer vermeiden mit Usability-Studies
Event-based
Lesedauer: 4 Min

Warum Event-basierte Softwarearchitektur?

Dieser Artikel erläutert die Event-basierten Softwarearchitektur, ihre Vorteile und möglichen Nachteile für...
Expert Blog Architekturprozess
Lesedauer: 4 Min

Die systematische Erstellung einer System- und Softwarearchitektur

Dieser Artikel befasst sich mit der Erarbeitung einer guten Systemarchitektur...
IMT_AdditiveFertigung_Blog
Lesedauer: 5 Min

Additive Fertigung - zuverlässig genug für die Medizintechnik?

Für einen Kunden wurde innerhalb kürzester Zeit eine Komponente für ein medizinisches Messgerät entwickelt...
knowwhatyoudonwknow_cover
Lesedauer: 4 Min

Wissen, was Sie nicht wissen

Typische Klassifikationsalgorithmen weisen jeder Stichprobe eine Klasse zu, auch wenn diese Stichprobe möglicherweise weit entfernt...
Samping time
Lesedauer: 4 Min

Sampling: nicht schneller als nötig

Bei der Auslegung oder der Optimierung der benötigten Rechenleistung...