Maschinelles Lernen und neuronale Netze - Seite 72

 

10.3 K-facher Lebenslauf für die Modellbewertung (L10: Modellbewertung 3)



10.3 K-facher Lebenslauf für die Modellbewertung (L10: Modellbewertung 3)

In diesem Video befassen wir uns intensiv mit dem Thema Kreuzvalidierung zur Modellbewertung. Kreuzvalidierung wird häufig in Verbindung mit der Optimierung von Hyperparametern und der Modellauswahl verwendet. Um jedoch ein besseres Verständnis zu ermöglichen, untersuchen wir zunächst, wie die k-fache Kreuzvalidierung allein im Kontext der Modellbewertung funktioniert, bevor wir ihre Anwendung bei der Modellauswahl diskutieren.

Zu Beginn umfasst die k-fache Kreuzvalidierung zur Modellbewertung die Aufteilung eines Datensatzes in eine Validierungsfalte und die verbleibenden Datensegmente für das Training. Betrachten wir in einem typischen Beispiel eine fünffache Kreuzvalidierung. Der Datensatz ist in eine Validierungsfalte (in Blau dargestellt) und vier Trainingsfalten (in verschiedenen Farben dargestellt) unterteilt. Das Modell wird auf den Trainingsfalten trainiert und auf der Validierungsfalte ausgewertet, was zu einer Leistungsmetrik führt. Im Gegensatz zur Holdout-Methode, bei der nur ein Validierungssatz verwendet wird, wird bei der k-fachen Kreuzvalidierung die Validierungsfalte durch verschiedene Segmente der Daten rotiert. Dadurch wird sichergestellt, dass alle Datenpunkte zur Auswertung herangezogen werden. Bei einer fünffachen Kreuzvalidierung gibt es fünf verschiedene Validierungsfalten und es werden fünf Iterationen durchgeführt. Jede Iteration erzeugt ein Leistungsmaß. Bei der Berichterstattung über die Gesamtleistung besteht der typische Ansatz darin, die Leistungswerte über alle Iterationen hinweg zu mitteln.

Es ist wichtig zu beachten, dass wir uns in dieser Diskussion auf die k-fache Kreuzvalidierung zur Modellbewertung konzentrieren, ohne die Optimierung von Hyperparametern zu berücksichtigen. In diesem Szenario kann die durch Kreuzvalidierung erhaltene Leistungsschätzung als Schätzung der Generalisierungsleistung des Modells betrachtet werden. Indem wir ein neues Modell für den gesamten Datensatz unter Verwendung fester Hyperparameter trainieren, können wir ein endgültiges Modell für die praktische Verwendung erhalten. Während ein unabhängiger Testsatz verwendet werden kann, um die Leistung des Modells weiter zu bewerten, ist dies oft unnötig, wenn keine Optimierung der Hyperparameter erforderlich ist, da die Leistung der Kreuzvalidierung bereits eine zuverlässige Schätzung der Generalisierungsleistung liefert.

Lassen Sie uns nun einige wichtige Eigenschaften der k-fachen Kreuzvalidierung untersuchen. Die Validierungsfalten sind nicht überlappend, d. h. es gibt keine Überlappung zwischen den Datenpunkten in der Validierungsfalte über verschiedene Iterationen hinweg. Alle Datenpunkte werden zum Testen genutzt und gewährleisten so eine umfassende Auswertung. Einige Forscher bezeichnen die Validierungsfalten möglicherweise als Testfalten, da die Begriffe austauschbar verwendet werden können.

Andererseits überlappen sich die Trainingsfalten, was bedeutet, dass sie nicht unabhängig voneinander sind. In einer bestimmten Iteration können die Trainingsdaten überlappende Stichproben mit den Trainingsdaten aus anderen Iterationen aufweisen. Diese Eigenschaft macht es schwierig, die Varianz auf der Grundlage verschiedener Trainingssätze abzuschätzen, was für das Verständnis der Leistungsvariabilität des Modells wichtig ist.

Ein weiterer bemerkenswerter Aspekt ist, dass die Reduzierung des Werts von k (der Anzahl der Faltungen) die Leistungsschätzung pessimistischer macht. Dies liegt daran, dass die Anpassungsfähigkeiten des Modells eingeschränkt sind, da in jeder Falte weniger Datenpunkte für das Training verfügbar sind. Die Leistungsschätzung wird aufgrund der zurückgehaltenen Daten pessimistischer, wie in unserer vorherigen Erläuterung zum Leistungspessimismus erläutert.

Lassen Sie uns zwei Sonderfälle der k-fachen Kreuzvalidierung untersuchen. Wenn k gleich 2 ist, liegt eine zweifache Kreuzvalidierung vor, die sich von der Holdout-Methode unterscheidet. Bei der zweifachen Kreuzvalidierung wird der Datensatz genau in zwei Hälften geteilt und jede Hälfte wird für das Training in verschiedenen Iterationen verwendet. Im Gegensatz dazu ermöglicht die Holdout-Methode beliebige Aufteilungsverhältnisse und erfordert keine Rotation zwischen den Iterationen. Allerdings kann jede Runde der k-fachen Kreuzvalidierung als Sonderfall der Holdout-Methode betrachtet werden, bei der der Datensatz genau in zwei Hälften geteilt wird.

Ein weiterer Sonderfall ist, wenn k gleich n ist, was zu einer einmaligen Kreuzvalidierung (LOOCV) führt. In LOOCV beinhaltet jede Iteration das Weglassen eines Datenpunkts als Validierungssatz, während die verbleibenden n-1 Datenpunkte für das Training verwendet werden. Dieser Ansatz wird auch als LOOCV bezeichnet, wobei der Validierungssatz nur aus einem Datenpunkt besteht.

Eine Studie von Hawkins et al. (2003) untersuchten die Leistung verschiedener Modellbewertungsmethoden, einschließlich der Leave-One-Out-Kreuzvalidierung (LOOCV), und stellten fest, dass LOOCV im Vergleich zu anderen Kreuzvalidierungsmethoden tendenziell eine hohe Varianz aufweist. Diese hohe Varianz lässt sich auf die Tatsache zurückführen, dass jede Validierungsfalte in LOOCV nur aus einem Datenpunkt besteht, was zu einer begrenzten Stichprobengröße für die Auswertung führt. Folglich können die von LOOCV erhaltenen Leistungsschätzungen sehr empfindlich auf die spezifischen Datenpunkte reagieren, die in jeder Iteration zur Validierung ausgewählt werden.

Trotz seiner hohen Varianz hat LOOCV einige Vorteile. Da jede Iteration das Training an n-1 Datenpunkten umfasst, wobei n die Gesamtzahl der Datenpunkte ist, liefert LOOCV tendenziell eine unvoreingenommene Schätzung der Modellleistung. Darüber hinaus nutzt LOOCV alle verfügbaren Daten für das Training, was von Vorteil sein kann, wenn der Datensatz klein ist oder eine genauere Leistungsschätzung gewünscht wird.

Aufgrund seiner Rechenkomplexität ist LOOCV jedoch möglicherweise nicht für große Datensätze geeignet. Der Trainingsprozess muss n-mal wiederholt werden, was zu einem erheblichen Rechenaufwand führt. In solchen Fällen wird häufig eine k-fache Kreuzvalidierung mit einem moderaten k-Wert bevorzugt.

Nachdem wir nun die k-fache Kreuzvalidierung für die Modellbewertung untersucht haben, wollen wir kurz ihre Anwendung bei der Modellauswahl diskutieren. Im Rahmen der Modellauswahl besteht das Ziel darin, aus einer Reihe von Kandidatenmodellen, typischerweise mit unterschiedlichen Hyperparametereinstellungen, das beste Modell zu identifizieren. Eine Kreuzvalidierung kann verwendet werden, um die Leistung jedes Modells abzuschätzen und den Auswahlprozess zu erleichtern.

Der typische Ansatz besteht darin, für jedes Modell eine k-fache Kreuzvalidierung durchzuführen, die durchschnittliche Leistung über alle Iterationen zu berechnen und die Ergebnisse zu vergleichen. Als beste Wahl gilt das Modell mit der höchsten Durchschnittsleistung. Dieser Ansatz trägt dazu bei, die Auswirkungen der Datenvariabilität zu mildern und sorgt für eine robustere Bewertung der Modelle.

Zusammenfassend lässt sich sagen, dass die Kreuzvalidierung eine wertvolle Technik zur Modellbewertung und -auswahl ist. Durch die systematische Rotation der Validierungsfalte durch verschiedene Datensegmente wird eine umfassende Auswertung ermöglicht und Schätzungen der Modellleistung bereitgestellt. Unabhängig davon, ob sie ausschließlich zur Modellbewertung oder in Kombination mit der Modellauswahl verwendet wird, hilft die Kreuzvalidierung Forschern und Praktikern, fundierte Entscheidungen über die Generalisierungsfähigkeiten ihrer Modelle zu treffen.

10.3 K-fold CV for Model Evaluation (L10: Model Evaluation 3)
10.3 K-fold CV for Model Evaluation (L10: Model Evaluation 3)
  • 2020.11.19
  • www.youtube.com
This video introduces the concept of k-fold cross-validation and explains how it can be used for evaluating models. Also, it discusses why 10-fold cross-vali...
 

10.4 K-facher Lebenslauf für die Modellbewertung – Codebeispiele (L10: Modellbewertung 3)



10.4 K-facher Lebenslauf für die Modellbewertung – Codebeispiele (L10: Modellbewertung 3)

