Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow. Aurélien Géron

Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow - Aurélien Géron


Скачать книгу
Modell trainieren, um den mittleren Immobilienpreis eines Bezirks aus anderen Angaben über den Bezirk vorherzusagen. Die Daten aus der Volkszählung könnten eine großartige, für diesen Zweck gut nutzbare Datenquelle sein, da sie den mittleren Immobilienpreis und andere Daten für Tausende Bezirke enthalten.

      Mit all diesen Informationen sind Sie nun so weit, Ihr System zu entwerfen. Erstens müssen Sie Ihre Aufgabe abstecken: Handelt es sich um überwachtes Lernen, unüberwachtes Lernen oder Reinforcement Learning? Ist es eine Klassifikationsaufgabe, eine Regressionsaufgabe oder etwas anderes? Sollten Sie Techniken aus dem Batch-Learning oder Online-Learning verwenden? Bevor Sie weiterlesen, nehmen Sie sich einen Moment Zeit, und versuchen Sie, sich diese Fragen selbst zu beantworten.

      Haben Sie die Antworten gefunden? Schauen wir einmal: Es ist ganz klar eine typische überwachte Lernaufgabe, da Ihnen Lernbeispiele mit Labels zur Verfügung stehen (jeder Datenpunkt enthält die erwartete Ausgabe, d.h. den mittleren Immobilienpreis eines Bezirks). Es ist außerdem eine typische Regressionsaufgabe, da Sie einen Zahlenwert vorhersagen sollen. Genauer gesagt, handelt es sich um eine multiple Regressionsaufgabe, da das System mehrere Eigenschaften zum Treffen einer Vorhersage heranziehen wird (die Bevölkerung eines Bezirks, das mittlere Einkommen und so weiter). Gleichzeitig ist es auch eine eine univariate Regressionsaufgabe, da wir nur versuchen, für jeden Bezirk einen einzelnen Wert vorherzusagen. Würden wir versuchen, mehrere Werte pro Bezirk vorherzusagen, handelte es sich um eine multivariate Regressionsaufgabe. Schließlich gibt es keinen kontinuierlichen Strom neuer Daten in das System. Es gibt keinen besonderen Grund, sich auf schnell veränderliche Daten einzustellen, und der Datensatz ist so klein, dass er im Speicher Platz findet. Daher reicht gewöhnliches Batch-Learning völlig aus.

image Wenn die Datenmenge riesig wäre, könnten Sie das Batch-Learning entweder auf mehrere Server verteilen (z.B. mit der MapReduce-Technik) oder stattdessen eine Technik zum Online-Learning verwenden.

       Wähle ein Qualitätsmaß aus

      Der nächste Schritt besteht darin, ein geeignetes Qualitätsmaß auszuwählen. Ein typisches Qualitätsmaß für Regressionsaufgaben ist die Wurzel der mittleren quadratischen Abweichung (RMSE). Sie entspricht der Größe des Fehlers, den das System im Mittel bei Vorhersagen macht, wobei großen Fehlern ein höheres Gewicht beigemessen wird. Formel 2-1 zeigt die mathematische Formel zur Berechnung des RMSE.

       Formel 2-1: Wurzel der mittleren quadratischen Abweichung (RMSE)

