[PYTHON] Lernrekord 9 (13. Tag)

Lernrekord (13. Tag)

Beginn des Studiums: Samstag, 7. Dezember

Unterrichtsmaterialien usw.: ・ Miyuki Oshige "Details! Python3 Introductory Note ”(Sotech, 2017): 19.12. (Donnerstag) Abgeschlossen ・ Progate Python-Kurs (insgesamt 5 Kurse): Endet am Samstag, den 21. Dezember ・ ** Andreas C. Müller, Sarah Guido "(japanischer Titel) Maschinelles Lernen ab Python" (O'Reilly Japan, 2017) **: Samstag, 21. Dezember

Kapitel 1 Einleitung

-Um das Modell des maschinellen Lernens auf neue Daten anzuwenden, muss es gut verallgemeinert werden. ・ Im Allgemeinen werden ca. 25% der Daten dem Testsatz zugewiesen. • Beobachten Sie zuerst die Daten, um festzustellen, ob maschinelles Lernen erforderlich ist und ob sie die erforderlichen Daten enthalten. -Es gibt eine Methode zur Beobachtung durch Erstellen eines Paardiagramms usw. durch Streumatrix von Pandas.

Kapitel 2 Betreutes Lernen

・ Es kann grob in zwei Typen unterteilt werden: Klassifizierung und Regression. Wenn es Kontinuität gibt, kann man sagen, dass es das letztere ist. -Suche nach Sweet Spots, die die beste Generalisierungsleistung im Kompromiss zwischen Unteranpassung und Überanpassung zeigen.

K-Neighbors Classifier

-Finden Sie den nächstgelegenen Punkt aus dem Trainingsdatensatz. · Gute Basis für kleine Daten -In vielen Fällen zeigt es eine ausreichend hohe Leistung ohne große Anpassung. Verwenden Sie es als Basis, bevor Sie fortschrittlichere Technologien verwenden. -Jedoch funktioniert es nicht gut mit einem Datensatz mit einer großen Anzahl von Features (Hunderte oder mehr), und die Leistung verschlechtert sich mit einem spärlichen Dataset, bei dem die meisten Features in vielen Fällen 0 sind.

Lineares Modell

-Vorhersage mit der linearen Funktion der Eingabefunktionen. (Bild des Zeichnens einer Linie, damit sie den Daten am nächsten kommt) -Sehr effektiv bei einer großen Anzahl von Funktionen. Algorithmen, die Sie zuerst ausprobieren sollten ・ Wenn sich die Leistung des Trainingssatzes und des Testsatzes erheblich unterscheiden, ist dies ein Zeichen für Überkonformität. Im Gegenteil, wenn es zu nahe ist, ist es ein Zeichen für unzureichende Konformität. ・ Ridge: Eine der Regressionen des linearen Modells. Es gibt starke Einschränkungen und es besteht nur ein geringes Risiko einer Überanpassung. Hohe Generalisierungsleistung. -Lasso: Ein Bild, das automatisch den Funktionsumfang auswählt. Zum Beispiel, wenn erwartet wird, dass es viele Merkmale gibt, aber nur wenige mit einem hohen Grad an Judo. -Scikit-learn hat auch eine ElasticNet-Klasse, die die beiden oben genannten kombiniert. LogisticRegression: Ein lineares Modell zur Klassifizierung -Linear Support Vector Machine (linearSVM): Wie oben

Naive Bayes Class Classifier

Entscheidungsbaum

Ensembles von Entscheidungsbäumen

・ Eine Methode zum Erstellen eines kooperativeren Modells durch Kombination mehrerer Modelle für maschinelles Lernen

Zufälliger Wald

・ Eine der Methoden, um das Problem von Entscheidungsbäumen zu lösen, die zu stark mit Trainingsdaten übereinstimmen. ・ Die am häufigsten verwendete Methode des maschinellen Lernens für Regression und Klassifizierung -Nicht für hochdimensionale, spärliche Daten geeignet. ・ Der Grad der Überanpassung kann verringert werden, indem viele Entscheidungsbäume erstellt werden, die in verschiedene Richtungen überanpassen, und der Durchschnitt ermittelt wird. -Bootstrap-Beispiel: Datenpunkte werden zufällig wiederhergestellt und extrahiert. Erstellen Sie einen Entscheidungsbaum mit dem fertigen neuen Datensatz. Wählen Sie die Teilmenge des Funktionsbetrags aus, während Sie sie mit max_fearture steuern.

Gradientenverstärkung

・ Korrigieren Sie den Fehler des vorherigen Entscheidungsbaums um den nächsten Entscheidungsbaum. ・ Eine große Anzahl schwacher Lernender wird kombiniert und konfiguriert.

Unterstützt Vektormaschinen mit der Kernel-Methode

