KNN anwenden
Wir fokussieren uns in der Anwendung auf das sogenannte überwachte Lernen (supervised learning), welches auch in diesem Lernangebot vorgestellt wurde. Überwacht, weil wir beim Trainingsprozess ja bereits die wahren Ausgabewerte kennen und das Training dementsprechend steuern können. Überwachtes Lernen eignet sich hervorragend für die Durchführung von Prognosen. Wenn Zusammenhänge zwischen Eingabe- und Ausgabegrößen trainiert werden können, und diese Zusammenhänge sich nicht über die Zeit verändert haben, so können durch die Anwendung eines KNN für zukünftige Zeitschritte die entsprechenden zu erwartenden Ausgabegrößen prognostiziert werden. Dies wird beispielsweise bei der Prognose zukünftiger Strompreise durchgeführt, wie es auch im Hackathon zu diesem Lernangebot unter geplant ist.
Für eine Strompreisprognose benötigen wir vor allem die Werte vergangener Strompreise als historische Daten. Dann müssen wir festlegen, wie weit in die Zukunft, also für wie viele Zeitschritte in die Zukunft, wir die Prognose entwickeln und in der Anwendung nutzen wollen. Bei einer Prognose für Strompreise mit beispielsweise 6 Stunden in der Zukunft dürfen alle Werte vergangener Strompreise bis zu 6 Stunden vor dem gewünschten Ausgabewert der Prognose (des KNN) verwendet werden. Genau wie im zuvor beschriebenen Trainingsprozess wird durch ein KNN ein Ausgabewert berechnet, und die Gewichtungsfaktoren der Neuronen entsprechend der Differenz (des Fehlers) zwischen Ausgabewert des KNN und dem bekannten wahren Wert des Strompreises genutzt, um die Prognose zu trainieren. Sobald das Training auf diese Art und Weise abgeschlossen wurde, kann das KNN eingesetzt werden. Dafür werden dem KNN als Eingabewerte die aktuellen Strompreise (und eventuell noch weitere Eingabegrößen) zur Verfügung gestellt und es wird vom KNN ein Ausgabewert für den Strompreis in 6 Stunden ausgegeben. Nach 6 Stunden können wir dann unsere Prognose mit dem wahren Strompreis vergleichen. Auf diese Art und Weise können auch noch neue Daten gesammelt werden und das KNN eventuell nach festen Zeiträumen nachtrainiert werden, da neue Datenpunkte verfügbar sind.
Andere bereits schon verwendete Aufgaben, die von trainierten KNN ausgeführt werden, sind beispielsweise die Erkennung, ob eine Mail als Spam zu deklarieren ist oder nicht. Hierfür werden als Trainingsdaten bereits existierende Mails verwendet, welche entweder als Spam oder kein Spam deklariert sind. Gemeinsamkeiten zwischen den Spam-Mails können so erlernt werden, und das KNN dann als Spam-Filter verwendet werden.
Eine ähnliche Anwendung beinhaltet das assistierte Fahren. Einige Fahrzeuge können bereits Verkehrsschilder erkennen und beispielsweise die erlaubte Geschwindigkeit im Fahrzeug anzeigen. Auch hier wird anhand von Testbildern trainiert, bis die Straßenschilder in Kategorien unter- und eingeteilt werden können.
Weiterhin bekannt sind Film- und Musikempfehlungen von Streaming-Diensten. Es wird ausgehend von bekannten Daten (welche Filme/Musik genutzt wird) ein KNN trainiert, welches ähnliche Inhalte für die spezifischen Nutzer:innen vorschlägt. Dabei fungieren wir als Nutzer:innen quasi als Teil des Trainingsprozesses. Bei Verwendung der vorgeschlagenen Filme/Musik geben wir keinen Fehler aus dem Ausgabewert des KNN (Vorschlag) und unserer Reaktion (Nutzung) zurück. Wenn wir einen Film oder Musik allerdings ablehnen/abbrechen, so senden wir einen Fehler zurück, aus welchem das spezifische, für unsere Interessen trainierte KNN lernen kann.
Besonders in der Medizin sind hilfreiche Anwendungen von KNN zu erwarten. Bereits heutzutage können KNN in der Krebsdiagnostik eine genauere Beurteilung erreichen, als menschliche Expert:innen. Hier kommt die Bildbeurteilung zu tragen, in der zwischen den Eingabegrößen (den Pixeln eines Bildes) und der Ausgabegröße (Krebs oder kein Krebs) ein Zusammenhang erlernt werden kann, was der menschlichen Wahrnehmung nicht möglich ist.