[PYTHON] Rückblick auf die 10 Monate, bevor ein Programmieranfänger ein Kaggle-Experte wird

Da ich Kaggle-Experte wurde, beschloss ich, ein Gedicht zu schreiben. Ich hoffe, es ist hilfreich für Leute, die sich für KI interessieren, aber nicht einmal programmieren können **.

1. Erste Spezifikationen (Februar 2019)

2. Aktuelle Spezifikationen (Dezember 2019)

3. Wie haben Sie maschinelles Lernen gelernt?

Ich selbst hatte ein Jahr lang "Ich habe keine Ergebnisse erzielt! Ich konnte es nicht erzielen !!", und ich beschloss, etwas Neues zu machen. Tatsächlich dehnt sich die Welt ein wenig aus. Das Erlernen von maschinellem Lernen wird Ingenieuren empfohlen, die jeden Tag das Gleiche tun oder eine Kopie ihres Chefs werden **.

4. Lernfluss

Zunächst ist der Gesamtfluss in der Abbildung dargestellt. Bis auf den ersten Monat und das Ende übe ich nur den Wettbewerb. 1.png

4.1 Erste Schritte (erster Monat)

Coursera Machine Learning Kurs für maschinelles Lernen von Dr. Andrew Ng. Sie können die meisten Grundlagen lernen. Es ist definitiv besser, dies zu tun, als einen bezahlten Kurs zu belegen. es wird empfohlen.

Irgendwie gibt Ihnen am Ende des Spiels ein Blick auf das Gesicht des Lehrers ein Gefühl der Sicherheit **: entspannt:

Deep Learning x Python-Implementierungsbuch

Aufgrund meiner mangelnden Python-Kenntnisse und der Tatsache, dass Courseras kostenlose Kurse kein tiefes Lernen beinhalteten, habe ich ein Buch entsprechend geführt. Ich lernte Python (besonders Numpy) Matrixberechnung, wie man einfache Diagramme erstellt und die Super-Grundlagen des Deep Learning. Persönlich empfehle ich das System, das Ihre Hände bewegt. Außerdem sagte ich: "[Erstes tiefes Lernen - Neuronales Netzwerk und Back-Propagation mit Python -](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%" 82% 81% E3% 81% A6% E3% 81% AE% E3% 83% 87% E3% 82% A3% E3% 83% BC% E3% 83% 97% E3% 83% A9% E3% 83% BC% E3% 83% 8B% E3% 83% B3% E3% 82% B0-Python% E3% 81% A7% E5% AD% A6% E3% 81% B6% E3% 83% 8B% E3% 83% A5% E3% 83% BC% E3% 83% A9% E3% 83% AB% E3% 83% 8D% E3% 83% 83% E3% 83% 88% E3% 83% AF% E3% 83% BC% E3% 82% AF% E3% 81% A8% E3% 83% 90% E3% 83% 83% E3% 82% AF% E3% 83% 97% E3% 83% AD% E3% 83% 91% E3% 82% B2% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3-Maschinelles Lernen-% E6% 88% 91% E5% A6% BB / dp / 4797396814) " war.

4.2 Kaggle-Debüt (1. und 2. Monat)

Als ich erfuhr, dass es einen datenwissenschaftlichen Wettbewerb namens Kaggle gab, registrierte ich sofort den Gedanken: "Ich finde es großartig, Studium und Gewinn (Preis) kombinieren zu können!"

Ich war schockiert über die sehr dankbare Tatsache, dass die Lösung geteilt wird. Aber wenn ein maschinelles Lernen und Programm, das Sie nicht verstehen, auf Englisch geschrieben ist, wird der Laie ein wenig weinen: ängstlich:

Zu dieser Zeit gab es einen Wettbewerb, bei dem verschiedene Japaner, darunter Qiita, mithalfen. Ja, es ist Titanic.

Titanic Wettbewerb

Es ist ein Wettbewerb, der immer in Kaggle stattfindet. Es ist ein Wettbewerb, um vorherzusagen, wer unter den Menschen (verschiedene Menschen unterschiedlichen Alters, Geschlechts und Status), die an Bord der Titanic gehen, überleben wird.

