ML_Geron_01 Flashcards Preview

Machine Learning - Jibun > ML_Geron_01 > Flashcards

Flashcards in ML_Geron_01 Deck (51)
Loading flashcards...
1

Was sind die zwei verbreitetsten Aufgaben beim überwachten Lernen?

Die zwei verbreitetsten Aufgaben beim überwachten Lernen sind Regression und Klassifikation.

2

Welche Art Algorithmus würden Sie verwenden, um Ihre Kunden in unterschiedliche Gruppen einzuteilen?

Wenn Sie nicht wissen, wie Sie die Gruppen definieren sollen, können Sie ein Clustering-Verfahren verwenden (unüberwachtes Lernen), um Ihre Kunden in Cluster jeweils ähnlicher Kunden zu segmentieren.

Wenn Sie dagegen die gewünschten Gruppen bereits kennen, können Sie einem Klassifikationsalgorithmus viele Beispiele aus jeder Gruppe zeigen (überwachtes Lernen) und alle Kunden in diese Gruppen einordnen lassen.

3

Was ist der Unterschied zwischen einem Modellparameter und einem Hyperparameter eines Lernalgorithmus?

Ein Modell besitzt einen oder mehr Modellparameter, die festlegen, wie Vorhersagen für einen neuen Datenpunkt getroffen werden (z.B. die Steigung eines linearen Modells).

Ein Lernalgorithmus versucht, optimale Werte für diese Parameter zu finden, sodass das Modell bei neuen Daten gut verallgemeinern kann.

Ein Hyperparameter ist ein Parameter des Lernalgorithmus selbst, nicht des Modells (z.B. die Menge zu verwendender Regularisierung).

4

Angenommen, Sie möchten Bilder als innen/außen und Tag/Nacht klassifizieren.

Sollten  Sie zwei Klassifikatoren mit logistischer  Regression oder einen Klassifikator mit Softmax-Regression erstellen?

Wenn Sie Bilder als außen/innen und Tag/Nacht klassifizieren möchten, schließen sich die Kategorien nicht gegenseitig aus (d.h., alle vier Kombinationen sind möglich).

Sie sollten daher zwei Klassifikatoren mit logistischer Regression trainieren.

5

Kann  das  Gradientenverfahren  bei  einem  logistischen  Regressionsmodell  in
einem lokalen Minimum stecken bleiben?

Das Gradientenverfahren kann beim Trainieren eines logistischen Regressionsmodells nicht in einem lokalen Minimum stecken bleiben, weil die Kostenfunktion konvex ist.

6

Nehmen wir an, Sie hätten einen SVM-Klassifikator mit RBF-Kernel trainiert.
Es sieht so aus, als würde Underfitting der Trainingsdaten vorliegen: Sollten
Sie γ (gamma) erhöhen oder senken? Wie sieht es mit C aus?

Wenn ein mit einem RBF-Kernel trainierter SVM-Klassifikator die Trainingsdaten underfittet, gibt es möglicherweise zu viel Regularisierung.

Um diese zu senken, müssen Sie gamma oder C erhöhen (oder beide).

7

Sie  verwenden  eine  polynomielle  Regression,  plotten  die  Lernkurven  und
bemerken, dass es zwischen dem Trainingsfehler und dem Validierungsfehler
einen großen Unterschied gibt. Was passiert? Nennen Sie drei Möglichkeiten,
dies zu beheben.

Wenn der Validierungsfehler deutlich höher als der Trainingsfehler ist, liegt es daran, dass Ihr Modell die Trainingsdaten overfittet.

Dies lässt sich beheben, indem Sie den Grad des Polynoms senken: Ein Modell mit weniger Freiheitsgraden neigt weniger zu Overfitting.

Sie können auch versuchen, das Modell zu regularisieren – beispielsweise über einen2 -Strafterm (Ridge) oder einen 1 -Strafterm (Lasso), der zur Kostenfunktion addiert wird. Damit reduzieren Sie auch die Freiheitsgrade des Modells.

Schließlich können Sie auch die Größe des Trainingsdatensatzes erhöhen.

8

Was ist ein gelabelter Trainingsdatensatz?

Ein gelabelter Trainingsdatensatz ist ein Trainingsdatensatz, der die gewünschte Lösung (das Label) für jeden Datenpunkt enthält.

9

Was ist Out-of-Core-Lernen?

Out-of-Core-Algorithmen können riesige Datenmengen verarbeiten, die nicht in den Hauptspeicher des Computers passen.

