Mit ChatGPT erstelltes Bild
Haben Sie Probleme, die Leistung Ihres Modells während der Testphasen zu verbessern? Selbst wenn Sie das Modell verbessern, schlägt es in der Produktion aus unbekannten Gründen kläglich fehl. Wenn Sie mit ähnlichen Problemen kämpfen, sind Sie hier richtig.
In diesem Weblog gebe ich Ihnen 7 Tipps, wie Sie Ihr Modell präzise und stabil machen. Wenn Sie diese Tipps befolgen, können Sie sicher sein, dass Ihr Modell auch bei unbekannten Daten eine bessere Leistung erbringt.
Warum sollten Sie auf meinen Rat hören? Ich bin seit quick vier Jahren in diesem Bereich tätig, habe an über 80 Maschinenlaufwettbewerben teilgenommen und an mehreren Finish-to-Finish-Maschinenlernprojekten gearbeitet. Außerdem habe ich jahrelang vielen Experten geholfen, bessere und zuverlässigere Modelle zu erstellen.
1. Bereinigen Sie die Daten
Das Bereinigen der Daten ist der wichtigste Teil. Sie müssen fehlende Werte ergänzen, Ausreißer behandeln, die Daten standardisieren und die Datengültigkeit sicherstellen. Manchmal funktioniert das Bereinigen mit einem Python-Skript nicht wirklich. Sie müssen sich jede einzelne Probe einzeln ansehen, um sicherzustellen, dass es keine Probleme gibt. Ich weiß, dass es viel Zeit in Anspruch nehmen wird, aber glauben Sie mir, das Bereinigen der Daten ist der wichtigste Teil des Ökosystems des maschinellen Lernens.
Als ich beispielsweise ein Modell zur automatischen Spracherkennung trainierte, stieß ich im Datensatz auf mehrere Probleme, die sich nicht durch einfaches Entfernen von Zeichen lösen ließen. Ich musste mir die Audiodatei anhören und die genaue Transkription neu schreiben. Einige Transkriptionen waren ziemlich vage und ergaben keinen Sinn.
2. Weitere Daten hinzufügen
Eine Erhöhung des Datenvolumens kann häufig zu einer verbesserten Modellleistung führen. Das Hinzufügen relevanterer und vielfältigerer Daten zum Trainingssatz kann dem Modell helfen, mehr Muster zu lernen und bessere Vorhersagen zu treffen. Wenn Ihrem Modell die Vielfalt fehlt, kann es bei der Mehrheitsklasse eine gute Leistung erbringen, bei der Minderheitsklasse jedoch eine schlechte.
Viele Datenwissenschaftler verwenden mittlerweile Generative Adversarial Networks (GAN), um vielfältigere Datensätze zu generieren. Dies erreichen sie, indem sie das GAN-Modell anhand vorhandener Daten trainieren und es dann zur Generierung eines synthetischen Datensatzes verwenden.
3. Funktionsentwicklung
Beim Characteristic Engineering werden neue Options aus vorhandenen Daten erstellt und auch unnötige Options entfernt, die weniger zur Entscheidungsfindung des Modells beitragen. Dadurch erhält das Modell relevantere Informationen, um Vorhersagen zu treffen.
Sie müssen eine SHAP-Analyse durchführen, die Wichtigkeit der Funktionen analysieren und bestimmen, welche Funktionen für den Entscheidungsprozess wichtig sind. Anschließend können diese verwendet werden, um neue Funktionen zu erstellen und irrelevante aus dem Datensatz zu entfernen. Dieser Prozess erfordert ein gründliches Verständnis des Geschäftsanwendungsfalls und jeder Funktion im Element. Wenn Sie die Funktionen und ihren Nutzen für das Geschäft nicht verstehen, gehen Sie den Weg blind.
4. Kreuzvalidierung
Kreuzvalidierung ist eine Technik, mit der die Leistung eines Modells anhand mehrerer Datenteilmengen bewertet wird. Dadurch wird das Risiko einer Überanpassung verringert und eine zuverlässigere Schätzung der Verallgemeinerungsfähigkeit des Modells ermöglicht. Dadurch erhalten Sie Informationen darüber, ob Ihr Modell stabil genug ist oder nicht.
Die Berechnung der Genauigkeit des gesamten Testsatzes liefert möglicherweise keine vollständigen Informationen zur Leistung Ihres Modells. Beispielsweise kann das erste Fünftel des Testsatzes eine Genauigkeit von 100 % aufweisen, während das zweite Fünftel mit nur 50 % Genauigkeit schlecht abschneidet. Trotzdem kann die Gesamtgenauigkeit immer noch bei etwa 85 % liegen. Diese Diskrepanz weist darauf hin, dass das Modell instabil ist und sauberere und vielfältigere Daten zum erneuten Trainieren benötigt.
Anstatt eine einfache Modellbewertung durchzuführen, empfehle ich, eine Kreuzvalidierung zu verwenden und diese mit verschiedenen Metriken zu versehen, anhand derer Sie das Modell testen möchten.
5. Hyperparameter-Optimierung
Das Trainieren des Modells mit Standardparametern magazine einfach und schnell erscheinen, aber Sie verpassen eine verbesserte Leistung, da Ihr Modell in den meisten Fällen nicht optimiert ist. Um die Leistung Ihres Modells während des Assessments zu steigern, wird dringend empfohlen, eine gründliche Hyperparameteroptimierung an maschinellen Lernalgorithmen durchzuführen und diese Parameter zu speichern, damit Sie sie beim nächsten Mal zum Trainieren oder Neutrainieren Ihrer Modelle verwenden können.
Bei der Hyperparameter-Optimierung werden externe Konfigurationen angepasst, um die Modellleistung zu optimieren. Das Finden des richtigen Gleichgewichts zwischen Überanpassung und Unteranpassung ist entscheidend für die Verbesserung der Genauigkeit und Zuverlässigkeit des Modells. Dadurch kann die Genauigkeit des Modells manchmal von 85 % auf 92 % verbessert werden, was im Bereich des maschinellen Lernens recht bedeutsam ist.
6. Experimentieren Sie mit verschiedenen Algorithmen
Die Modellauswahl und das Experimentieren mit verschiedenen Algorithmen ist entscheidend, um die beste Lösung für die gegebenen Daten zu finden. Beschränken Sie sich nicht nur auf einfache Algorithmen für tabellarische Daten. Wenn Ihre Daten mehrere Merkmale und 10.000 Beispiele aufweisen, sollten Sie neuronale Netzwerke in Betracht ziehen. Manchmal kann sogar die logistische Regression erstaunliche Ergebnisse für die Textklassifizierung liefern, die mit Deep-Studying-Modellen wie LSTM nicht erreicht werden können.
Beginnen Sie mit einfachen Algorithmen und experimentieren Sie dann langsam mit fortgeschrittenen Algorithmen, um eine noch bessere Leistung zu erzielen.
7. Ensemblebildung
Beim Ensemble-Lernen werden mehrere Modelle kombiniert, um die allgemeine Vorhersageleistung zu verbessern. Der Aufbau eines Ensembles von Modellen, jedes mit seinen eigenen Stärken, kann zu stabileren und genaueren Modellen führen.
Durch die Zusammenstellung der Modelle habe ich oft bessere Ergebnisse erzielt, manchmal sogar eine High-10-Platzierung bei Wettbewerben im Bereich maschinelles Lernen. Werfen Sie leistungsschwache Modelle nicht weg, sondern kombinieren Sie sie mit einer Gruppe leistungsstarker Modelle, und Ihre Gesamtgenauigkeit wird steigen.
Das Zusammenstellen, Bereinigen des Datensatzes und das Characteristic Engineering waren für mich die drei besten Strategien, um Wettbewerbe zu gewinnen und selbst bei unbekannten Datensätzen eine hohe Leistung zu erzielen.
Abschließende Gedanken
Es gibt noch weitere Tipps, die nur in bestimmten Bereichen des maschinellen Lernens funktionieren. In der Computervision müssen wir uns beispielsweise auf Bilderweiterung, Modellarchitektur, Vorverarbeitungstechniken und Transferlernen konzentrieren. Die oben besprochenen sieben Tipps – Bereinigen der Daten, Hinzufügen weiterer Daten, Characteristic Engineering, Kreuzvalidierung, Hyperparameteroptimierung, Experimentieren mit verschiedenen Algorithmen und Ensemblebildung – sind jedoch universell anwendbar und für alle Modelle des maschinellen Lernens von Vorteil. Durch die Implementierung dieser Strategien können Sie die Genauigkeit, Zuverlässigkeit und Robustheit Ihrer Vorhersagemodelle erheblich verbessern, was zu besseren Erkenntnissen und fundierteren Entscheidungen führt.
Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der gerne Modelle für maschinelles Lernen erstellt. Derzeit konzentriert er sich auf die Erstellung von Inhalten und das Schreiben technischer Blogs zu Technologien für maschinelles Lernen und Datenwissenschaft. Abid hat einen Grasp-Abschluss in Technologiemanagement und einen Bachelor-Abschluss in Telekommunikationstechnik. Seine Imaginative and prescient ist es, mithilfe eines Graph-Neural-Networks ein KI-Produkt für Studenten zu entwickeln, die mit psychischen Erkrankungen zu kämpfen haben.