[PYTHON] [Lesehinweis] Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow Kapitel 1

The Machine Learning Landscape

Why Use Machine Learning? Das Programmieren eines Spamfilters ist der nächste Schritt.

  1. Beachten Sie, dass die Spam-E-Mail eine bestimmte Sprache verwendet. Der Name des Absenders und die Zusammensetzung der E-Mails enthalten ein Muster.
  2. Schreiben Sie ein Programm, das solche Muster erkennt. Wenn eine bestimmte Anzahl von Mustern erkannt wird, kennzeichnen Sie es als Spam-Mail.
  3. Führen Sie das Programm aus und wiederholen Sie die Schritte 1 und 2.

Ein Programm zum Erkennen von Spam-Mails ist schwierig zu warten, da es viele Regeln enthält. Wenn Sie jedoch einen Spam-Filter durch maschinelles Lernen erstellen, lässt sich das Programm leicht kurz halten. Und genauer.

Wenn der Spamer beim Schreiben eines Programms weiß, mit welchem Wort Spam erkannt wird, kann er den Spamfilter mit einem anderen Wort umgehen. Wenn Sie ein Programm schreiben, müssen Sie neue Regeln hinzufügen. Bei Spam-Filtern, die auf maschinellem Lernen basieren, kann dies jedoch automatisch erfolgen.

Types of Machine Learning Systems

Die Unterscheidung zwischen überwachtem und unbeaufsichtigtem Lernen, Batch-Lernen und Offline-Lernen sowie instanzbasiertem und modellbasiertem Lernen.

Supervised/Unsupervised Learning ・ Beim überwachten Lernen enthalten die Trainingsdaten ein Etikett. • Eine typische überwachte Lernaufgabe ist die Klassifizierung, z. B. ein Spamfilter. -Eine andere Aufgabe ist die Vorhersage, zum Beispiel die Vorhersage des Preises eines Autos.

Methode ・ K Nachbarschaftsmethode · Lineare Regression ・ Logistische Rendite ・ Vektormaschine unterstützen ・ Entscheidungsbaum und zufälliger Wald ·neurales Netzwerk

Unsupervised learning

Methodenclustering ・ K-Durchschnittsmethode ・ DBSCAN ・ Hierarchisches Clustering

-Visualisierung zielt darauf ab, Daten in einem zweidimensionalen oder dreidimensionalen Raum zu zeichnen, und das Löschen von Dimensionen zielt darauf ab, die Daten zu vereinfachen, ohne viele Informationen zu reduzieren.

Technikvisualisierung und Dimensionsentfernung ・ Hauptkomponentenanalyse (PCA) ・ Kernel PCA ・ Lokal-lineare Einbettung (LLE) ・ T-verteilte stochastische Nachbareinbettung (t-SNE)

Methode Erkennung von Anomalien und Erkennung von Neuheiten ・ SVM einer Klasse ・ Isolationswald

Methodenassoziationsregel lernen ・ Aprili ・ Eclat

Semisupervised learning ・ Halbüberwachtes Lernen ist ein Algorithmus, der Daten mit wenigen Bezeichnungen und Daten ohne viele Bezeichnungen verarbeitet. Beispielsweise wird festgestellt, ob das Gesicht mit dem Gesicht auf einem anderen Foto in einem Foto identisch ist oder nicht.

Reinforcement Learning ・ Intensivierungslernen lernt Richtlinien (Definition des Verhaltens in einer bestimmten Situation), indem die Umgebung beobachtet, Aktionen ausgewählt, Aktionen ausgeführt und Belohnungen erhalten werden. Wenn ein Roboter beispielsweise das Laufen lernt, wird er in AlphaGO verwendet.

Batch and Online Learning Batch learning ・ Wer nicht neu lernen kann, wird als Offline-Lernen bezeichnet.

Online learning

Instance-Based Versus Model-Based Learning Instance-based learning ・ Sofortbasiertes Lernen ist die Verallgemeinerung neuer Beispiele durch Vergleich der erlernten Beispiele mit neuen Beispielen auf der Grundlage eines Ähnlichkeitsmaßes. Zum Beispiel Junk-Mail-Filterung. (Es schien unbeaufsichtigt zu lernen, aber es beinhaltet auch die K-Nachbarschaftsmethode)

Model-based learning

Main Challenges of Machine Learning Wichtige Punkte beim maschinellen Lernen ・ Kleinkinder können "Äpfel" erkennen, indem sie einfach mit den Fingern zeigen und "Äpfel" sagen, maschinelles Lernen jedoch nicht. 1000, 1.000.000 Daten sind erforderlich. -Wenn die Stichprobe selbst für einen sehr großen Datensatz schlecht ist, handelt es sich nicht um typische Daten. -Wenn die Trainingsdaten mit Fehlern, Ausreißern und Rauschen überflutet sind, ist es für das System schwierig, das Muster zu erkennen, sodass eine Vorverarbeitung erforderlich ist. ・ Feature Quantity Engineering ist wichtig ・ Überanpassung ist gefährlich. Um eine Überanpassung zu vermeiden, vereinfachen Sie das Modell, um es regelmäßig zu machen, und passen Sie die Hyperparameter an. ・ Unteranpassung ist das Gegenteil von Überanpassung. Ursache dafür, dass das Modell zu einfach ist.