Ein Out-of-Core-Lernalgorithmus teilt die Daten in Mini-Batches ein und verwendet Techniken aus dem Online-Learning, um aus diesen Mini-Batches zu lernen.

10

Wie würden Sie Machine Learning definieren?

Beim Machine Learning geht es um das Konstruieren von Systemen, die aus Daten lernen können. Lernen bedeutet, sich bei einer Aufgabe anhand eines Qualitätsmaßes zu verbessern.

11

Welches Problem liegt vor, wenn Ihr Modell auf den Trainingsdaten eine sehr gute Leistung erbringt, aber schlecht auf neue Daten verallgemeinert?

Nennen Sie drei Lösungsansätze.

Wenn ein Modell auf den Trainingsdaten herausragend abschneidet, aber schlecht auf neue Datenpunkte verallgemeinert, liegt vermutlich Overfitting der Trainingsdaten vor (oder wir hatten bei den Trainingsdaten eine Menge Glück).

Gegenmaßnahmen bei Overfitting sind das

  • Beschaffen zusätzlicher Daten,
  • das Vereinfachen des Modells (Auswählen eines einfacheren Algorithmus, Reduzieren der Parameteranzahl oder Regularisierung des Modells) oder das
  • Verringern des Rauschens in den Trainingsdaten

12

Führen alle Algorithmen für das Gradientenverfahren zum gleichen Modell,
vorausgesetzt, sie laufen lange genug?

Wenn das Optimierungsproblem konvex (wie bei der linearen oder logistischen Regression) und die Lernrate nicht zu hoch ist, finden sämtliche algorithmischen Varianten des Gradientenverfahrens das globale Optimum und führen zu sehr ähnlichen Modellen.

Allerdings konvergieren das stochastische und das Mini-Batch-Gradientenverfahren nicht wirklich (es sei denn, Sie reduzieren die Lernrate), sondern springen um das globale Optimum herum. Das bedeutet, dass diese Algorithmen geringfügig unterschiedliche Modelle hervorbringen, selbst wenn Sie sie lange laufen lassen.

13

Was ist Kreuzvalidierung, und warum sollten Sie diese einem Validierungsdatensatz vorziehen?

Kreuzvalidierung ist eine Technik, mit der Sie Modelle vergleichen können (zur Parameterauswahl und zum Einstellen von Hyperparametern), ohne dass Sie einen separaten Validierungsdatensatz benötigen.

Damit sparen Sie wertvolle Trainingsdaten ein.

14

Was ist ein Online-Lernsystem?

Ein Online-Lernsystem kann im Gegensatz zu einem Batch-Lernsystem inkrementell lernen.

Dadurch ist es in der Lage, sich sowohl an sich schnell ändernde Daten oder autonome Systeme anzupassen als auch sehr große Mengen an Trainingsdaten zu verarbeiten.

15

Können Sie vier Arten von Aufgaben nennen, für die Machine Learning gut geeignet ist?

  • Machine Learning ist zum Lösen komplexer Aufgaben geeignet, bei denen es keine algorithmische Lösung gibt,
  • zum Ersetzen langer Listen händisch erstellter Regeln,
  • zum Erstellen von Systemen, die sich an wechselnde Bedingungen anpassen und schließlich dazu,
  • Menschen beim Lernen zu helfen (z.B. beim Data Mining).

16

Ist es eine gute Idee, das Mini-Batch-Gradientenverfahren sofort zu unterbrechen, sobald der Validierungsfehler steigt?

Wegen des Zufallselements gibt es weder beim stochastischen noch beim Mini-Batch-Gradientenverfahren eine Garantie für Fortschritte bei jeder Iteration.

Wenn Sie also das Trainieren abbrechen, sobald der Validierungsfehler steigt, kann es passieren, dass Sie vor Erreichen des Optimums abbrechen.

Es ist günstiger, das Modell in regelmäßigen Abständen abzuspeichern und das beste gespeicherte Modell aufzugreifen, falls es sich eine längere Zeit nicht verbessert (es also vermutlich den eigenen Rekord nicht knacken wird).

17

Was kann schiefgehen, wenn Sie Hyperparameter mithilfe der Testdaten einstellen?

Wenn Sie Hyperparameter mit den Testdaten einstellen, riskieren Sie ein Overfitting des Testdatensatzes.

Der gemessene Verallgemeinerungsfehler ist dann zu niedrig angesetzt (Sie könnten in diesem Fall also ein Modell einsetzen, das schlechter funktioniert als erwartet).

18

