Das Verständnis der Modellkomplexität

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie die Modellkomplexität sowohl die Vorhersagegenauigkeit als auch die Rechenleistung beeinflusst. Wir werden zwei Datensätze verwenden: den Diabetes-Datensatz für die Regression und den 20newsgroups-Datensatz für die Klassifikation. Wir werden die Komplexitätseffekte auf drei verschiedene Schätzer modellieren:

  • SGDClassifier (für Klassifikationsdaten), der das stochastische Gradientenabstieg-Lernen implementiert
  • NuSVR (für Regressionsdaten), der die Nu-Support-Vektor-Regression implementiert
  • GradientBoostingRegressor, der ein additives Modell in einer vorwärts-stufweisen Weise aufbaut

Wir werden die Modellkomplexität durch die Auswahl relevanter Modellparameter in jedem unserer ausgewählten Modelle variieren. Anschließend werden wir den Einfluss auf die Rechenleistung (Latenz) und die Vorhersagekraft (MSE oder Hamming-Verlust) messen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie sofort beheben.

Lade die Daten

Wir laden beide Datensätze: den Diabetes-Datensatz für die Regression und den 20newsgroups-Datensatz für die Klassifikation.

Wähle Parameter

Wir wählen die Parameter für jeden unserer Schätzer, indem wir ein Dictionary mit allen erforderlichen Werten erstellen. Wir definieren den variierenden Parameter, das Komplexitätslabel, den Komplexitätsrechner, die Daten und andere Konfigurationswerte für jeden Schätzer.

Benchmark-Einfluss

Wir berechnen den Einfluss der Parameter auf den angegebenen Schätzer. In jeder Runde setzen wir den Schätzer mit dem neuen Wert des variierenden Parameters und sammeln die Vorhersagezeiten, die Vorhersageleistung und die Komplexitäten, um zu sehen, wie diese Änderungen den Schätzer beeinflussen. Wir berechnen die Komplexität mithilfe des als Parameter übergebenen Komplexitätsrechners.

Zeichne die Ergebnisse

Wir zeichnen den Einfluss der Modellkomplexität auf Genauigkeit und Latenz. Wir verwenden die Vorhersagefehler auf der y-Achse und die Modellkomplexität auf der x-Achse. Wir zeichnen sowohl den Vorhersagefehler als auch die Vorhersagelatenz in derselben Grafik.

Zusammenfassung

In diesem Lab haben wir untersucht, wie die Modellkomplexität sowohl die Vorhersagegenauigkeit als auch die Rechenleistung beeinflusst. Wir haben die Modellkomplexität durch die Wahl relevanter Modellparameter in jedem unserer ausgewählten Modelle variiert. Anschließend haben wir den Einfluss auf die Rechenleistung (Latenz) und die Vorhersagekraft (MSE oder Hamming-Verlust) gemessen. Wir kamen zu dem Schluss, dass ein komplexeres Modell längere Trainingszeiten erfordert und nicht gewährleistet, dass der Vorhersagefehler verringert wird.