Künstliche Intelligenz mit Java
Maschinelles Lernen mit Neuronalen Netzwerken

Jetzt könnte bei 100 Personen das Neuronale Netzwerk die folgenden Ergebnisse liefern (s. Abbildung 42).

Abbildung 42 (*Q33): Beispiel für reale Daten bei der Schwangerschafts-Klassifikation

Auf einer normalen Konsole könnte das Ergebnis der Klassifikation über eine Confusion-Matrix wie folgt aussehen:

[[55  5]

 [10 30]]

In diesem ersten Fall ist TN = 55, FP = 5, FN = 10 und TP = 30. Die Richtigkeit (Accuracy) errechnet sich wie folgt:

Accuracy = richtig erzeugter Output / Anzahl der Datensätze = (TN + TP) / (TN + FP + TP + FN)

Accuracy = (55 + 30) / (55 + 5 + 30 + 10) = 0,85 = 85%

Die Richtigkeit ist ein guter Indikator für die Qualität des Maschinellen Lernens, wenn die Daten gut “balanciert” sind. Es soll aber bei einem zweiten Fall angenommen werden, dass es 85 schwangere Frauen und 15 dicke Männer als Datensatz gibt. Und dass das Netzwerk absolut nichts gelernt hat und als Ergebnis immer „Person ist schwanger“ liefert. Dann wäre die Richtigkeit auch 85%, obwohl das Maschinelle Lernen eine Katastrophe war. Der relativ hohe Wert kommt hier durch die Art der (nicht balancierten) Daten zustande, nicht durch die Qualität des Netzwerkes.

Es gibt weitere Metriken außer der Accuracy.


Precision
(positive predictive value, Präzision bzw. Genauigkeit) ist definiert als:

Precision = TP / (TP + FP)

Precision = 30 / (30 + 5) = 0.857

Dieser Wert sollte nahe an 1 sein.


- 58 -