Es war mein erstes Mal, dass ich etwas unternahm, daher war es schmerzhaft, nur die Tabellendaten zu manipulieren. Natürlich ist es das erste Mal für Pandas. Sie können jedoch den gesamten Prozess der ** Datenbereinigung, Funktionsanalyse, Modellbildung, Validierung und Inferenz erleben. ** **. Ich habe viel gelernt, weil es im Internet viele Informationen gibt. Zum ersten Mal haben wir auch Entscheidungsbäume und zufällige Wälder implementiert. Ich glaube nicht, dass es dabei einen Verlust gab.

"Ich verstehe, ich verstehe maschinelles Lernen", war ich gut gelaunt und sprang sofort in einen preisgekrönten Wettbewerb.

Kaggle Draht Wettbewerb

Für mich als Mechaniker war das Fehleranalysesystem ein leicht zu behandelndes Thema. Es war ein interessantes Thema in Bezug auf Zeitreihendaten, die ich oft sehe.

Für mich, der RNN und GBDT zum ersten Mal sah, war es bereits ein Kampf der Götter. Ich fühle mich wie Yamcha.

Ich habe die öffentliche Lösung (Kernel) ohne zu zögern kopiert. Wenn Sie es nach und nach einreichen, während Sie damit spielen, wird der Code, der jemand anderem gehörte, allmählich bekannt. (Wenn Sie es jedoch hinzufügen, wird der Code schmutzig und die Punktzahl ändert sich nicht viel.) ** Zuerst müssen Sie es nur kopieren und zusammendrücken **, da bin ich mir sicher.

Ich kannte das Ergebnis, aber es war super Zako. Dank des Kernels habe ich viel von der Python-Codierung bis zur Zeitreihendatenanalyse gelernt. Vielen Dank an alle, die uns den Kernel gegeben haben.

Kaggle Erdbebenwettbewerb

Ich war gut gelaunt als "Mastered in Time Series" und ich werde am Wettbewerb der gleichen Serie teilnehmen, die unmittelbar nach dem Zufall stattfand. ** Dieses Mal habe ich versucht, die Übermittlung zu erreichen, ohne die öffentliche Lösung überhaupt zu betrachten. ** **.

Durch Sorgen und Versuch und Irrtum können Sie viel Erfahrung sammeln, indem Sie verschiedene Dinge erforschen und selbst erreichen. Man kann es nie mit einer passiven Einstellung bekommen (nur ein Buch lesen). Immerhin fand ich das Lernen im Wettbewerb wunderbar gut. 2.png

Danach nahm ich am Maschinellen Lernwettbewerb für Hersteller, gesponsert vom Dentsu International Information Service (ISID) teil und gewann den Zufall. Dies waren auch Zeitreihendaten. Möglicherweise gibt es auch dieses Jahr. Wenn Sie also interessiert sind, tun Sie dies bitte.

4.3 Und zum tiefen Lernen (3-4 Monate)

Ich interessiere mich für tiefes Lernen, insbesondere im Zusammenhang mit Bildern. Das liegt daran, dass die regelmäßigen Mittagessen, die ich zu Hause bestellt habe **, so schrecklich sind, dass sogar die KI sie auseinanderhalten kann. Ich dachte ** war der Auslöser.

Bewertung des Mittagessens

Ich habe ein Foto von der Brotdose gemacht, als ich es versaut habe. Meine Schwiegertochter sieht mich misstrauisch an, die Fotos macht, indem sie das Arrangement verschiebt. Karaage geht hier immer wieder hin und her.

Ich habe CNN (Convolutional Neural Net) zum ersten Mal ernst genommen. Ich habe Transferlernen gelernt, weil es nicht viele Bilder gab. Natürlich habe ich keine GPU, daher werde ich ** Google Colab (*) ** verwenden.

Es war etwas genauer, aber es war nur ein mysteriöses Bewertungssystem, das mir die gleiche Punktzahl gab. Ich habe mich entschieden aufzuhören, weil ich befürchtet hatte, dass das Innere von Google Drive voller Bilder zum Mittagessen ist. ** Es war ein Fehler. ** Wieder ** Ein solides Ziel und Zweck ist wichtig. ** **.