image

       Schreibweisen

      In dieser Gleichung werden mehrere im Machine Learning übliche Schreibweisen verwendet, die wir im gesamten Buch wiedersehen werden:

       m ist die Anzahl Datenpunkte im Datensatz, für den der RMSE bestimmt wird.– Wenn Sie beispielsweise den RMSE für einen Validierungsdatensatz mit 2.000 Bezirken auswerten, dann gilt m = 2000.

       x(i) ist ein Vektor der Werte aller Merkmale (ohne das Label) des i. Datenpunkts im Datensatz, und y(i) ist das dazugehörige Label (der gewünschte Ausgabewert für diesen Datenpunkt).– Wenn der erste Bezirk beispielsweise bei –118,29° Länge und 33,91° nördlicher Breite liegt, 1.416 Einwohner mit einem mittleren Einkommen von 38.372 USD hat und der mittlere Immobilienpreis 156.400 USD beträgt (die übrigen Merkmale ignorieren wir noch), dann gilt:und:y(1) = 156400

       X ist eine Matrix mit den Werten sämtlicher Merkmale (ohne Labels) für alle Datenpunkte im Datensatz. Pro Datenpunkt gibt es eine Zeile, und die i. Zeile entspricht der transponierten Form von x(i), auch als (x(i))T geschrieben.4– Beispielsweise sieht die Matrix X für den oben beschriebenen ersten Bezirk folgendermaßen aus:

       h ist die Vorhersagefunktion Ihres Systems, auch Hypothese genannt. Wenn Ihr System den Merkmalsvektor eines Datenpunkts x(i) erhält, gibt es den Vorhersagewert ŷ(i) = h(x(i)) für diesen Datenpunkt aus.– Sagt Ihr System beispielsweise im ersten Bezirk einen mittleren Immobilienpreis von 158.400 USD vorher, so ist ŷ(1) = h(x(1)) = 158400. Der Vorhersagefehler für diesen Bezirk ist dann ŷ(1) – y(1) = 2000.

       RMSE(X,h) ist die auf den Beispieldaten mit Ihrer Hypothese h gemessene Kostenfunktion.

      Wir verwenden kursive Kleinbuchstaben für Skalare (wie m oder y(i)) und Funktionen (wie h), fett gedruckte Kleinbuchstaben für Vektoren (wie x(i)) und fett gedruckte Großbuchstaben für Matrizen (wie X).

      Obwohl der RMSE bei Regressionsaufgaben grundsätzlich das Qualitätsmaß erster Wahl ist, sollten Sie in manchen Situationen eine andere Funktion vorziehen. Nehmen wir an, es gäbe viele Ausreißer unter den Bezirken. In diesem Fall könnten Sie den mittleren absoluten Fehler (MAE, auch als mittlere absolute Abweichung bezeichnet; siehe Formel 2-2) berücksichtigen:

       Formel 2-2: mittlerer absoluter Fehler

image

      Sowohl RMSE als auch MAE quantifizieren den Abstand zwischen zwei Vektoren: dem Vektor aller Vorhersagen und dem Vektor mit den Zielwerten. Dabei sind unterschiedliche Abstandsmaße oder Normen möglich:

       Die Wurzel einer quadratischen Summe (RMSE) entspricht dem euklidischen Abstand: Dies ist der Ihnen vertraute Abstand. Sie wird auch als 2-Norm oder || · ||2 (oder einfach || · ||) bezeichnet.

       Das Berechnen einer Summe von Absolutwerten (MAE) entspricht der 1-Norm, geschrieben als || · ||1. Diese nennt man bisweilen auch Manhattan-Metrik, da sie den Abstand zwischen zwei Punkten in einer Stadt angibt, in der man sich nur entlang rechtwinkliger Häuserblöcke bewegen kann.

       Allgemeiner ist die k-Norm eines Vektors v mit n Elementen als definiert. 0 gibt einfach nur die Anzahl der Elemente ungleich null im Vektor wieder, und ∞ berechnet den größten Absolutwert im Vektor.

       Je höher der Index einer Norm ist, umso stärker berücksichtigt er große Werte und vernachlässigt kleinere. Deshalb ist der RMSE empfindlicher für Ausreißer als der MAE. Sind Ausreißer aber exponentiell selten (wie in einer Glockenkurve), funktioniert der RMSE sehr gut und ist grundsätzlich vorzuziehen.

       Überprüfe die Annahmen

      Es ist eine gute Angewohnheit, die bisher (von Ihnen oder von anderen) getroffenen Annahmen aufzuschreiben und zu überprüfen; damit können Sie größere Schwierigkeiten früh erkennen. Die von Ihrem System vorhergesagten Preise für einzelne Bezirke werden in ein nachgeschaltetes Machine-Learning-System eingegeben. Wir nehmen an, dass die Preise als solche verwendet werden. Was aber, wenn das nachgeschaltete System stattdessen die Preise in Kategorien einteilt (z.B. »günstig«, »mittel« oder »teuer«) und anstelle der Preise dann diese Kategorien verwendet? In dem Fall wäre es überhaupt nicht wichtig, den Preis genau vorherzusagen; Ihr System müsste lediglich die Kategorie richtig bestimmen. Ist das der Fall, sollte die Aufgabe


Скачать книгу