Wenn die Daten gesammelt und aggregiert sind, würde man meinen, dass es nun losgehen könnte mit dem fabelhaften neuen ML-Algorithmus. Doch noch sind weitere Schritte notwendig, denn es werden unweigerlich noch einige Herausforderungen zu bewältigen sein:
Fehlende Daten: Manchmal sind vielleicht nicht für alle Beobachtungen gültige Werte verfügbar. Daten könnten während der Sammlung, Speicherung oder Übertragung beschädigt worden sein, und es gilt, diese fehlenden Datenpunkte zu finden und sie gegebenenfalls aus dem Datensatz zu löschen.
Doppelte Daten: Auch wenn dies im Hinblick auf die Modell-Performance kein besonders alarmierendes Problem darstellt, sollten doppelte Daten aus dem Datenspeicher entfernt werden, um den Modelltrainingsprozess effizienter zu gestalten und möglicherweise eine Überanpassung zu vermeiden.
Verschiedene Normalisierungsschemata: Geringe Unterschiede in der Art und Weise, wie die Daten verarbeitet und gespeichert werden, können beim Training eines Modells große Kopfschmerzen verursachen. Beispielsweise können verschiedene Produkte dasselbe Freitextfeld auf unterschiedliche Längen beschneiden oder Daten unterschiedlich anonymisieren, was zu Inkonsistenzen in den Daten führt. Wenn eine dieser Quellen überwiegend Malware und eine andere Quelle gutartige Muster enthält, kann das ML-Modell lernen, sie zum Beispiel anhand der Beschnitt-Länge zu identifizieren.
Freitextfelddaten: Dies verdient eigentlich eine Kategorie für sich allein, weil es so schwierig sein kann, damit umzugehen. Freitextfelder sind der Fluch des Daten-Ingenieurs, da er sich mit Tippfehlern, Umgangssprache, Beinahe-Duplikaten, Variationen in der Groß- und Kleinschreibung, Leerzeichen, Interpunktion und einer ganzen Reihe anderer Inkonsistenzen auseinandersetzen muss.
Stetige Aktualisierung
Die Datendrift schließlich ist ein wichtiges Problem, das beim Entwurf eines ML-Systems angegangen werden muss. Sobald ein Modell trainiert ist, wird es im Laufe der Zeit immer ungenauer, da sich die Verteilung der neu eingehenden Daten ändert. Daher sollte eine regelmäßige Aktualisierung des Modells festgelegt werden, um sicherzustellen, dass die Leistung weiterhin innerhalb der erwarteten Grenzen liegt. Im Sicherheitsbereich sehen wir zum Beispiel eine große Volatilität, da Bedrohungsakteure ihre Exploits und ihr Verhalten im Laufe der Zeit ändern und Schwachstellen entdeckt und behoben werden.
Dies war eine kurze Zusammenfassung der typischen Schritte, die unternommen werden müssen, um Daten für eine ML-Lösung auszuwählen, zu sammeln und zu bereinigen. Sind diese alle erfolgt, steht vermutlich ein sauberer Datensatz zur Verfügung. Das Experiment kann beginnen.
Adarsh Kyadige, Senior Data Scientist im KI-Team von Sophos nennt erste Schritte und Unwägbarkeiten beim Erstellen von Machine-Learning-Modellen