-Eine Erweiterung der linearen SVM, um komplexere Modelle zu ermöglichen. -Powerful für mittelgroße Datensätze, die aus Features mit ähnlichen Bedeutungen bestehen. Parameterempfindlich. -Lineare Modelle in geringen Abmessungen sind sehr restriktiv, da gerade Linien und Superplanes die Flexibilität einschränken. Um es flexibler zu machen, verwenden wir die Interaktion (Produkt) von Eingabemerkmalen und Polynomausdrücken. Gaußscher Kernel: Berechnet alle Polynome bis zu einer bestimmten Reihenfolge der ursprünglichen Merkmale. Polynomkern Radiale Basisfunktion (RBF) • Nur bestimmte Trainingsdaten an der Grenze zwischen den beiden Klassen bestimmen die Entscheidungsgrenze. Diese Datenpunkte werden als Unterstützungsvektoren bezeichnet. (Ursprung des Namens) -Differenzen in den Details von Features wirken sich zerstörerisch auf SVM aus. Um dies zu lösen, gibt es eine Methode namens Min-Max-Skalierer als eine der Konvertierungsmethoden, sodass alle fast den gleichen Maßstab haben. (Setzen Sie es zwischen 0 und 1) -Die Stärke besteht darin, dass komplexe Entscheidungsgrenzen generiert werden können, selbst wenn die Daten nur eine geringe Anzahl von Funktionen aufweisen. -Das Problem ist, dass die Daten sorgfältig vorverarbeitet und die Parameter angepasst werden müssen. Aus diesem Grund verwenden viele Apps entscheidungsbaumbasierte Modelle wie die Gradientenverstärkung. Darüber hinaus ist es schwierig, den Grund für eine bestimmte Vorhersage zu überprüfen und zu verstehen, und es ist schwierig, dies Nichtfachleuten zu erklären. Es lohnt sich jedoch, SVMwo für die Ergebnisse von Messgeräten mit ähnlichen Funktionen wie Kamerapixeln auszuprobieren. -Die Parameter gamma (Umkehrung der Breite des Gaußschen Kernels) und C (Regularisierungsparameter) sind wichtig.

Neuronales Netz (Deep Learning)

・ Über Multilayer Perceptron (MLP) -Effektiv für besonders große Datenmengen. Parameterempfindlich. Training braucht Zeit. ・ Die Gewichtung der Eingabe zur Ausgabe ist in MLP wichtig

ConvergenceWarning: #Konvergenzwarnung:
 Stochastic Optimizer: Maximum iterations reached and the optimization
 hasn't converged yet. #Probabilistischer Optimierer:Die Anzahl der Iterationen hat die Obergrenze erreicht, aber die Optimierung ist nicht konvergiert.

-Das Obige ist die Funktion des Adam-Algorithmus, der für das Modelllernen verwendet wird. Dies bedeutet, dass die Anzahl der Lernwiederholungen erhöht werden sollte. Es besteht die Möglichkeit, dass die Generalisierungsleistung verbessert werden kann, indem die Regelmäßigkeit für Gewichte durch Ändern des Alpha-Parameters erhöht wird. ・ Wenn Sie flexiblere und größere Modelle handhaben möchten, verwenden Sie Keras, Lasgana oder Tensor-Flow. ・ Ausreichende Berechnungszeit, Daten und sorgfältige Parametereinstellung übertreffen häufig andere Algorithmen für maschinelles Lernen. Dies ist aber auch ein Nachteil, und große und leistungsstarke sind sehr zeitaufwändig. Auch die Parametereinstellung ist eine Technik für sich. -Das Entscheidungsbaummodell bietet eine bessere Leistung für Daten, die nicht von gleicher Qualität sind und verschiedene Arten von Funktionen aufweisen. -Die Anzahl der ausgeblendeten Ebenen und die Anzahl der ausgeblendeten Einheiten pro Ebene sind die wichtigsten Parameter.


Fertig bis [Kapitel 2 Lernen mit dem Lehrer (S.126)]

Recommended Posts

Lernrekord 4 (8. Tag)
Lernrekord 9 (13. Tag)
Lernrekord 3 (7. Tag)
Lernrekord 5 (9. Tag)
Lernrekord 6 (10. Tag)
Lernrekord 8 (12. Tag)
Lernrekord 1 (4. Tag)
Lernrekord 7 (11. Tag)
Lernrekord 2 (6. Tag)
Lernrekord 16 (20. Tag)
Lernrekord 22 (26. Tag)
Lernrekord Nr. 21 (25. Tag)
Lernrekord 13 (17. Tag) Kaggle3
Lernrekord Nr. 10 (14. Tag)
Lernrekord 12 (16. Tag) Kaggle2
Lernrekord Nr. 24 (28. Tag)
Lernrekord Nr. 23 (27. Tag)
Lernrekord Nr. 25 (29. Tag)
Lernrekord Nr. 26 (30. Tag)
Lernrekord Nr. 20 (24. Tag)
Lernrekord Nr. 14 (18. Tag) Kaggle4
Lernrekord Nr. 15 (19. Tag) Kaggle5
Lernrekord 11 (15. Tag) Kaggle-Teilnahme
Programmieren des Lernprotokolls 2. Tag
Lernrekord Nr. 17 (21. Tag)
Lernaufzeichnung
Lernrekord Nr. 18 (22. Tag)
Lernrekord Nr. 3
Lernrekord Nr. 1
Lernrekord Nr. 2
Lernrekord Nr. 19 (23. Tag)
Lernrekord Nr. 29 (33. Tag)
Lernrekord Nr. 28 (32. Tag)
Lernrekord Nr. 27 (31. Tag)
Python-Lerntag 4
Lernaufzeichnung (2. Tag) Scraping von #BeautifulSoup
Bisherige Lernbilanz
Lernaufzeichnung (4. Tag) #Wie man den absoluten Pfad vom relativen Pfad erhält
Linux-Lernprotokoll ① Planen
<Kurs> Tiefes Lernen: Day2 CNN
<Kurs> Tiefes Lernen: Tag 1 NN
Themen> Deep Learning: Tag 3 RNN
Lernaufzeichnung (3. Tag) # CSS-Selektorbeschreibungsmethode #Scraping with BeautifulSoup
Lerndatensatz (6. Tag) #Set-Typ #Dictionary-Typ #Mutuelle Konvertierung des Listen-Taple-Sets #ndarray-Typ #Pandas (DataFrame-Typ)
Studiere gründlich Deep Learning [DW Tag 0]