Kreuzvalidierung beim maschinellen Lernen: 4 Arten der Kreuzvalidierung

Veröffentlicht: 2020-11-30

Inhaltsverzeichnis

Einführung

Die Modellentwicklung ist ein entscheidender Schritt in einem Data Science-Projektlebenszyklus, in dem wir versuchen werden, unseren Datensatz mit verschiedenen Arten von Modellen für maschinelles Lernen zu trainieren, entweder mit überwachten oder nicht überwachten Algorithmen, basierend auf dem Geschäftsproblem.

Da wir uns bewusst sind, dass wir viele Modelle haben, die zur Lösung eines Geschäftsproblems verwendet werden können, müssen wir sicherstellen, dass das Modell, das wir am Ende dieser Phase auswählen, mit den unsichtbaren Daten gut funktioniert. Wir können uns also nicht einfach an den Bewertungsmetriken orientieren, um unser leistungsstärkstes Modell auszuwählen.

Wir brauchen neben der Metrik noch etwas anderes, das uns bei der Entscheidung über unser endgültiges Modell für maschinelles Lernen helfen kann, das wir in der Produktion einsetzen können.

Der Prozess der Bestimmung, ob die mathematischen Ergebnisse, die Beziehungen zwischen Variablen berechnen, als Beschreibung der Daten akzeptabel sind, wird als Validierung bezeichnet . Normalerweise wird nach dem Training des Modells auf dem Zugdatensatz eine Fehlerschätzung für das Modell vorgenommen, besser bekannt als die Bewertung von Residuen.

In diesem Prozess messen wir den Trainingsfehler , indem wir die Differenz zwischen der vorhergesagten Reaktion und der ursprünglichen Reaktion berechnen. Dieser Metrik kann jedoch nicht vertraut werden, da sie nur mit den Trainingsdaten gut funktioniert. Es ist möglich, dass das Modell die Daten zu wenig oder zu stark anpasst .

Das Problem bei dieser Bewertungstechnik oder jeder anderen Bewertungsmetrik besteht also darin, dass sie keinen Hinweis darauf gibt, wie gut das Modell bei einem unsichtbaren Datensatz abschneiden wird. Die Technik, die hilft, dies über unser Modell zu erfahren, ist als Kreuzvalidierung bekannt .

In diesem Artikel werden wir mehr über die verschiedenen Arten von Kreuzvalidierungstechniken, Vor- und Nachteile jeder Technik erfahren. Beginnen wir mit der Definition von Cross-Validation.

Kreuzvalidierung

Cross-Validation ist eine Resampling-Technik, die dazu beiträgt, dass unser Modell hinsichtlich seiner Effizienz und Genauigkeit bei den unsichtbaren Daten sicher ist. Es ist eine Methode zur Bewertung von Modellen des maschinellen Lernens, indem mehrere andere Modelle des maschinellen Lernens auf Teilmengen des verfügbaren Eingabedatensatzes trainiert und auf der Teilmenge des Datensatzes ausgewertet werden.

Wir haben verschiedene Arten von Cross-Validation-Techniken, aber sehen wir uns die grundlegende Funktionalität der Cross-Validation an: Der erste Schritt besteht darin, den bereinigten Datensatz in K-Partitionen gleicher Größe zu unterteilen.

  1. Dann müssen wir den Fold-1 als Test-Fold behandeln, während der andere K-1 als Train-Folds behandelt wird, und die Punktzahl des Test-Folds berechnen.
  2. Wir müssen Schritt 2 für alle Faltungen wiederholen und eine weitere Faltung als Test nehmen, während wir als Zug bleiben.
  3. Der letzte Schritt wäre, den Durchschnitt der Punktzahlen aller Faltungen zu nehmen.

Lesen Sie: Machine Learning-Projekte für Anfänger

Arten der Kreuzvalidierung

1. Holdout-Methode

Bei dieser Technik wird ein Teil des Trainingsdatensatzes entfernt und an ein Modell gesendet, das mit dem Rest des Datensatzes trainiert wurde, um die Vorhersagen zu erhalten. Wir berechnen dann die Fehlerschätzung, die angibt, wie sich unser Modell auf unsichtbaren Datensätzen verhält. Dies ist als Holdout-Methode bekannt.

Vorteile

  1. Diese Methode ist völlig unabhängig von Daten.
  2. Diese Methode muss nur einmal ausgeführt werden und hat daher geringere Rechenkosten.

Nachteile

  1. Die Wertentwicklung unterliegt aufgrund der geringeren Datengröße einer höheren Varianz.

2. K-fache Kreuzvalidierung

In einer datengesteuerten Welt gibt es nie genug Daten, um Ihr Modell zu trainieren. Darüber hinaus stellt das Entfernen eines Teils davon zur Validierung ein größeres Problem des Underfitting dar, und wir riskieren, wichtige Muster und Trends in unserem Datensatz zu verlieren, was wiederum dazu führt erhöht Vorspannung. Idealerweise benötigen wir also eine Methode, die große Datenmengen zum Trainieren des Modells bereitstellt und große Datenmengen für Validierungssätze übrig lässt.