Im vorherigen Video haben wir die k-fache Kreuzvalidierung als Methode zur Bewertung von Modellen für maschinelles Lernen besprochen. In diesem Video erfahren Sie, wie Sie mithilfe der scikit-learn-Bibliothek eine k-fache Kreuzvalidierung in Python implementieren. Ich habe das Code-Notizbuch auf GitHub hochgeladen, den Link finden Sie hier.

Beginnen wir damit, die erforderlichen Bibliotheken zu laden und ihre Versionen zu überprüfen. Wir werden NumPy und Matplotlib importieren, die häufig verwendete Bibliotheken sind. Als Nächstes demonstrieren wir die Verwendung der k-fachen Kreuzvalidierung mithilfe der k-fachen Klasse aus dem Modellauswahl-Submodul in scikit-learn.

Um die Reproduzierbarkeit sicherzustellen, legen wir mithilfe eines Zufallszahlengeneratorobjekts einen Zufallsstartwert fest. Anschließend erstellen wir einen einfachen Datensatz mit fünf Labels aus Klasse Null und fünf Labels aus Klasse Eins. Zusätzlich generieren wir einen Zufallsdatensatz mit 10 Eingaben und vier Merkmalen. Es ist erwähnenswert, dass es sich hierbei lediglich um einen zufälligen Datensatz zur Veranschaulichung handelt und Sie jeden beliebigen Datensatz verwenden können, beispielsweise den Iris-Datensatz.

Als nächstes initialisieren wir ein k-faches Objekt, das wir cv (kurz für Kreuzvalidierung) nennen. Wir setzen die Anzahl der Teilungen, n_splits, auf fünf, was bedeutet, dass wir eine fünffache Kreuzvalidierung durchführen werden. Lassen Sie uns das Verhalten dieses k-fach gefalteten Objekts mithilfe der Split-Methode untersuchen. Wenn wir diese Methode ausführen, erhalten wir fünf Ergebnisse, die jeweils aus einem Tupel mit zwei Arrays bestehen. Das erste Array repräsentiert die Trainingsfalte und das zweite Array repräsentiert die Validierungsfalte.

Die Zahlen in diesen Arrays entsprechen den Indizes der Stichproben im Datensatz. Wenn wir beispielsweise die tatsächlichen Beschriftungen erhalten möchten, die dem Trainingssatz der ersten Falte entsprechen, können wir diese Indizes als Indexarray zur Auswahl der Beschriftungen verwenden. Ebenso können wir die entsprechenden Features auswählen. Es ist wichtig zu beachten, dass die Beschriftungen in den Trainings- und Validierungsfalten möglicherweise unausgewogen sind, wie wir in diesem Fall beobachtet haben.

Um dieses Problem zu beheben, wird empfohlen, den Datensatz vor der k-fachen Kreuzvalidierung zu mischen. Wir können dies erreichen, indem wir den Datensatz während der Initialisierung direkt innerhalb des k-fachen Objekts mischen. Durch das Festlegen eines zufälligen Zustands und das Mischen erhalten wir eine bessere Mischung von Beschriftungen in den Trainings- und Validierungsfalten.

Darüber hinaus wird im Allgemeinen empfohlen, die Aufteilungen zu schichten, um sicherzustellen, dass der Anteil der Klassenbezeichnungen über jede Falte hinweg konsistent bleibt. Wir können dies erreichen, indem wir die geschichtete k-Falten-Klasse anstelle der regulären k-Falten-Klasse verwenden. Wenn wir eine geschichtete k-Faltung verwenden, entspricht der Anteil der Beschriftungen in jeder Falte dem des Originaldatensatzes.

Nachdem wir das allgemeine Verhalten von k-gefalteten und geschichteten k-gefalteten Objekten besprochen haben, wollen wir nun sehen, wie man sie in der Praxis anwenden kann. Als Beispiel verwenden wir einen Entscheidungsbaumklassifikator und den Iris-Datensatz. Zuerst teilen wir den Iris-Datensatz mithilfe der train_test_split-Methode in 85 % Trainingsdaten und 15 % Testdaten auf, die eine geschichtete Aufteilung gewährleistet.

Als nächstes initialisieren wir ein geschichtetes k-faches Objekt mit k=10, wie in Ron Kohavis Artikel über den praktischen Leitfaden zur Kreuzvalidierung empfohlen. Anschließend verwenden wir einen manuellen Ansatz, um eine k-fache Kreuzvalidierung durchzuführen, indem wir die Trainings- und Validierungsindizes mithilfe der Split-Methode iterieren. Innerhalb jeder Iteration passen wir mithilfe der Trainingsfalte einen neuen Entscheidungsbaumklassifikator an und sagen die Bezeichnungen der Validierungsfalte voraus. Wir berechnen die Genauigkeit für jede Iteration und speichern die Ergebnisse in einer Platzhaltervariablen.

Nachdem wir alle Falten durchlaufen haben, berechnen wir die durchschnittliche Genauigkeit der k-fachen Kreuzvalidierung, indem wir die Summe der Genauigkeiten durch die Anzahl der Iterationen dividieren. Um das Modell schließlich anhand unbekannter Daten zu bewerten, passen wir einen neuen Entscheidungsbaumklassifikator unter Verwendung aller Trainingsdaten an und berechnen die Genauigkeit des Testsatzes.

In diesem Fall erreichten wir eine k-fache Kreuzvalidierungsgenauigkeit von 95,3 % und eine Testsatzgenauigkeit von 95 %. Diese Ergebnisse legen nahe, dass unser Modell sowohl bei den Kreuzvalidierungsfalten als auch bei den unsichtbaren Testdaten gut abschneidet.

Das manuelle Durchlaufen der Falten und das Anpassen von Modellen kann jedoch etwas umständlich sein. Glücklicherweise bietet scikit-learn eine bequemere Möglichkeit, eine k-fache Kreuzvalidierung mithilfe der Funktion cross_val_score durchzuführen. Diese Funktion verwendet das Modell, den Datensatz und die Anzahl der Faltungen als Eingaben und führt automatisch eine k-Faltungs-Kreuzvalidierung durch, wobei die Bewertungen für jede Faltung zurückgegeben werden.

Mal sehen, wie das in der Praxis umgesetzt wird. Wir beginnen mit dem Importieren der erforderlichen Bibliotheken und dem Laden des Iris-Datensatzes. Als Nächstes erstellen wir eine Instanz des Entscheidungsbaumklassifikators und initialisieren ein geschichtetes k-fach-Objekt mit k=10.

Anschließend verwenden wir die Funktion „cross_val_score“ und übergeben den Klassifikator, den Datensatz und das k-fache Objekt. Diese Funktion führt automatisch die k-fache Kreuzvalidierung durch, passt das Modell an und berechnet die Bewertungen für jede Falte. Standardmäßig verwendet die Funktion „cross_val_score“ die Genauigkeitsmetrik, Sie können jedoch bei Bedarf auch andere Metriken angeben.

Abschließend drucken wir die Kreuzvalidierungswerte für jede Falte aus und berechnen den Durchschnittswert. In diesem Fall haben wir eine mittlere Kreuzvalidierungsgenauigkeit von 95,3 % erhalten, was der Genauigkeit entspricht, die wir manuell erhalten haben.

Die Verwendung von cross_val_score ist eine präzisere und effizientere Methode zur Durchführung einer k-fachen Kreuzvalidierung, da der gesamte Prozess automatisch abgewickelt wird. Es ermöglicht uns auch, die Anzahl der Falten einfach zu ändern oder zu einem anderen Modell zu wechseln, ohne den Code wesentlich zu ändern.

10.4 K-fold CV for Model Evaluation -- Code Examples (L10: Model Evaluation 3)
10.4 K-fold CV for Model Evaluation -- Code Examples (L10: Model Evaluation 3)
  • 2020.11.19
  • www.youtube.com
This video explains how we can evaluate models via k-fold cross-validation in Python using scikit-learn. A later video will show how we can use k-fold cross-...
 

10,5 K-facher Lebenslauf zur Modellauswahl (L10: Modellbewertung 3)


10,5 K-facher Lebenslauf zur Modellauswahl (L10: Modellbewertung 3)

In den beiden vorherigen Videos haben wir die k-fache Kreuzvalidierung zur Modellbewertung besprochen und einige Codebeispiele untersucht. Jetzt konzentrieren wir uns auf die k-fache Kreuzvalidierung für die Modellauswahl. Die Modellauswahl ist häufig der häufigste Anwendungsfall für die k-fache Kreuzvalidierung, da sie es uns ermöglicht, Hyperparameter zu optimieren und die leistungsstärksten Hyperparametereinstellungen auszuwählen.

Der Gesamtprozess lässt sich in fünf Schritten zusammenfassen. Aufgrund des begrenzten Platzes auf der Folie werde ich jedoch jeden Schritt in den folgenden Folien vergrößern, um mehr Details bereitzustellen. Die fünf Schritte ähneln der zuvor besprochenen dreifachen Holdout-Methode zur Modellauswahl.

Schritt 1: Teilen Sie die Daten in Trainings- und Testsätze auf. Dieser Schritt ist derselbe wie zuvor, wobei wir den Datensatz in zwei Teile aufteilen, einen zum Training und einen zum Testen. Wir werden uns vorerst auf das Trainingsset konzentrieren.

Schritt 2: Wenden Sie den Lernalgorithmus mit verschiedenen Hyperparametereinstellungen mithilfe einer k-fachen Kreuzvalidierung an. Jede Hyperparametereinstellung, beispielsweise die maximale Tiefe eines Entscheidungsbaumalgorithmus, wird mithilfe einer k-fachen Kreuzvalidierung ausgewertet. Beispielsweise können wir die k-fache Kreuzvalidierung mit k=10 verwenden, wie von Ron Kohavi empfohlen. Dieser Schritt liefert uns unterschiedliche Leistungsschätzungen für jede Hyperparametereinstellung.