Können Sie vier verbreitete Aufgaben für unüberwachtes Lernen nennen?

Verbreitete unüberwachte Lernaufgaben sind

  • Clustering,
  • Visualisierung,
  • Dimensionsreduktion und das
  • Erlernen von Assoziationsregeln.

19

Können Sie vier der wichtigsten Herausforderungen beim Machine Learning benennen?

Zu den Hauptschwierigkeiten beim Machine Learning gehören

  • fehlende Daten,
  • mangelhafte Datenqualität,
  • nicht repräsentative Daten,
  • nicht informative Merkmale,
  • übermäßig einfache Modelle, die die Trainingsdaten underfitten und
  • übermäßig komplexe Modelle, die die Trainingsdaten overfitten.

20

Nehmen Sie an, dass die Merkmale in Ihrem Trainingsdatensatz unterschiedlich  skaliert  sind.  Welche  Algorithmen  würden  dadurch  in  Mitleidenschaft
gezogen und in welcher Weise? Was können Sie dagegen tun?

  • Wenn die Merkmale in Ihrem Trainingsdatensatz sehr unterschiedlich skaliert sind, hat die Kostenfunktion die Gestalt einer länglichen Schüssel. Deshalb benötigen die Algorithmen für das Gradientenverfahren lange zum Konvergieren. Um dieses Problem zu beheben, sollten Sie die Daten skalieren, bevor Sie das Modell trainieren.
  • Die Normalengleichung funktioniert auch ohne Skalierung.
  • Darüber hinaus können regularisierte Modelle mit nicht skalierten Merkmalen bei einer suboptimalen Lösung konvergieren: Weil die Regularisierung große Gewichte abstraft, werden Merkmale mit geringen Beträgen im Vergleich zu Merkmalen mit großen Beträgen tendenziell ignoriert.

21

Welcher der besprochenen Algorithmen für das Gradientenverfahren erreicht
die Umgebung der optimalen Lösung am schnellsten? Welcher konvergiert?
Wie können Sie auch die übrigen konvergieren lassen?

Die Trainingsiterationen sind beim stochastischen Gradientenverfahren am schnellsten, da es nur genau einen Trainingsdatenpunkt berücksichtigt. Es wird also normalerweise die Umgebung des globalen Optimums als Erstes erreichen (oder das Mini-Batch-Gradientenverfahren mit sehr kleinen MiniBatches).

Allerdings wird nur das Batch-Gradientenverfahren mit genug Trainingszeit auch konvergieren. Wie erwähnt, springen das stochastische und das Mini-Batch-Gradientenverfahren um das Optimum herum, es sei denn, Sie senken die Lernrate allmählich.

22

Was ist ein Stützvektor?

  • Nach dem Trainieren eines SVM ist jeder Datenpunkt an der »Straße« (siehe vorige Antwort) ein Stützvektor, einschließlich des Straßenrands.
  • Die Entscheidungsgrenze ist vollständig durch die Stützvektoren festgelegt. Jeder Datenpunkt, der kein Stützvektor ist (d.h. abseits der Straße liegt) hat darauf keinen Einfluss; Sie könnten diese entfernen, weitere Datenpunkte hinzufügen oder sie verschieben. Solange sie weg von der Straße bleiben, beeinflussen sie die Entscheidungsgrenze nicht.
  • Zum Berechnen einer Vorhersage sind nur die Stützvektoren nötig, nicht der gesamte Datensatz.

23

Was für einen Machine-Learning-Algorithmus würden Sie verwenden, um einen Roboter über verschiedene unbekannte Oberflächen laufen zu lassen?

Reinforcement Learning funktioniert voraussichtlich am besten, wenn ein Roboter lernen soll, in unbekanntem Gelände zu laufen, da Reinforcement Learning für diese Art Aufgabe verbreitet ist.

Die Aufgabe ließe sich auch als überwachte oder unüberwachte Aufgabe formulieren, diese Herangehensweise wäre aber weniger natürlich.

24

Was ist ein Testdatensatz, und warum sollten man einen verwenden?

Ein Testdatensatz hilft dabei, den Verallgemeinerungsfehler eines Modells auf neuen Datenpunkten abzuschätzen, bevor ein Modell in einer Produktionsumgebung eingesetzt wird.

25