Signate Tabakwettbewerb-Erste Objekterkennung-

Ich habe erfahren, dass es eine inländische Wettbewerbsplattform namens Signate gibt, und anscheinend fand ein bildbezogener Wettbewerb statt, also habe ich teilgenommen.

** Ein Wettbewerb um die Zigarettenmarke im Regal. ** Dies ist die erste Objekterkennungsaufgabe. Ich fand es eine perfekte Aufgabe für mich zu sagen, dass ich das Transferlernen gemeistert hatte.

Aber was ist mit der Objekterkennung? YOLO? SSD? Wie ist dieser Zustand? Nach ein wenig Recherche fand ich heraus, dass YOLO bis zu v3 hat. Es scheint, dass es auch ziemlich gut ist. Zum Glück lief die Implementierung, sodass ich den Code leicht sehen konnte.

Der Inhalt ist jedoch schlampig, und die Person, die ihn geschrieben hat, scheint nur Gott zu sein. Es kann nicht geholfen werden, also ist es auch dieses Mal zuerst ** fast rund pakuri **. Wenn ich jedoch damit herumspiele, wird es allmählich zu meinem Code. (Und es wird immer schmutziger Code wie Kot: Kacke :) An diesem Punkt können Sie eine kleine Zeitung lesen. Zum Glück hat YOLO erfüllt, also habe ich viel gelesen.

Aber schließlich war es Zako, also kann ich keinen Preis gewinnen. Da ich mich jedoch um diese Zeit für die Objekterkennung interessierte, las ich weiterhin Artikel.

** Ich verstehe alles, aber ich denke, es gibt einen beträchtlichen Unterschied zwischen "Ich weiß nicht" und "Ich weiß" und es gibt eine große Lücke zwischen "Ich kann es tun". Ich denke, dass das richtige Lesen und Implementieren wichtig ist. ** **.

Da Signate die Lösung häufig nicht freigeben kann, empfehle ich Kaggle persönlich für das Debüt. 3.png https://signate.jp/competitions/159#abstract

4.4 Einführung in den Tischwettbewerb (4.-5. Monat)

Ich erkannte die Bedeutung von Maschinenspezifikationen im Bildwettbewerb und hatte die schlechte Lerniteration satt, also forderte ich den Tischwettbewerb heraus. Obwohl ich ein bisschen Zeitreihenwettbewerb hatte, hatte ich keine Erfahrung mit gewöhnlichen Tischwettbewerben.

Etwa zu dieser Zeit wird Signate einen interessanten Wettbewerb veranstalten.

Iida Industrial Land Wettbewerb

Es ist ein sehr grundlegender Wettbewerb, der den Preis von Grundstücken in Saitama vorhersagt.

Ich konnte die Freude lernen, verschiedene Merkmalsgrößen zu erstellen, z. B. die Zeitentfernung von Längen- und Breitengrad zu berechnen und die Fläche pro Raum aus der Anzahl der Räume zu erstellen. Wenn die Anzahl der Funktionen, die plötzlich blinken, die Genauigkeit beeinflusst, wird dies zur Gewohnheit **. Ich denke, dass ein Ideengeber, der gut in verschiedenen Gedanken und Wahnvorstellungen ist, für einen solchen Ort sehr gut geeignet ist. Die Substanz im Gehirn kommt heraus.

Ich konnte mehr über die Bedeutung der Validierung erfahren. Ich wusste nicht viel, als Dr. Andrew es mir bei Coursera erzählte, aber wenn es hinsichtlich der Genauigkeit bewertet wird, führt eine schlechte Validierung zu Inkonsistenzen. Ich denke, dies ist auch ein großartiges Stück Wissen, das im Wettbewerb gewonnen werden kann.

Übrigens gibt es einen Bonus, mit dem Sie sich (nutzlos) mit Saitama vertraut machen können.

Ich habe auch heimlich am molekularen Wettbewerb teilgenommen, aber ich hatte doch nicht viel Zeit. GNN scheint Spaß zu machen, daher ist Lernen eine zukünftige Aufgabe.