Schritt 3: Wählen Sie das leistungsstärkste Modell aus. Basierend auf den Leistungsschätzungen aus der k-fachen Kreuzvalidierung können wir die Hyperparametereinstellung identifizieren, die die beste Leistung erbringt. Beispielsweise stellen wir möglicherweise fest, dass eine maximale Tiefe von fünf unter den getesteten Werten die beste Leistung erbringt. Wir wählen diese Hyperparameter-Einstellung als die beste aus.

Schritt 4: Passen Sie das Modell mit den besten Hyperparameterwerten an die Trainingsdaten an. Nachdem wir die beste Hyperparametereinstellung identifiziert haben, trainieren wir das Modell erneut, indem wir den gesamten Trainingsdatensatz und die ausgewählten Hyperparameter verwenden. Dadurch wird sichergestellt, dass wir ein einziges Modell mit den besten Hyperparameterwerten haben.

Schritt 5: Bewerten Sie das Modell anhand eines unabhängigen Testsatzes. Um die Generalisierungsleistung des Modells abzuschätzen, bewerten wir es anhand eines separaten Testsatzes, der während des Trainings oder des Hyperparameter-Auswahlprozesses nicht verwendet wurde. Dies ermöglicht eine unvoreingenommene Beurteilung der Leistung des Modells.

Optional können wir einen zusätzlichen Schritt ausführen, in dem wir das Modell mit den besten Hyperparameterwerten für den gesamten Datensatz anpassen. Dieser Schritt basiert auf der Annahme, dass das Modell möglicherweise noch bessere Ergebnisse erzielt, wenn es mit mehr Daten trainiert wird.

Ein unabhängiger Testsatz ist wichtig, um Auswahlverzerrungen zu vermeiden. Manchmal kann eine Hyperparametereinstellung bei der k-fachen Kreuzvalidierung zufällig gut funktionieren, was zu einer zu optimistischen Schätzung führt. Durch die Verwendung eines unabhängigen Testsatzes können wir eine zuverlässigere Beurteilung der Leistung des Modells erhalten.

Dieses Verfahren fasst die k-fache Kreuzvalidierung für die Modellauswahl zusammen. Lassen Sie uns nun einige Techniken zur Auswahl von Hyperparametern während der Modellauswahl oder des Hyperparameter-Tuning-Schritts untersuchen.

Eine gängige Methode ist die Rastersuche, die nach wie vor weit verbreitet ist. Die Rastersuche ist eine umfassende Suchmethode, bei der Sie eine Liste der zu berücksichtigenden Hyperparameterwerte definieren. Im Fall von k-nächsten Nachbarn können Sie beispielsweise den Wert von k optimieren, indem Sie eine Liste von Werten wie 3, 5, 6, 7, 8 und 9 angeben. Die Rastersuche bewertet die Leistung des Modells für jeden Hyperparameterkombination mit k-facher Kreuzvalidierung.

Die Rastersuche kann parallel durchgeführt werden, sodass mehrere Hyperparameterkombinationen gleichzeitig ausgewertet werden können. Es kann jedoch zu einer schlechten Abdeckung kommen, wenn nicht alle relevanten Hyperparameterwerte im vordefinierten Raster enthalten sind. Dies ist besonders problematisch bei kontinuierlichen Hyperparametern oder wenn bestimmte Werte übersprungen werden.

Um das Abdeckungsproblem zu lösen, ist die randomisierte Suche ein alternativer Ansatz, bei dem Hyperparameterwerte aus Verteilungen abgetastet werden. Anstatt ein festes Raster anzugeben, können Sie Verteilungen wie gleichmäßige, normale, exponentielle, beta- oder binomiale Verteilungen definieren, um Hyperparameterwerte abzutasten. Die randomisierte Suche bietet mehr Flexibilität bei der Erkundung des Hyperparameterraums und kann möglicherweise einen größeren Wertebereich abdecken. Durch Stichproben aus Verteilungen ermöglicht die randomisierte Suche eine effizientere Untersuchung des Hyperparameterraums.

Im Vergleich zur Rastersuche ist die Zufallssuche oft recheneffizienter, da sie nicht alle möglichen Kombinationen auswertet. Stattdessen wird eine Teilmenge von Hyperparameterwerten zufällig abgetastet und mithilfe einer k-fachen Kreuzvalidierung ausgewertet. Die Anzahl der Iterationen bzw. Samples kann vorab festgelegt werden.

Der Vorteil der randomisierten Suche besteht darin, dass sie einen großen Hyperparameterraum effizient durchsuchen kann, insbesondere wenn einige Hyperparameter weniger wichtig sind als andere. Es kann auch kontinuierliche und diskrete Hyperparameter verarbeiten, ohne dass ein bestimmtes Raster definiert werden muss.

Sowohl die Rastersuche als auch die Zufallssuche haben ihre Vor- und Nachteile. Die Rastersuche deckt garantiert alle Kombinationen innerhalb des definierten Rasters ab, kann jedoch rechenintensiv sein und ist möglicherweise nicht für große Hyperparameterräume geeignet. Die randomisierte Suche hingegen ist effizienter, garantiert jedoch keine vollständige Abdeckung.

In der Praxis hängt die Wahl zwischen Rastersuche und randomisierter Suche von der Größe des Hyperparameterraums, den verfügbaren Rechenressourcen und dem konkreten Problem ab.

Eine weitere Technik zur Optimierung von Hyperparametern ist die Bayes'sche Optimierung. Die Bayes'sche Optimierung verwendet ein probabilistisches Modell, um die Beziehung zwischen Hyperparametern und der Zielfunktion (z. B. Modellleistung) zu modellieren. Es verwendet ein Ersatzmodell wie Gaußsche Prozesse, um die Zielfunktion anzunähern, und verwendet eine Erfassungsfunktion, um die nächsten auszuwertenden Hyperparameterwerte zu bestimmen.

Bei der Bayes'schen Optimierung werden Hyperparameterwerte iterativ auf der Grundlage des Ersatzmodells abgetastet und das Modell auf der Grundlage der bewerteten Leistung aktualisiert. Es konzentriert die Suche auf vielversprechende Regionen des Hyperparameterraums und führt so zu einer effizienteren Erkundung.

Der Vorteil der Bayes’schen Optimierung liegt in ihrer Fähigkeit, sowohl kontinuierliche als auch diskrete Hyperparameter sowie nichtkonvexe und nichtlineare Zielfunktionen zu verarbeiten. Es passt sich der beobachteten Leistung an und wählt auf intelligente Weise die nächsten zu bewertenden Hyperparameterwerte aus, wodurch möglicherweise die optimale Lösung mit weniger Bewertungen im Vergleich zur Rastersuche oder randomisierten Suche erreicht wird.

Allerdings kann die Bayes'sche Optimierung rechenintensiver sein, insbesondere bei großen Datensätzen oder komplexen Modellen. Es erfordert eine mehrmalige Auswertung der Zielfunktion, um das Ersatzmodell zu aktualisieren und die nächsten auszuwertenden Hyperparameterwerte zu bestimmen.

Insgesamt ist die Bayes'sche Optimierung eine leistungsstarke Technik zur Optimierung von Hyperparametern, insbesondere wenn der Hyperparameterraum komplex und die Auswertung der Zielfunktion teuer ist.

Zusammenfassend ist die k-fache Kreuzvalidierung ein wertvolles Werkzeug sowohl für die Modellbewertung als auch für die Modellauswahl. Es ermöglicht uns, die Leistung verschiedener Modelle abzuschätzen und die besten Hyperparametereinstellungen auszuwählen. Techniken wie Rastersuche, Zufallssuche und Bayes'sche Optimierung können verwendet werden, um die Hyperparameter abzustimmen und die Modellleistung zu verbessern. Die Wahl der Methode hängt von Faktoren wie der Größe des Hyperparameterraums, den Rechenressourcen und dem konkreten Problem ab.

10.5 K-fold CV for Model Selection (L10: Model Evaluation 3)
10.5 K-fold CV for Model Selection (L10: Model Evaluation 3)
  • 2020.11.20
  • www.youtube.com
After talking about k-fold cross-validation for model *evaluation* in the last two videos, we are now going to talk about k-fold cross-validation for model *...
 

10.6 K-facher Lebenslauf für die Modellbewertung – Codebeispiele (L10: Modellbewertung 3)



10.6 K-facher Lebenslauf für die Modellbewertung – Codebeispiele (L10: Modellbewertung 3)

Ja, wie letztes Mal, als wir über die k-fache Kreuzvalidierung zur Modellbewertung sprachen. Schauen wir uns nun einige Codebeispiele für die k-fache Kreuzvalidierung genauer an, diesmal jedoch für die Modellauswahl. Ich stelle Ihnen einige Codebeispiele zur Verfügung, die Sie auf GitHub finden können. Ich werde den Link auch auf Piazza und Canvas einfügen, damit Sie das Code-Notizbuch herunterladen und später damit experimentieren können.

Okay, lasst uns in das Code-Notizbuch eintauchen. Wie üblich beginnen wir mit dem Wasserzeichen zur Überprüfung der Versionsnummern der von uns verwendeten Pakete. In diesem Notizbuch konzentrieren wir uns auf die Rastersuche, die für die Optimierung von Hyperparametern und die Modellauswahl sehr nützlich ist. Für diese Demonstration verwenden wir den Entscheidungsbaumklassifikator für den Iris-Datensatz. Obwohl der Iris-Datensatz vielleicht nicht der aufregendste ist, ermöglicht er uns, die Dinge einfach zu halten. Darüber hinaus dient es als bewährte Übung vor Beginn Ihrer Unterrichtsprojekte, bei denen Sie mit komplexeren Datensätzen arbeiten.