Kann  ein  SVM-Klassifikator  einen  Konfidenzwert  ausgeben,  wenn  er  einen
Datenpunkt klassifiziert? Wie sieht es mit einer Wahrscheinlichkeit aus?

  • Ein SVM-Klassifikator kann den Abstand zwischen einem Testdatenpunkt und der Entscheidungsgrenze ausgeben, und Sie können diese als Konfidenzmaß interpretieren.
  • Allerdings lässt sich dieser Score nicht direkt in eine Schätzung der Wahrscheinlichkeit einer Kategorie umrechnen. Wenn Sie beim Erstellen eines SVM in Scikit-Learn probability=True einstellen, werden die Wahrscheinlichkeiten mithilfe einer logistischen Regression auf den Scores der SVM kalibriert (das zusätzlich mit fünffacher Kreuzvalidierung auf den Trainingsdaten trainiert wird).
  • Damit erhalten Sie auch für ein SVM die Methoden predict_proba() und predict_log_proba().

26

Welche Art Lernalgorithmus beruht auf einem Ähnlichkeitsmaß, um Vorhersagen zu treffen?

Ein instanzbasiertes Lernsystem lernt die Trainingsdaten auswendig; anschließend wendet es ein Ähnlichkeitsmaß auf neue Datenpunkte an, um die dazu ähnlichsten erlernten Datenpunkte zu finden und diese zur Vorhersage zu verwenden.

27

Warum ist es wichtig, beim Verwenden von SVMs die Eingabedaten zu skalieren?

SVMs versuchen, die breitestmögliche »Straße« zwischen den Kategorien einzufügen.

Wenn also die Trainingsdaten nicht skaliert sind, neigt das SVM dazu, kleine Merkmale zu ignorieren (siehe Abbildung 5-2).

28

Was ist die Support Vector Machines zugrunde liegende Idee?

Der Grundgedanke bei Support Vector Machines ist, die breitestmögliche »Straße« zwischen den Kategorien zu fitten. Anders ausgedrückt, soll zwischen der Entscheidungsgrenze zwischen den beiden Kategorien und den Trainingsdatenpunkten eine möglichst große Lücke sein.

Bei der Soft-Margin-Klassifikation sucht das SVM nach einem Kompromiss zwischen einer perfekten Trennung zwischen den Kategorien und der breitestmöglichen Straße (d.h., einige Datenpunkte dürfen auf der Straße liegen).

Eine weiteres wichtiges Konzept ist die Verwendung von Kernels beim Trainieren nichtlinearer Datensätze.

29

Sollten Sie die primale oder die duale Form des SVM-Problems verwenden,
um ein Modell mit Millionen Datenpunkten und Hunderten Merkmalen zu
trainieren?

  • Diese Frage betrifft nur lineare SVMs, da Kernel-SVMs nur die duale Form verwenden können.
  • Die Komplexität der Berechnung der primalen Form ist proportional zur Anzahl der Trainingsdatenpunkte m, während sie bei der dualen Form zu einer Zahl zwischen m2 und m3 proportional ist.
  • Wenn es also Millionen Datenpunkte gibt, sollten Sie auf jeden Fall die primale Form verwenden, weil die duale Form viel zu langsam wird.

30

Welche Gründe sprechen für folgende Verfahren?
– Ridge-Regression anstatt einer einfachen linearen Regression (d.h. ohne
Regularisierung)?
– Lasso anstelle einer Ridge-Regression?
– Elastic Net anstelle von Lasso?

  • Ein Modell mit etwas Regularisierung arbeitet in der Regel besser als ein Modell ohne Regularisierung. Daher sollten Sie grundsätzlich die Ridge-Regression der einfachen linearen Regression vorziehen.
  • Die Lasso-Regression verwendet einen 1 -Strafterm, wodurch Gewichte auf exakt null heruntergedrückt werden. Dadurch erhalten Sie spärliche Modelle, bei denen alle Gewichte außer den wichtigsten null sind. Auf diese Weise können Sie eine automatische Merkmalsauswahl durchführen, wenn Sie ohnehin schon den Verdacht hegen, dass nur einige Merkmale wichtig sind. Wenn Sie sich nicht sicher sind, sollten Sie der Ridge-Regression den Vorzug geben.
  • Elastic Net ist grundsätzlich gegenüber der Lasso-Regression vorzuziehen, da sich Lasso in einigen Fällen sprunghaft verhält (wenn mehrere Merkmale stark miteinander korrelieren oder es mehr Merkmale als Trainingsdatenpunkte gibt). Allerdings gilt es einen zusätzlichen Hyperparameter einzustellen. Wenn Sie Lasso ohne das sprunghafte Verhalten verwenden möchten, können Sie einfach Elastic Net mit einer l1_ratio um 1 verwenden.