4.5 Bildwettbewerb neu entfacht (6-9 Monate)

Ich habe seit dem Tabakwettbewerb Erkennungsaufgaben untersucht, und gerade wurde in Kaggle ein von Japan gesponserter Wettbewerb abgehalten.

Kaggle Crushed Character Wettbewerb

Es war eine Aufgabe, gebrochene Zeichen zu erkennen und zu klassifizieren. Die Erkennung selbst war keine sehr schwierige Aufgabe, deshalb habe ich versucht, sie so weit wie möglich selbst zu implementieren. Zu diesem Zeitpunkt konnte ich das Papier für eine Weile umsetzen, also habe ich aktiv neue ausprobiert.

Zusätzlich zum Dank an kaggle für ihre Hilfe ** Wir haben die Lösung auch mit dem Kernel geteilt. **

Ich sah mich bisher dem anständigsten Faltungs-Neuronalen Netz gegenüber. Wenn Sie die Punkte kennen, die Sie anzeigen möchten, wird das neuronale Netz anscheinend auch richtig gesehen. Zum ersten Mal musste ich ernsthaft über den Einfluss des Kontexts nachdenken. Als ich Der Elefant im Raum betrachtete, fand ich den Spaß von CNN. Interessant war eine große treibende Kraft, und wir haben verschiedene Versuche und Irrtümer durchlaufen.

Die Bedeutung der im Landwettbewerb erlernten Validierung wurde ebenfalls deutlich. Wenn Dokumente desselben Autors in Schulung und Validierung gemischt wurden, wurde die Genauigkeit überschätzt. Gruppensplit war die richtige Antwort.

Es war ein Kaggle-Wettbewerb, aber weil es ein kleiner Wettbewerb ohne Medaillen war, wurde er auf wundersame Weise auf Platz 7 eingestuft. Leider liegt es außerhalb des Preisbereichs, aber ich konnte die Auszeichnung erhalten, was zu meiner Motivation führte. 4.jpg https://www.kaggle.com/c/kuzushiji-recognition

Signate Meereis Wettbewerb

** Wenn Sie eine Erkennungsaufgabe ausführen können, können Sie auch eine Segmentierungsaufgabe ausführen **. (Ich denke, ersteres ist schwieriger für die Modellierung) Ich habe genau richtig an dem Meereiswettbewerb in Signate teilgenommen. Das Meereisgebiet wird anhand der vom Satelliten aufgenommenen hochauflösenden Messbilder identifiziert.

** Zu diesem Zeitpunkt war ich in der Lage, Artikel bis zu einem gewissen Grad zu lesen und umzusetzen **, also spielte ich mit Verlustfunktionen und schrieb die neuesten Modelle wie EfficientNet. Obwohl es 6 U-Boote waren, war ich vorerst auf dem 5. Platz. Ich war in den Russen gefangen (?), Die am Ende des Spiels eingeflossen sind, also bin ich auch dieses Mal außerhalb des Preisbereichs. Leider kann die Lösung aufgrund der Regeln von Signate nicht geteilt werden: frowning2: 5.png https://signate.jp/competitions/183

5 Zusammenfassung

** Also, maschinelles Lernen macht Spaß, also lass es uns gemeinsam tun: entspannt: **

6 Schließlich

Ich hörte, dass ich ein Kaggle-Experte wurde, aber als ich genau hinschaute, gab es keine Wettbewerbsmedaille. Es tut mir leid, Iki. 6.png

Recommended Posts

Rückblick auf die 10 Monate, bevor ein Programmieranfänger ein Kaggle-Experte wird
Rückblick auf 2016 in der Crystal-Sprache
Rückblick auf die Erstellung eines Webdienstes mit Django 2
Rückblick auf ABC155
Rückblick auf die iOS'Healthcare App '2019
Zum ersten Mal versuchte ein Programmieranfänger eine einfache Datenanalyse mit Programmierung
[Python] Rückblickend auf das, was ich Programmieranfängern aus Funktionen beigebracht habe
Denken Sie an die Reihenfolge, in der Sie Programmiersprachen lernen, während Sie auf Ihr IT-Leben zurückblicken