Wir beginnen mit der Aufteilung unseres Datensatzes in Trainings- und Testsätze. Wie üblich verwenden wir 85 % der Daten für das Training und 15 % für Tests. Wenn wir zur Rastersuche übergehen, definieren wir zwei Hyperparameteroptionen: maximale Tiefe und Kriterium. Die maximale Tiefe stellt die maximale Tiefe des Entscheidungsbaums dar und wir setzen sie entweder auf 1, 2, 3, 4, 5 oder Keine (keine Einschränkung der maximalen Tiefe). Das Kriterium stellt die Funktion zur Messung der Qualität einer Aufteilung dar und wir bewerten sowohl „Gini“ als auch „Entropie“. In der Praxis macht die Wahl zwischen Gini und Entropie kaum einen Unterschied, wir beziehen sie jedoch zu Demonstrationszwecken ein.

Als nächstes erstellen wir ein Parameterraster, in dem wir die Hyperparameter und ihre jeweiligen Werte angeben. Anstatt eine Liste zu verwenden, können wir auch Wörterbücher verwenden, um verschiedene Szenarien anzugeben. Beispielsweise können wir einen bestimmten Wert für einen Hyperparameter fest codieren, während wir alle Werte für einen anderen Hyperparameter untersuchen. Dieser Ansatz kann hilfreich sein, wenn es um widersprüchliche Parameterauswahlen geht. In diesem Fall liegt jedoch kein Konflikt vor, sodass eine Liste ausreichen würde.

Wir setzen die Anzahl der Kreuzvalidierungsfalten (CV) auf 10, was angibt, dass wir eine 10-fache Kreuzvalidierung durchführen möchten. Die geschichtete k-fache Kreuzvalidierung wird für Klassifikatoren verwendet und stellt sicher, dass die Anteile der Beschriftungen in jeder Falte konstant bleiben. Die zur Auswahl der besten Hyperparametereinstellungen verwendete Bewertungsmetrik ist die Genauigkeit für Klassifikatoren und der R-Quadrat-Score für Regressoren. Außerdem legen wir die Anzahl der parallel auszuführenden Jobs auf -1 fest, sodass mehrere Vorgänge parallel ausgeführt werden können.

Nachdem wir alle notwendigen Details angegeben haben, passen wir das Rastersuchobjekt an unsere Daten an. Es führt eine umfassende Suche über das Parameterraster durch und bewertet die Leistung jeder Hyperparameterkombination mithilfe einer Kreuzvalidierung. Sobald die Rastersuche abgeschlossen ist, können wir über die Attribute best_score_ bzw. best_params_ auf die beste Punktzahl und die entsprechenden Parameter zugreifen. In diesem Fall hat das beste Modell eine maximale Tiefe von 3 und das Kriterium „gini“ und erreicht eine Genauigkeit von durchschnittlich 96 % über die Validierungsfalten hinweg.

Bei Interesse können wir die in einem Wörterbuch gespeicherten Ergebnisse, das alle Informationen enthält, manuell überprüfen. Hier konzentrieren wir uns auf das mittlere Testergebnis, das die durchschnittliche Leistung über die Validierungsfalten für jede Hyperparametereinstellung darstellt. Zur besseren Lesbarkeit drucken wir die Ergebnisse zusammen mit den Parametereinstellungen aus.

Optional können wir die Ergebnisse mithilfe einer Funktion aus der ML-Extent-Bibliothek in einer Heatmap zusammenfassen. Die Heatmap bietet eine visuelle Darstellung der Leistung für verschiedene Hyperparametereinstellungen. In diesem Fall hat die Wahl zwischen „Gini“ und „Entropie“ nahezu keinen Einfluss auf die Leistung, wie die ähnlichen Ergebnisse zeigen. Die beste Leistung wird mit einer maximalen Tiefe von 3 und dem Kriterium „gini“ erreicht.

Nachdem wir die besten Hyperparametereinstellungen erhalten haben, können wir diese verwenden, um das endgültige Modell für den gesamten Trainingsdatensatz zu trainieren. Dadurch wird sichergestellt, dass wir alle verfügbaren Daten für das Modelltraining nutzen. Wir erstellen ein neues Entscheidungsbaum-Klassifizierungsobjekt, setzen die Hyperparameter auf die besten Werte, die während der Rastersuche gefunden wurden, und passen das Modell an die Trainingsdaten an.

Sobald das Modell trainiert ist, können wir Vorhersagen zum Testdatensatz treffen und seine Leistung bewerten. In diesem Beispiel berechnen wir den Genauigkeitswert, der den Anteil korrekt klassifizierter Instanzen misst. Wir drucken den Genauigkeitswert aus und erreichen in diesem Fall eine Genauigkeit von 93 % im Testsatz.

Insgesamt ermöglicht uns die Rastersuche, verschiedene Hyperparameterkombinationen systematisch zu untersuchen und die beste Konfiguration für unser Modell auszuwählen. Es automatisiert den Prozess der Hyperparameter-Abstimmung und hilft dabei, optimale Einstellungen für eine verbesserte Leistung zu finden.

Das ist die Grundidee der Rastersuche zur Modellauswahl und Hyperparameter-Optimierung. Natürlich ist dies nur ein Ansatz, und es stehen auch andere Techniken zur Verfügung, etwa die randomisierte Suche, die Bayes'sche Optimierung und mehr. Die Wahl der Methode hängt von der konkreten Problemstellung und den verfügbaren Ressourcen ab.

10.6 K-fold CV for Model Evaluation -- Code Examples (L10: Model Evaluation 3)
10.6 K-fold CV for Model Evaluation -- Code Examples (L10: Model Evaluation 3)
  • 2020.11.20
  • www.youtube.com
In this video, we look at code examples for using k-fold cross-validation for model selection. In particular, we are looking at GridSearchCV and RandomizedSe...
 

10.7 K-fache CV 1-Standardfehlermethode (L10: Modellbewertung 3)


10.7 K-fache CV 1-Standardfehlermethode (L10: Modellbewertung 3)

In der vorherigen Diskussion haben wir die Konzepte der k-fachen Kreuzvalidierung und der Modellauswahl mithilfe der Rastersuche behandelt. Es gibt jedoch noch ein weiteres wichtiges Thema, das berücksichtigt werden muss: die Methode mit einem Standardfehler. Diese Methode ist relevant, wenn wir auf Situationen stoßen, in denen mehrere Hyperparametereinstellungen gleich gut funktionieren und wir die am besten geeignete auswählen müssen.

Wenn wir über mehrere Hyperparametereinstellungen mit ähnlicher oder identischer Leistung verfügen, ist es entscheidend, zu entscheiden, welche ausgewählt werden soll. Standardmäßig wählt scikit-learn bei Gleichstand die erste Einstellung aus der Liste aus. Die Ein-Standardfehler-Methode bietet jedoch einen alternativen Ansatz, der auf dem Sparsamkeitsprinzip oder dem Occam-Rasiermesser basiert. Laut Occams Rasiermesser sollte diejenige mit den wenigsten Annahmen bevorzugt werden, wenn konkurrierende Hypothesen gleich gut funktionieren.

Um die Ein-Standardfehler-Methode anzuwenden, betrachten wir die numerisch optimale Schätzung und ihren Standardfehler. Nach der Modellauswahl mittels k-facher Kreuzvalidierung erhalten wir Leistungsschätzungen für verschiedene Hyperparametereinstellungen. Unter diesen Einstellungen wählen wir das Modell aus, dessen Leistung innerhalb eines Standardfehlers des im vorherigen Schritt ermittelten Modells mit der besten Leistung liegt.

Um diese Methode zu veranschaulichen, betrachten wir einen mit scikit-learn generierten binären Klassifizierungsdatensatz, der aus Quadraten und Dreiecken besteht. Der Einfachheit halber konzentrieren wir uns auf eine RBF-Kernel-Support-Vektor-Maschine (SVM). Die SVM verfügt über einen Hyperparameter namens Gamma, der den Einfluss jedes Trainingsbeispiels steuert. Wir stellen fest, dass verschiedene Gammawerte zu Genauigkeiten zwischen 60 % und 90 % führen, wobei einige Einstellungen eine ähnliche Leistung zeigen.

Bei SVM hängt die Komplexität der Entscheidungsgrenze vom Gammawert ab. Ein höherer Gammawert führt zu einer komplexeren Entscheidungsgrenze, während ein niedrigerer Gammawert zu einer einfacheren Entscheidungsgrenze führt. Wir können dies beobachten, indem wir die Entscheidungsgrenzen für verschiedene Gammawerte darstellen. Die einfacheren Modelle haben Entscheidungsgrenzen, die eher linear sind, während die komplexeren Modelle komplexere Formen aufweisen.

Wenn jedoch mehrere Hyperparametereinstellungen ähnliche Genauigkeiten liefern, möchten wir das einfachste Modell innerhalb eines Standardfehlers vom Modell mit der besten Leistung auswählen. Wenn beispielsweise das Modell mit der besten Leistung einen Gammawert von 0,1 hat, würden wir Modelle mit Gammawerten innerhalb eines Standardfehlers von 0,1 berücksichtigen und das Modell mit der geringsten Komplexität auswählen.