Bei der K-Fold-Kreuzvalidierung werden die Daten in k Teilmengen unterteilt, oder wir können sie als k-mal wiederholte Holdout-Methode verwenden, sodass jedes Mal eine der k Teilmengen als Validierungsmenge und die andere k-1 verwendet wird Teilmengen als Trainingsmenge. Der Fehler wird über alle k Versuche gemittelt, um die Gesamteffizienz unseres Modells zu erhalten.

Wir können sehen, dass jeder Datenpunkt genau einmal in einem Validierungssatz und k-1-mal in einem Trainingssatz enthalten sein wird. Dies hilft uns, Verzerrungen zu reduzieren, da wir die meisten Daten für die Anpassung verwenden, und reduziert die Varianz, da die meisten Daten auch im Validierungssatz verwendet werden.

Vorteile

  1. Dies wird dazu beitragen, das Problem der Rechenleistung zu überwinden.
  2. Modelle sind möglicherweise nicht sehr betroffen, wenn ein Ausreißer in den Daten vorhanden ist.
  3. Es hilft uns, das Problem der Variabilität zu überwinden.

Nachteile

  1. Unausgewogene Datensätze wirken sich auf unser Modell aus.

3. Stratifizierte K-Fold-Kreuzvalidierung

Die K-Fold-Kreuzvalidierungstechnik funktioniert bei einem unausgeglichenen Datensatz nicht wie erwartet. Wenn wir einen unausgeglichenen Datensatz haben, brauchen wir eine geringfügige Änderung an der K-Fold-Kreuzvalidierungstechnik, sodass jede Faltung ungefähr die gleichen Schichten von Proben jeder Ausgabeklasse enthält wie die vollständige. Diese Variation der Verwendung eines Stratums in der K-Fold-Kreuzvalidierung ist als stratifizierte K-Fold-Kreuzvalidierung bekannt.

Vorteile

  1. Es kann verschiedene Modelle mithilfe von Hyperparameter-Tuning verbessern.
  2. Hilft uns, Modelle zu vergleichen.
  3. Es hilft bei der Reduzierung von Bias und Varianz.

4. Leave-P-Out-Kreuzvalidierung

Bei diesem Ansatz lassen wir p Datenpunkte aus den Trainingsdaten von insgesamt n Datenpunkten, dann werden np Stichproben verwendet, um das Modell zu trainieren, und p Punkte werden als Validierungssatz verwendet. Dies wird für alle Kombinationen wiederholt, und dann wird der Fehler gemittelt.

Vorteile

  1. Es hat Null Zufälligkeit
  2. Die Vorspannung wird niedriger sein

Nachteile

  1. Dieses Verfahren ist erschöpfend und rechnerisch nicht durchführbar.

Lesen Sie auch: Karriere im maschinellen Lernen

Fazit

In diesem Artikel haben wir die Bedeutung der Validierung eines maschinellen Lernmodells im Lebenszyklus von Data Science-Projekten kennengelernt, erfahren, was Validierung und Kreuzvalidierung sind, die verschiedenen Arten von Kreuzvalidierungstechniken untersucht und einige kennengelernt Vor- und Nachteile dieser Techniken.

Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Welche Notwendigkeit besteht für die Kreuzvalidierung beim maschinellen Lernen?

Die Kreuzvalidierung ist eine Technik des maschinellen Lernens, bei der die Trainingsdaten in zwei Teile aufgeteilt werden: einen Trainingssatz und einen Testsatz. Das Trainingsset wird zum Erstellen des Modells verwendet, und das Testset wird verwendet, um zu bewerten, wie gut das Modell in der Produktion funktioniert. Der Grund dafür ist, dass das Risiko besteht, dass das von Ihnen erstellte Modell in der realen Welt nicht gut funktioniert. Wenn Sie Ihr Modell nicht kreuzvalidieren, besteht die Gefahr, dass Sie ein Modell erstellt haben, das mit den Trainingsdaten hervorragend funktioniert, aber mit den realen Daten nicht gut funktioniert.

Was ist k-fache Kreuzvalidierung?

Beim maschinellen Lernen und Data Mining ist die k-fache Kreuzvalidierung, manchmal auch Leave-One-Out-Kreuzvalidierung genannt, eine Form der Kreuzvalidierung, bei der die Trainingsdaten in k ungefähr gleiche Teilmengen unterteilt werden, wobei jede der k- 1 Teilmenge wird wiederum als Testdaten verwendet und die verbleibende Teilmenge wird als Trainingsdaten verwendet. K ist oft 10 oder 5. Die K-fache Kreuzvalidierung ist besonders nützlich bei der Modellauswahl, da sie die Varianz der Schätzungen des Generalisierungsfehlers reduziert.

Was sind die Vorteile der Kreuzvalidierung?

Die Kreuzvalidierung ist eine Form der Validierung, bei der der Datensatz in einen Trainingssatz und einen Testsatz (oder Kreuzvalidierungssatz) aufgeteilt wird. Dieses Set wird dann verwendet, um die Genauigkeit Ihres Modells zu testen. Mit anderen Worten, es gibt Ihnen eine Methode, um zu messen, wie gut Ihr Modell auf der Grundlage einer Stichprobe Ihrer Daten ist. Beispielsweise wird es verwendet, um den Fehler des Modells abzuschätzen, der durch die Diskrepanz zwischen der Trainingseingabe und der Testeingabe induziert wird.