Testing and Validating

Data Mismatch -Obwohl Daten leicht abgerufen werden können, stellen sie möglicherweise nicht die in der Produktion verwendeten Daten dar.

End-to-End Machine Learning Project

Veröffentlichter Datensatz — UC Irvine Machine Learning Repository — Kaggle datasets — Amazon’s AWS datasets • Meta portals (they list open data repositories): — http://dataportals.org/ — http://opendatamonitor.eu/ — http://quandl.com/ • Other pages listing many popular open data repositories: — Wikipedia’s list of Machine Learning datasets — Quora.com question — Datasets subreddit

Bewertungsfunktion der Regressionsanalyse · Quadratwurzel des mittleren Quadratfehlers (RMSE) ・ Durchschnittlicher absoluter Fehler (RMSE)

Data Snooping Bias Wenn Sie die Eigenschaften von Daten übersehen, werden Sie eine überangepasste Hypothese erstellen. Daher ist es besser, den Algorithmus zu wählen, der in Maßen verwendet wird.

Recommended Posts

[Lesehinweis] Praktisches maschinelles Lernen mit Scikit-Learn, Keras und TensorFlow Kapitel 1
[Memo / Erstellen] "Praktisches maschinelles Lernen mit Scikit-Learn & TensorFlow" Englische Übersetzung ins Japanische
Praktisches maschinelles Lernen mit Scikit-Learn und TensorFlow-TensorFlow gab auf-
Erstellen Sie mit VirtualBox und Ubuntu eine Scikit-Lernumgebung für maschinelles Lernen
SVM versucht maschinelles Lernen mit Scikit-Learn
Persönliche Notizen und Links zum maschinellen Lernen ① (Maschinelles Lernen)
TensorFlow Kochbuch zum maschinellen Lernen Kapitel 3 Persönlich verstopft
TensorFlow Machine Learning Cookbook Kapitel 6 (oder besser gesagt die dritte Zeile), in dem ich persönlich feststeckte
Maschinelles Lernen mit Docker (40) mit Anaconda (40) "Hands-On Data Science und Python Machine Learning" von Frank Kane
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 11 und 12 Einführung in Pandas Matplotlib
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
[Maschinelles Lernen] SVM sowohl aus Scikit-Lernen als auch aus Mathematik verstehen
Deep Learning Bildanalyse beginnend mit Kaggle und Keras
Daten mit TensorFlow lesen
Maschinelles Lernen (TensorFlow) + Lotto 6
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Lernen Sie Wasserstein GAN mit Keras-Modell und TensorFlow-Optimierung
So zeichnen Sie interaktiv eine Pipeline für maschinelles Lernen mit scikit-learn und speichern sie in HTML
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
[TensorFlow 2 / Keras] Ausführen des Lernens mit CTC Loss in Keras
[Maschinelles Lernen] Entscheidungsbäume aus Scikit-Lernen und Mathematik verstehen
Für diejenigen, die mit TensorFlow2 maschinelles Lernen beginnen möchten
Maschinelles Lernen mit Nogisaka 46 und Keyakizaka 46 Teil 1 Einführung
[Maschinelles Lernen] Verständnis der logistischen Regression sowohl durch Scikit-Lernen als auch durch Mathematik
Maschinelles Lernen mit Pokemon gelernt
Versuchen Sie es mit TensorFlow
Grundlagen des maschinellen Lernens (Denkmal)
AutoEncodder-Notizen mit Keras
Maschinelles Lernen mit Python! Vorbereitung
Maschinelles Lernen Minesweeper mit PyTorch
Maschinelles Lernen und mathematische Optimierung
Beginnend mit maschinellem Python-Lernen
Versuchen Sie es mit Kaggle leicht maschinell
Ich berührte Tensorflow und Keras
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8
[Maschinelles Lernen] Versuchen Sie, Spark MLlib mit Python auszuführen, und geben Sie Empfehlungen ab
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 10 6-9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 10
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 5-7
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 1-2
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
[Maschinelles Lernen] Verstehen der linearen multiplen Regression sowohl aus Scikit-Lernen als auch aus Mathematik
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 9 Einführung in das Scikit-Lernen
"Gauß-Prozess und maschinelles Lernen" Gauß-Prozessregression nur mit Python-Numpy implementiert
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3 ~ 5
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8 5-9
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 8 1-4
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 12 3
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 8
Deep Learning mit Shogi AI auf Mac und Google Colab Kapitel 7 1-4
<Kurs> Maschinelles Lernen Kapitel 6: Algorithmus 2 (k-Mittel)
MNIST (DCNN) mit Keras (TensorFlow-Backend)
[Sprachverarbeitung 100 Schläge 2020] Kapitel 6: Maschinelles Lernen
Bildsegmentierung mit Scikit-Image und Scikit-Learn
Ich habe maschinelles Lernen mit liblinear versucht