Es ist zu beachten, dass es für die Methode mit einem Standardfehler möglicherweise nicht immer einen entsprechenden Aufsatz oder eine entsprechende Veröffentlichung gibt. Es handelt sich um einen praktischen Ansatz, der auf dem Prinzip der Einfachheit basiert und von Praktikern weithin übernommen wurde. Wenn es veröffentlichte Studien oder Artikel zu dieser Methode gibt, wären diese eine wertvolle Ergänzung, um ihre Wirksamkeit und Auswirkungen weiter zu untersuchen.

Im nächsten Video werden wir uns mit einem Codebeispiel befassen, das zeigt, wie die Methode mit einem Standardfehler in der Praxis implementiert wird.

10.7 K-fold CV 1-Standard Error Method (L10: Model Evaluation 3)
10.7 K-fold CV 1-Standard Error Method (L10: Model Evaluation 3)
  • 2020.11.20
  • www.youtube.com
This video suggests the 1-standard error method as a tie breaker for selecting one model from a set of similarly well performing models.-------This video is ...
 

10.8 K-fache CV 1-Standardfehlermethode – Codebeispiel (L10: Modellbewertung 3)


10.8 K-fache CV 1-Standardfehlermethode – Codebeispiel (L10: Modellbewertung 3)

In diesem Video erkläre ich ausführlich, wie ich die im vorherigen Video besprochene Methode mit einem Standardfehler implementiert habe. Um die Codebeispiele mitzuverfolgen, finden Sie sie unter diesem Link, den ich für einen einfachen Zugriff auch auf Canvas veröffentlichen werde.

Lassen Sie uns gemeinsam das Notizbuch durchgehen. Erstens haben wir die herkömmlichen Importe, die üblicherweise verwendet werden. Dann generiere ich meinen eigenen Spielzeugdatensatz mit der Funktion make_circles aus der scikit-learn-Bibliothek. Mit dieser Funktion können Sie die Anzahl der Beispiele und die Menge an Rauschen im Datensatz angeben. Der generierte Datensatz wird dann in Trainings- und Testsätze aufgeteilt. Dieser Ansatz eignet sich hervorragend für die Durchführung von Simulationsstudien an beliebig großen Datensätzen, um zu beobachten, wie sich unterschiedliche Lernkurven und Modellverhalten bei variierenden Parametern wie Rauschen und Anzahl der Trainingsbeispiele unterscheiden. Es dient als nützlicher Prüfstand für Experimente.

Als nächstes verwende ich die Support Vector Machine (SVM) als Beispiel. Für diese Demonstration müssen Sie nicht vollständig verstehen, wie SVMs funktionieren. Ich habe es einfach als klares Beispiel gewählt. Die folgenden Schritte umfassen einen manuellen Ansatz, bei dem ich eine Liste von Hyperparametereinstellungen definiere und diese Werte iteriere. Wenn Sie jedoch kompliziertere Einstellungen haben, können Sie den im vorherigen Video besprochenen ParamSampler verwenden.

Für diese Demonstration verwende ich einen einzelnen Hyperparameter, daher reicht ein manueller Ansatz mit einer Liste und einer for-Schleife aus. Ich initialisiere eine Liste von Parametern und iteriere dann über jeden Wert. In jeder Iteration initialisiere ich das SVM-Modell mit der gewählten Hyperparametereinstellung. Anschließend führe ich eine k-fache Kreuzvalidierung durch, um die Genauigkeit des Modells zu bewerten. Die Genauigkeitswerte werden erfasst und ich berechne den Durchschnitt, die Standardabweichung und den Standardfehler. Bitte beachten Sie, dass der naive Ansatz, den ich zur Berechnung des Standardfehlers durch Division der Standardabweichung durch die Quadratwurzel der Stichprobengröße verwende, möglicherweise nicht die beste Methode ist, da die Runden bei der k-fachen Kreuzvalidierung nicht völlig unabhängig sind. Um jedoch ein gewisses Maß an Ähnlichkeit oder Fehlerbalken zum Vergleich verschiedener Methoden zu erhalten, ist dieser Ansatz ausreichend.

Nachdem ich die Genauigkeitswerte gesammelt habe, trage ich sie auf einer logarithmischen Skala auf, da die Stichprobe exponentiell erfolgt. Das resultierende Diagramm zeigt die Leistung des SVM-Modells für verschiedene Hyperparametereinstellungen. Dies steht im Einklang mit dem, was wir in den Vorlesungsfolien gesehen haben.

Um die Anwendbarkeit dieser Methode auf andere Klassifikatoren zu demonstrieren, stelle ich auch Code für die Entscheidungsbaumklassifizierung des Iris-Datensatzes bereit. In diesem Fall variiere ich den maximalen Tiefenparameter des Entscheidungsbaums von 1 bis 10. Es werden ähnliche Schritte befolgt: Initialisieren des Modells mit einer Hyperparametereinstellung, Anpassen des Modells, Treffen von Vorhersagen, Sammeln von k-fachen Kreuzvalidierungswerten, Berechnen der Standardfehler usw. Durch die Analyse der Entscheidungsgrenzen für verschiedene maximale Tiefen können wir den Kompromiss zwischen Modellkomplexität und Leistung beobachten. In diesem speziellen Beispiel wird ein Entscheidungsbaum mit einer maximalen Tiefe von drei mithilfe der Ein-Standardfehler-Methode ausgewählt.

Abschließend erwähne ich kurz die Themen, die wir in der nächsten Vorlesung behandeln werden, darunter Kreuzvalidierung für die Algorithmenauswahl, statistische Tests und Bewertungsmetriken. Diese Themen stehen in engem Zusammenhang mit den in den vorherigen Vorlesungen diskutierten Konzepten.

Ich hoffe, Sie finden diese Erklärung hilfreich. Habe ein schönes Wochenende!

10.8 K-fold CV 1-Standard Error Method -- Code Example (L10: Model Evaluation 3)
10.8 K-fold CV 1-Standard Error Method -- Code Example (L10: Model Evaluation 3)
  • 2020.11.20
  • www.youtube.com
This video goes over a code example for applying the 1-standard error method, which can be used as a tie breaker for selecting one model from a set of simila...
 

11.1 Vorlesungsübersicht (L11 Modellbewertung Teil 4)


11.1 Vorlesungsübersicht (L11 Modellbewertung Teil 4)

Hallo zusammen und herzlich willkommen! In unserer vorherigen Sitzung haben wir uns mit dem Thema Hyperparameter-Tuning und Modellauswahl befasst. Unser Fokus lag auf der k-fachen Kreuzvalidierung, einer Technik, mit der verschiedene Modelle mit verschiedenen Hyperparametereinstellungen in eine Rangfolge gebracht werden, um das beste Modell auszuwählen. Wir haben praktische Methoden wie die Rastersuche und die Zufallssuche untersucht, die den Prozess des Modellvergleichs erleichtern.

Heute werden wir uns näher mit dem Aspekt des Modellvergleichs befassen. Angenommen, Sie stoßen auf eine Forschungsarbeit, die die Vorhersagen eines Modells für einen Testsatz teilt. Möglicherweise möchten Sie diese Vorhersagen mit denen Ihres eigenen Modells vergleichen und feststellen, ob es einen statistisch signifikanten Unterschied in ihrer Leistung gibt. Obwohl diese Praxis nicht sehr verbreitet ist, kann sie nützlich sein. Ein statistischer Test, der in solchen Fällen eingesetzt werden kann, ist der McNemar-Test. Darüber hinaus werden wir Algorithmenvergleiche diskutieren, die es uns ermöglichen, verschiedene Modelle und Algorithmen gerechter zu vergleichen.

Bitte beachten Sie jedoch, dass die heutige Vorlesung aufgrund der Thanksgiving-Woche kürzer als üblich ausfallen wird. Für Interessierte bietet das Vorlesungsskript nähere Erläuterungen. Sie umfassen auch weitere statistische Tests, wie den Fünf-mal-zwei-F-Test und verschiedene T-Testverfahren. Obwohl diese Themen nicht prüfbar sind, dienen sie der Befriedigung Ihrer intellektuellen Neugier.

Um unsere Zeit zu optimieren, werden wir uns nicht näher mit diesen Methoden befassen, da uns nächste Woche ein Vortrag über Leistungsmetriken erwartet. Wenn es die Zeit erlaubt, können wir auch auf die Feature-Auswahl und Feature-Extraktion eingehen. Zur Vereinfachung habe ich über Canvas ergänzende Materialien zu diesen Themen bereitgestellt.

Beginnen wir nun mit der Hauptvorlesung zur Modellbewertung und beginnen mit statistischen Tests für Modellvergleiche. Anschließend werden wir uns mit den Herausforderungen befassen, die mit mehreren paarweisen Vergleichen verbunden sind, und Methoden zu deren Bewältigung untersuchen. Anschließend werden wir uns mit der Algorithmusauswahl befassen und ein konkretes Codebeispiel im Zusammenhang mit der Technik der verschachtelten Kreuzvalidierung untersuchen. Dieser Vortragsüberblick bildet die Grundlage für unsere heutige Diskussion.

Bevor wir fortfahren, lassen Sie uns noch einmal die Themen zusammenfassen, die wir in den vorherigen Vorlesungen zur Modellevaluierung behandelt haben. Wir begannen mit den Grundlagen, einschließlich des Bias-Varianz-Kompromisses, der Unter- und Überanpassung sowie der einfachen Holdout-Methode. Anschließend haben wir uns mit Konfidenzintervallen befasst und die Bootstrap-Methode zur Konstruktion empirischer Konfidenzintervalle eingeführt. Wir haben die Methode des wiederholten Haltens untersucht, die Einblicke in die Modellstabilität bietet, obwohl sie in der Praxis nicht häufig verwendet wird. Es diente als gute Einführung in Resampling-Methoden.

Letzte Woche haben wir uns in den Bereich der Kreuzvalidierung gewagt, was unserer Erkundung mehr Tiefe verlieh. Wir haben die Optimierung von Hyperparametern mithilfe der Rastersuche und der randomisierten Suche besprochen und diese Techniken zur Modellauswahl eingesetzt. Unser Hauptaugenmerk lag auf der Drei-Wege-Holdout-Methode, bei der der Datensatz in Trainings-, Validierungs- und Testsätze aufgeteilt wird. Wir haben den Validierungssatz verwendet, um verschiedene Modelle zu bewerten, und den Testsatz, um ihre endgültige Leistung abzuschätzen. Für kleinere Datensätze haben wir uns der k-fachen Kreuzvalidierung zugewandt und eine einmalige Kreuzvalidierung weggelassen.

In der heutigen Vorlesung werden Modell- und Algorithmenvergleiche vorgestellt. Während sich diese Konzepte auf die Modellauswahl beziehen, besteht unser Ziel hier darin, verschiedene Algorithmen zu vergleichen und herauszufinden, welcher bei einer Reihe verwandter Aufgaben eine bessere Leistung erbringt. Im Idealfall hätten wir für jeden Algorithmus eine Sammlung disjunkter Trainings- und Testsätze. Wenn wir beispielsweise Bildklassifizierungsmethoden vergleichen, würden wir verschiedene Bilddatensätze verwenden, um verschiedene Modelle mit unterschiedlichen Algorithmen zu trainieren. Wir würden dann ihre Leistungen anhand mehrerer Datensätze vergleichen. Allerdings schränken praktische Zwänge oft unsere Fähigkeit ein, diesem idealen Ansatz zu folgen. Wir stoßen auf Probleme mit Verletzungen der Unabhängigkeit und anderen Belästigungen innerhalb von Datensätzen. Dieses Problem erinnert an die im CIFAR-10-Papier diskutierten Herausforderungen.

Wie können wir außerdem die Leistung eines von uns trainierten Modells mit der eines Modells vergleichen, das in einer Forschungsarbeit veröffentlicht oder im Internet gefunden wurde? Um dies zu beheben, können wir mithilfe statistischer Tests den tatsächlichen Leistungsunterschied zwischen den beiden Modellen untersuchen. Ein solcher Test ist der McNemar-Test, der üblicherweise zum Vergleich der Vorhersageleistung zweier Modelle für ein binäres Ergebnis verwendet wird.

Der McNemar-Test ist geeignet, wenn wir gepaarte Daten haben, was bedeutet, dass jede Instanz im Datensatz von beiden Modellen klassifiziert wird und die Ergebnisse als Kontingenztabelle aufgezeichnet werden. Die Kontingenztabelle besteht aus vier Zellen, die die vier möglichen Ergebnisse darstellen:

              Model 2
           |  Positive | Negative |
---------------------------------
Model 1     |           |          |
---------------------------------
  Positive |           |          |
---------------------------------
  Negative |           |          |
---------------------------------
Um den McNemar-Test anzuwenden, zählen wir die Anzahl der Instanzen in jeder Zelle der Kontingenztabelle. Bezeichnen wir diese Zählungen wie folgt:

  • a: Die Anzahl der Fälle, in denen beide Modelle 1 und 2 positiv vorhersagen.
  • b: Die Anzahl der Fälle, in denen Modell 1 positiv und Modell 2 negativ vorhersagt.
  • c: Die Anzahl der Fälle, in denen Modell 1 negativ und Modell 2 positiv vorhersagt.
  • d: Die Anzahl der Fälle, in denen beide Modelle 1 und 2 negativ vorhersagen.

Mit diesen Zählungen können wir den McNemar-Test durchführen, um festzustellen, ob es einen signifikanten Unterschied in der Leistung der Modelle gibt. Die Nullhypothese (H0) besagt, dass die beiden Modelle die gleiche Leistung aufweisen, während die Alternativhypothese (H1) besagt, dass es einen Unterschied gibt.

Die McNemar-Teststatistik folgt einer Chi-Quadrat-Verteilung mit 1 Freiheitsgrad. Wir berechnen die Teststatistik nach der Formel:

chi2 = ((|b - c| - 1)^2) / (b + c)

Wenn die Teststatistik chi2 einen kritischen Wert aus der Chi-Quadrat-Verteilung (mit 1 Freiheitsgrad) bei einem gewählten Signifikanzniveau (z. B. 0,05) überschreitet, lehnen wir die Nullhypothese ab und kommen zu dem Schluss, dass zwischen ihnen ein signifikanter Leistungsunterschied besteht zwei Modelle.

Es ist wichtig zu beachten, dass der McNemar-Test davon ausgeht, dass die gepaarten Instanzen unabhängig und identisch verteilt sind. Diese Annahme gilt möglicherweise nicht, wenn die gepaarten Instanzen nicht wirklich unabhängig sind oder eine gewisse Abhängigkeit zwischen ihnen besteht. Darüber hinaus ist der McNemar-Test hauptsächlich auf binäre Ergebnisse anwendbar. Wenn das Ergebnis mehrere Klassen umfasst, sind alternative Tests wie der Cochran-Q-Test oder der Stuart-Maxwell-Test möglicherweise besser geeignet.

Kommen wir nun zur Diskussion der Herausforderungen mehrerer paarweiser Vergleiche. Beim Vergleich mehrerer Modelle oder Algorithmen wird es immer wahrscheinlicher, dass allein durch Zufall signifikante Unterschiede festgestellt werden. Dieses Phänomen ist als Mehrfachvergleichsproblem oder Mehrfachtestproblem bekannt.

Bei der Durchführung mehrerer paarweiser Vergleiche steigt die Wahrscheinlichkeit für mindestens ein signifikantes Ergebnis mit zunehmender Anzahl der Vergleiche. Diese Erhöhung der Fehlerquote vom Typ I kann zu falsch positiven Ergebnissen führen, bei denen wir die Nullhypothese fälschlicherweise ablehnen.

Um das Problem des Mehrfachvergleichs anzugehen, müssen wir das Signifikanzniveau unserer statistischen Tests anpassen. Ein gängiger Ansatz ist die Bonferroni-Korrektur, bei der das gewünschte Signifikanzniveau (z. B. 0,05) durch die Anzahl der durchgeführten Vergleiche dividiert wird. Wenn wir beispielsweise drei Modelle vergleichen, würden wir das Signifikanzniveau für jeden einzelnen Test auf 0,05/3 = 0,0167 anpassen.

Die Bonferroni-Korrektur ist eine konservative Methode, die die familienbezogene Fehlerrate steuert und sicherstellt, dass die Gesamtfehlerrate vom Typ I über alle Vergleiche hinweg unter einem bestimmten Schwellenwert bleibt. Es kann jedoch zu streng sein, was dazu führen kann, dass die Erkennung echter Unterschiede nicht mehr möglich ist.

Weitere Methoden zur Anpassung des Signifikanzniveaus sind die Holm-Bonferroni-Methode, das Benjamini-Hochberg-Verfahren und die FDR-Kontrolle (False Discovery Rate). Diese Methoden stellen weniger konservative Alternativen zur Bonferroni-Korrektur dar und können in bestimmten Situationen geeigneter sein.

Zusammenfassend ist der McNemar-Test ein statistischer Test, mit dem die Leistung zweier Modelle anhand eines binären Ergebnisses verglichen werden kann. Bei der Durchführung mehrerer paarweiser Vergleiche ist es jedoch wichtig, das Problem des Mehrfachvergleichs durch Anpassen des Signifikanzniveaus zu berücksichtigen.

11.1 Lecture Overview (L11 Model Eval. Part 4)
11.1 Lecture Overview (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This first video goes over the model and algorithm comparison-related topics that are coved in Lecture 11.More details in my article "Model Evaluation, Model...
 

11.2 McNemar-Test für den paarweisen Klassifikatorvergleich (L11-Modellbewertung, Teil 4)


11.2 McNemar-Test für den paarweisen Klassifikatorvergleich (L11-Modellbewertung, Teil 4)

Lassen Sie uns nun den McNemar-Test diskutieren, einen Test, mit dem wir zwei Modelle miteinander vergleichen können. Dieser Test unterscheidet sich von der Kreuzvalidierungsmethode, die wir letzte Woche für die Modellauswahl besprochen haben. Im Gegensatz zur Kreuzvalidierung erfordert der McNemar-Test keine Optimierung des Modells mithilfe des Trainingssatzes. Stattdessen wird davon ausgegangen, dass wir bereits über ein vorhandenes Modell verfügen, beispielsweise einen in der veröffentlichten Literatur erwähnten Klassifikator für maschinelles Lernen, auf das wir über eine Web-App oder GitHub zugreifen können. Das Ziel besteht darin, unser eigenes Modell anhand seiner Leistung in einem Testsatz mit diesem vorhandenen Klassifikator zu vergleichen.

Mit dem McNemar-Test können wir zwei Klassifikatoren anhand ihrer Leistung in einem Testsatz vergleichen. Er wurde 1947 von Quinn McNemar eingeführt und ist ein nichtparametrischer statistischer Test für paarweise Vergleiche. In diesem Fall haben wir eine kategoriale abhängige Variable mit zwei Kategorien, die die Richtigkeit der Vorhersagen darstellen (z. B. richtig oder falsch), und eine kategoriale unabhängige Variable mit zwei verwandten Gruppen, die die beiden verglichenen Modelle darstellen. Die Paarung wird dadurch erreicht, dass für beide Modelle derselbe Testsatz verwendet wird. Zur Durchführung des Tests verwenden wir eine Zwei-mal-Zwei-Konfusionsmatrix, eine spezielle Version der speziell für den McNemar-Test entwickelten Verwirrungsmatrix.

Die Zwei-mal-Zwei-Konfusionsmatrix für den McNemar-Test umfasst die Anzahl der Vorhersagen beider Modelle. Betrachten wir zum Beispiel den Fall, dass wir echte Klassenbezeichnungen von 0 und 1 haben. Modell 1 sagt 1 und 2 voraus, während Modell 2 1 und 1 vorhersagt. In diesem Fall stellt die Anzahl „a“ die Vorhersagen dar, die sowohl Modell 1 als auch Modell 2 vorhersagt Modell 2 war richtig (z. B. Vorhersage von 1, obwohl die wahre Bezeichnung 1 ist). Die Zahl „b“ stellt die Vorhersagen dar, bei denen Modell 1 richtig und Modell 2 falsch ist, und Zahl „c“ stellt die Vorhersagen dar, bei denen Modell 1 falsch und Modell 2 richtig ist. Indem wir diese Zählungen für einen bestimmten Testdatensatz tabellarisch auflisten, können wir die Zwei-mal-Zwei-Konfusionsmatrix erstellen.

Mithilfe der Zwei-mal-Zwei-Konfusionsmatrix können wir verschiedene Metriken berechnen. Beispielsweise können wir die Vorhersagegenauigkeit für jedes Modell berechnen, indem wir die Anzahl „a“ und „b“ durch die Gesamtzahl der Beispiele im Testsatz dividieren. Darüber hinaus interessieren uns die Fälle, in denen sich Modell 1 und Modell 2 unterscheiden, dargestellt durch die Anzahl „b“ und „c“ in der Verwirrungsmatrix. Diese Fälle weisen darauf hin, dass ein Modell eine korrekte Vorhersage machte, während das andere eine falsche Vorhersage machte. Um die Leistung der beiden Modelle zu vergleichen, können wir den McNemar-Test durchführen.

Der McNemar-Test folgt einem typischen Hypothesentestverfahren. Wir definieren eine Nullhypothese und eine Alternativhypothese. Die Nullhypothese geht davon aus, dass die Leistungen der beiden Modelle gleich sind, während die Alternativhypothese davon ausgeht, dass sich ihre Leistungen unterscheiden. Wir berechnen eine Chi-Quadrat-Teststatistik, die eine Chi-Quadrat-Verteilung annähert. Die Teststatistik wird als (b – c)^2 / (b + c) berechnet. Basierend auf dieser Teststatistik berechnen wir einen p-Wert unter der Annahme, dass die Nullhypothese wahr ist. Der p-Wert stellt die Wahrscheinlichkeit dar, die gegebene Teststatistik oder einen extremeren Wert unter der Nullhypothese zu beobachten.

Um zu bestimmen, ob die Nullhypothese abzulehnen ist, vergleichen wir den p-Wert mit einem gewählten Signifikanzniveau (z. B. 0,05). Wenn der p-Wert kleiner als das Signifikanzniveau ist, lehnen wir die Nullhypothese ab und kommen zu dem Schluss, dass die Leistungen der beiden Modelle nicht gleich sind. Wenn umgekehrt der p-Wert größer als das Signifikanzniveau ist, können wir die Nullhypothese nicht ablehnen und davon ausgehen, dass die Leistungen der beiden Modelle gleich sind.

Die Kontinuitätskorrektur wurde eingeführt, um das Problem zu lösen, dass die Chi-Quadrat-Verteilung eine kontinuierliche Verteilung ist, während die Daten in der 2x2-Kontingenztabelle diskret sind. Durch Subtrahieren von 1 von der absoluten Differenz im Zähler trägt die Kontinuitätskorrektur zu einer besseren Annäherung an den p-Wert bei. Es ist jedoch wichtig zu beachten, dass der Einsatz einer Kontinuitätskorrektur nicht immer notwendig ist und vom spezifischen Kontext und den Daten abhängt.

Eine weitere Überlegung beim McNemar-Test ist die Verwendung des exakten Binomialtests. Der exakte Binomialtest bietet einen alternativen Ansatz zur Bestimmung der statistischen Signifikanz des McNemar-Tests, wenn die Stichprobengröße klein ist oder die Annahmen des Chi-Quadrat-Tests nicht erfüllt sind. Der exakte Binomialtest berechnet direkt die Wahrscheinlichkeit, die beobachteten Daten unter der Nullhypothese zu erhalten, ohne sich auf die Chi-Quadrat-Näherung zu verlassen.

Darüber hinaus kann der McNemar-Test erweitert werden, um mehr als zwei Modelle oder Behandlungen zu verarbeiten. In solchen Fällen kann der Test mit einem verallgemeinerten McNemar-Test oder einer Erweiterung namens Cochran-Mantel-Haenszel-Test durchgeführt werden. Diese Erweiterungen ermöglichen den gleichzeitigen Vergleich mehrerer Modelle oder Behandlungen unter Berücksichtigung der Abhängigkeiten zwischen den verschiedenen Gruppen.

Zusammenfassend ist der McNemar-Test ein nichtparametrischer statistischer Test, der zum Vergleich der Leistung zweier Modelle oder Behandlungen auf der Grundlage gepaarter kategorialer Daten verwendet wird. Es bietet eine Möglichkeit zu beurteilen, ob die Leistungsunterschiede zwischen den Modellen statistisch signifikant sind. Der Test umfasst die Erstellung einer 2x2-Kontingenztabelle und die Berechnung einer Teststatistik, die mit der Chi-Quadrat-Verteilung verglichen oder mithilfe des exakten Binomialtests ausgewertet werden kann. Durch die Durchführung des McNemar-Tests können Forscher Einblicke in die relative Leistung verschiedener Modelle oder Behandlungen in verschiedenen Bereichen gewinnen, darunter maschinelles Lernen, Medizin und Sozialwissenschaften.

11.2 McNemar's Test for Pairwise Classifier Comparison (L11 Model Eval. Part 4)
11.2 McNemar's Test for Pairwise Classifier Comparison (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video introduces McNemar's test, which is a nonparametric statistical test for comparing the performance of two models with each other on a given test s...
 

11.3 Mehrere paarweise Vergleiche (L11-Modellbewertung, Teil 4)


11.3 Mehrere paarweise Vergleiche (L11-Modellbewertung, Teil 4)

In dem Szenario, in dem Sie ein Modell haben, das Sie mit mehreren anderen Modellen vergleichen möchten, die in der Literatur oder auf Plattformen wie GitHub zu finden sind, kann die Durchführung paarweiser Vergleiche problematisch werden. Wenn Sie k verschiedene Modelle haben, würde die Durchführung eines paarweisen Tests für jedes Paar zu k mal (k - 1) / 2-Kombinationen führen, was eine große Zahl sein kann. Dies wirft Bedenken hinsichtlich der Fehlerquote bei der Durchführung mehrerer Hypothesentests auf.

Typischerweise werden Hypothesentests mit einem Signifikanzniveau von 0,05 oder weniger durchgeführt. Das heißt, wenn die Nullhypothese wahr ist, besteht eine Wahrscheinlichkeit von 5 %, dass sie fälschlicherweise abgelehnt wird, was zu einer Fehlerquote von 5 % führt. Wenn mehrere Tests durchgeführt werden, kann die Fehlerrate für die fälschliche Ablehnung einer Nullhypothese auf das r-fache von Alpha ansteigen, wobei r die Anzahl der durchgeführten Tests ist. Im schlimmsten Fall kann die Fehlerrate bis zum r-fachen Alpha betragen, wenn alle paarweisen Nullhypothesen wahr sind.

Um dieses Problem anzugehen, besteht ein gängiger Ansatz darin, ein geschütztes Verfahren zu verwenden, das einen zweistufigen Prozess umfasst. Der erste Schritt ist ein Sammeltest, bei dem Sie beurteilen, ob es einen signifikanten Unterschied in der Leistung aller Modelle zusammen gibt. Die Nullhypothese geht davon aus, dass die Klassifizierungsgenauigkeiten aller Modelle gleich sind, während die Alternativhypothese nahelegt, dass sie nicht gleich sind.

Wenn die Nullhypothese im Omnibus-Test abgelehnt wird, was darauf hinweist, dass es einen Unterschied in der Modellleistung gibt, können Sie mit dem zweiten Schritt fortfahren, der paarweise Post-hoc-Tests umfasst. Es ist jedoch wichtig, Anpassungen für mehrere Vergleiche vorzunehmen, um die Fehlerquote zu kontrollieren. Eine häufig verwendete Anpassungsmethode ist die Bonferroni-Methode, bei der das Signifikanzniveau durch die Anzahl der Vergleiche dividiert wird.

Für die paarweisen Tests kann der McNemar-Test verwendet werden. Es ist wichtig zu beachten, dass diese statistischen Verfahren zwar formaler Natur sind und wertvolle Erkenntnisse liefern, es in der Praxis des maschinellen Lernens jedoch nicht sehr üblich ist, derart umfangreiche Vergleiche durchzuführen. Typischerweise melden Forscher Vorhersagegenauigkeiten oder -fehler und ordnen die Modelle anhand ihrer Leistung ein.

Während der Cochran-Q-Test in der „mlxtend“-Bibliothek zum Vergleich mehrerer Modelle implementiert werden kann, ist es erwähnenswert, dass die Verwendung solcher Verfahren für den Vergleich mehrerer Modelle im Bereich des maschinellen Lernens noch relativ selten ist. Wenn Sie jedoch auf eine Situation stoßen, in der Sie mehrere Modelle vergleichen und statistische Tests durchführen möchten, können Sie diese Optionen erkunden und detailliertere Informationen in den Vorlesungsunterlagen und der relevanten Literatur finden.

Es ist wichtig zu beachten, dass diese Themen in dieser Vorlesung nicht ausführlich behandelt werden, um genügend Zeit für die Behandlung anderer wesentlicher Konzepte wie der Funktionsauswahl zu lassen.

Ein Problem bei Mehrfachvergleichen ist das erhöhte Risiko von Typ-I-Fehlern, auch Falsch-Positiv-Ergebnisse genannt. Bei der Durchführung mehrerer Tests besteht eine höhere Wahrscheinlichkeit, dass Nullhypothesen fälschlicherweise abgelehnt werden, was zu falschen Schlussfolgerungen führt. Um dies zu mildern, wenden Forscher häufig Anpassungsmethoden wie die Bonferroni-Korrektur oder die Kontrolle der Falscherkennungsrate (FDR) an.

Die Bonferroni-Korrektur ist eine konservative Anpassung, die das Signifikanzniveau (Alpha) durch die Anzahl der Vergleiche (k) dividiert. Dieses angepasste Signifikanzniveau, das als Alpha-Primzahl (α') bezeichnet wird, stellt sicher, dass die familienbezogene Gesamtfehlerrate unter Kontrolle bleibt. Durch die Bonferroni-Korrektur wird jeder einzelne paarweise Test auf Alpha/K-Ebene durchgeführt.

Eine weitere beliebte Methode ist die FDR-Kontrolle, die sich auf die Kontrolle des Anteils falscher Entdeckungen an allen Zurückweisungen konzentriert. Anstatt das Signifikanzniveau für jeden Vergleich zu reduzieren, passt die FDR-Kontrolle die p-Werte einzelner Tests an, um die Gesamtrate falscher Entdeckungen zu kontrollieren. Diese Methode ermöglicht im Vergleich zur Bonferroni-Korrektur eine weniger strenge Anpassung, was in Situationen mit einer großen Anzahl von Vergleichen von Vorteil sein kann.

Obwohl die Bonferroni-Korrektur und die FDR-Steuerung weit verbreitet sind, ist es wichtig zu beachten, dass sie ihre Grenzen haben. Die Bonferroni-Korrektur kann übermäßig konservativ sein und möglicherweise zu einem erhöhten Risiko von Typ-II-Fehlern oder falsch-negativen Ergebnissen führen. Andererseits hat die FDR-Kontrolle möglicherweise mehr Möglichkeiten, echte Unterschiede zu erkennen, kann aber auch das Risiko falsch positiver Ergebnisse erhöhen.

Im Zusammenhang mit maschinellem Lernen lohnt es sich zu überlegen, ob das Ziel darin besteht, paarweise Unterschiede umfassend zu bewerten oder das bzw. die leistungsstärksten Modelle zu identifizieren. Die Durchführung paarweiser Tests für alle möglichen Kombinationen kann rechenintensiv und zeitaufwändig sein. In der Praxis konzentrieren sich Forscher häufig auf die Einstufung der Modelle anhand ihrer Leistungsmetriken und die Identifizierung der leistungsstärksten Modelle, anstatt formale statistische Tests durchzuführen.

Es ist auch wichtig zu erkennen, dass statistische Tests nur ein Aspekt des Modellvergleichs sind. Bei der Bewertung und Auswahl von Modellen sollten auch andere Faktoren wie Interpretierbarkeit, Recheneffizienz, Domänenrelevanz und praktische Überlegungen berücksichtigt werden.

Zusammenfassend lässt sich sagen, dass Mehrfachvergleiche und statistische Tests zwar wertvolle Einblicke in Modellleistungsvergleiche liefern können, ihre praktische Anwendung beim maschinellen Lernen jedoch weniger verbreitet ist. Forscher verlassen sich häufig auf die Meldung von Vorhersagegenauigkeiten oder -fehlern, visuelle Vergleiche und Ranking-Modelle auf der Grundlage von Leistungsmetriken. Das Verständnis der zugrunde liegenden statistischen Konzepte und potenziellen Probleme bei Mehrfachvergleichen bleibt für die Durchführung gründlicher Untersuchungen und die genaue Interpretation der Ergebnisse von entscheidender Bedeutung.

11.3 Multiple Pairwise Comparisons (L11 Model Eval. Part 4)
11.3 Multiple Pairwise Comparisons (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video extends the concept of McNemar's test, which is a pairwise procedure, but recommending Cochran's Q (a generalization of McNemar's test) as an omni...
 

11.4 Statistische Tests zum Algorithmenvergleich (L11 Model Eval. Teil 4)


11.4 Statistische Tests zum Algorithmenvergleich (L11 Model Eval. Teil 4)

In den vorherigen Videos haben wir diskutiert, wie statistische Inferenz zum Vergleich verschiedener Modelle verwendet werden kann, die bereits an einen bestimmten Datensatz angepasst wurden. Jetzt werden wir statistische Tests untersuchen, die es uns ermöglichen, Algorithmen zu vergleichen. Das bedeutet, dass wir Modelle vergleichen können, die mit unterschiedlichen Trainingssätzen oder Trainingsteilmengen ausgestattet wurden. Diese Diskussion konzentriert sich auf die Anwendung statistischer Inferenz und verschiedener statistischer Tests zum Algorithmenvergleich.

Für den Vergleich von Algorithmen stehen mehrere statistische Tests mit jeweils eigenen Vor- und Nachteilen zur Verfügung. Im Skriptum finden Sie eine ausführlichere Erläuterung dieser Tests sowie weitere Materialien. Hier werde ich einen Überblick über die Tests geben und einige wichtige Punkte hervorheben.

Ein gängiger Test ist der McNemar-Test, der hauptsächlich zum Vergleich von Modellen und nicht von Algorithmen verwendet wird. Es ist erwähnenswert, weil es eine niedrige Falsch-Positiv-Rate aufweist und recheneffizient ist. Es ist jedoch nicht speziell für den Algorithmenvergleich konzipiert.

Ein weiterer Test ist der Proportionsunterschiedstest, der leider eine hohe Falsch-Positiv-Rate aufweist. Dieser Test erfordert die Anpassung mehrerer Modelle, wodurch er besser für den Algorithmusvergleich geeignet ist. Aufgrund der Notwendigkeit mehrerer Modellanpassungen kann dies jedoch rechenintensiv sein.

Der K-fach kreuzvalidierte t-Test ist eine weitere Methode zum Algorithmusvergleich. Es ermöglicht eine genauere Beurteilung, weist jedoch immer noch eine leicht erhöhte Falsch-Positiv-Rate auf. Trotz dieses Nachteils bleibt es ein nützlicher Test.

Der gepaarte t-Test mit wiederholter Kreuzvalidierung ist ein weiterer Ansatz, der die Anpassung mehrerer Modelle erfordert. Obwohl die Falsch-Positiv-Rate geringer ist als bei einigen anderen Tests, kann er aufgrund der wiederholten Modellanpassung dennoch rechenintensiv sein.

Eine fortgeschrittenere Technik ist der 5x2 kreuzvalidierte gepaarte t-Test, der im Vergleich zum McNemar-Test eine niedrige Falsch-Positiv-Rate und eine etwas höhere statistische Aussagekraft aufweist. Es bietet einen robusteren Ansatz für den Algorithmusvergleich. Darüber hinaus gibt es neuere Ansätze, wie den kreuzvalidierten gepaarten 5x2-F-Test, der weitere Verbesserungen bietet.

Im Skript gehe ich näher auf diese Tests und andere statistische Ansätze ein. Darüber hinaus habe ich die meisten dieser Tests in MLA extend implementiert, einer Bibliothek, die die Vorlesungsmaterialien begleitet. Sie finden Implementierungen des McNemar-Tests, des Cochrane-Q-Tests, des erneut abgetasteten gepaarten T-Tests (nicht empfohlen), des K-fach kreuzvalidierten gepaarten T-Tests, des 5x2 kreuzvalidierten kombinierten T-Tests und mehr.

Während statistische Tests wertvolle Erkenntnisse liefern, gibt es auch rechnerische oder empirische Ansätze für den Algorithmenvergleich. Im nächsten Video werden wir die Motivation hinter der Auswahl und dem Vergleich von Algorithmen in realen Anwendungen untersuchen. Beispielsweise möchten wir möglicherweise verschiedene Algorithmen vergleichen, um die beste Leistung in Szenarien wie der Entwicklung einer E-Mail-Anwendung oder der Erstellung eines Empfehlungssystems für Forschungsartikel zu ermitteln.

Zusammenfassend lässt sich sagen, dass für den Vergleich von Algorithmen mehrere statistische Tests verfügbar sind, jeder mit seinen Stärken und Einschränkungen. Diese Tests können Einblicke in die Leistungsunterschiede zwischen Algorithmen liefern, die mit unterschiedlichen Trainingssätzen ausgestattet sind. Bei der Auswahl eines geeigneten Tests ist es jedoch wichtig, die Recheneffizienz, die Falsch-Positiv-Rate und die statistische Aussagekraft zu berücksichtigen. Darüber hinaus können empirische Ansätze statistische Tests im Algorithmenvergleich ergänzen.

11.4 Statistical Tests for Algorithm Comparison (L11 Model Eval. Part 4)
11.4 Statistical Tests for Algorithm Comparison (L11 Model Eval. Part 4)
  • 2020.11.24
  • www.youtube.com
This video gives a brief overview of different statistical tests that exist for model and algorithm comparisons.More details in my article "Model Evaluation,...