[PYTHON] Ein Kampf nach einem Amateur mit maschinellem Lernen, der seinen Job zu einem Nicht-IT-Unternehmen wechselte, wurde einem KI-Projekt zugewiesen

Einführung

Dieser Artikel ist der 8. Tag von Wie haben Sie maschinelles Lernen von Nikkei xTECH Business AI② Adventskalender 2019 gelernt. Ich hoffe, es ist hilfreich für Anfänger, die in Zukunft auf den Markt kommen.

Programmiererfahrung

Ich habe C / C ++ und Matlab in College-Klassen und Python bei Sololearn studiert. Für JavaScript und HTML habe ich die Grammatik mit dem Standard Progate durchgearbeitet und dann die Sprachreferenz gelesen.

Wie ich anfing, maschinelles Lernen zu lernen

Als ich während eines Bewerbungsgesprächs nach Programmiererfahrungen gefragt wurde, habe ich Python aufgehellt. "Honna, eh aiyana! (Original)" ist geworden. Mit dieser Reaktion trat ich mit einem unangenehmen Gefühl in meinem Herzen in das Unternehmen ein und wurde danach aufgrund der Geschäftsentwicklung mit KI einem neuen Projekt zugewiesen. Es wird nach der lügenhaften Gleichung Python = AI getanzt. Obwohl ich Python geschrieben hatte, war ich ein Amateur im maschinellen Lernen, also begann ich mit dieser Gelegenheit zu studieren.

[Bearbeitet am 9. Dezember 2019] Ich bereitete das Material auf einer zweideutigen Erinnerungsbasis vor, als ob ich einen Artikel von Herrn Mas * Tür * aufsteigen sehen würde, aber es war völlig falsch mit meinem Gedächtnis. Es tut mir Leid.

Lernmethode

Ich werde sie in der Reihenfolge auflisten, in der ich angefangen habe.

Ich denke, ich bin nicht gut darin, Bücher zu lesen und Wissen zu erlangen (besonders wenn ich neue Dinge lerne), also habe ich zuerst darüber nachgedacht, an Seminaren und Lernsitzungen teilzunehmen. Da das zugewiesene Projekt eine Regressionsvorhersage von Zeitreihendaten war, habe ich es auf Zeitreihendaten und nicht auf Bildverarbeitung eingegrenzt.

Seminare, an denen ich teilgenommen habe

*** Ich verkaufe überhaupt nicht an Nikkei ***, aber derzeit überwältigt das Konzept der KI = Bildverarbeitung die Welt, und Seminare, die sich auf Zeitreihendaten konzentrieren, sind wirklich wertvoll. tat. Alle von ihnen sind wirklich MNIST und semantische Segmentierung ... (Ich denke, es ist ein gutes Thema für Anfänger, nur weil es eine vollständig aufgabenbasierte Studie war, also ist die Situation anders.)

Was den Inhalt des Seminars betrifft, konnte ich aus den Grundlagen des maschinellen Lernens und des tiefen Lernens lernen (dh Regression und Klassifizierung sind verschiedene Dinge). Ich habe hier gelernt, dass CNN die Grundform im Bildsystem und RNN die Grundform im Regressionssystem ist und neue Formen wie das Generierungssystem entstehen. Ich denke, es wird eine gute Erfahrung sein, den Inhalt des Prozesses zu kennen, indem Sie tatsächlich Ihre Hände bewegen und rechnen. ~~ Ich war überrascht, dass viele der Teilnehmer die Matrix nicht berechnen konnten ~~

Der Hauptzweck der Zeitreihengeschichte bestand darin, Anomalien in Werkzeugmaschinen zu erkennen. Es stimmte nicht genau mit meinem Inhalt überein, aber der Lehrer nahm sich nach der Vorlesung etwas Zeit und gab mir viele wertvolle Ratschläge.

Eine andere Sache, die ich fühlte, ist, dass Sie nicht zu viele Fragen stellen. Ich weiß nicht, ob ich alles wusste, was ich bereits wusste, oder ob ich es nicht zu gut verstand, aber ich konnte die meiste Zeit damit verbringen, Fragen zu stellen, wodurch ich mich gut fühlte. Da Sie viel Geld für die Teilnahme bezahlen, gewinnt derjenige, der Wissen gewinnt.

Lernsitzung, an der ich teilgenommen habe

Ich habe hier teilgenommen, weil ich überhaupt keine Kenntnisse über den Umgang mit Zeitreihendaten (Trends, Jahreszeiten usw.) habe. Connpass und TECH PLAY werden verwendet, um nach Lernsitzungen zu suchen. Zusätzlich zum theoretischen Lernen hörte ich mir die Geschichte auf dem Edge Deep Learning Summit 2019 an, der von LeapMind gesponsert wurde. Ich habe es auch benutzt.

Ich habe noch nicht teilgenommen, aber es gibt viele interessante Treffen wie die Data Preprocessing Study Group und die Mokumoku Group, daher möchte ich die Anzahl der Teilnehmer von nun an erhöhen.

Bücher, die ich gekauft habe / will

Kaggle-Kernel-Suche

Ich wusste, dass es einen Wettbewerb gibt, aber als ich studierte, dachte ich nicht daran, es selbst zu versuchen, also konzentrierte ich mich darauf, den Kernel zu lesen. Zum Lesen habe ich Zeitreihen und Regressionsvorhersagen als Thema des Wettbewerbs aufgegriffen und mir überlegt, wie ich die Daten anderer Personen kneten kann und welche Art von Prozess ich bei der Bewältigung der Aufgabe unternehme. Es war. Es ist primitiver als ein Algorithmus. Ich habe versucht herauszufinden, welche Schritte zu unternehmen sind (wo zu suchen und was zu tun ist?), Wenn Daten angezeigt werden. Was ich hier fühlte, ist, dass ich, obwohl ich an Lernsitzungen teilgenommen und Bücher gelesen habe, wie zum Beispiel ** Statistiken für Variablen interpretieren, die ich habe **, immer noch nicht viel darüber weiß. ** Ich hatte das Gefühl, dass es keine Grundlage gab, bevor ich sagte, dass es maschinelles Lernen oder tiefes Lernen war **. Ich werde es im Wettbewerb unten erwähnen, aber ich fühle es immer noch.

Fordern Sie den Wettbewerb mit SIGNATE heraus

Der Wettbewerb selbst wurde mit inländischem SIGNATE-san anstelle von Kaggle herausgefordert. Dies ist ziemlich neu und ist Takeda Yakuhins AI-Wirkstoffentdeckung: Vorhersage pharmakokinetischer Parameter. Während es viele Wettbewerbe zur Bildklassifizierung und Bilderzeugung gibt, waren Arzneimittelentdeckungswettbewerbe und Landwettbewerbe wertvolle Regressionsprobleme.

Die erste Einreichung des denkwürdigen ersten Wettbewerbs in meinem Leben war ein Start, den ich aufgrund eines Formatfehlers der CSV-Datei nicht messen konnte, und meine Nase war gequetscht ... w Danach habe ich nur das Format korrigiert und erneut eingereicht, und es wurde eine Partitur, die nicht klang und nicht flog Ich tat. Am Ende wird das Ranking wie in der folgenden Abbildung gezeigt festgelegt.

スクリーンショット 2019-12-04 22.12.45.png

Das Ergebnis ist nicht sehr gut, aber ich denke, das Ergebnis war großartig. Was ich in diesem Wettbewerb stark empfunden habe, war, dass es nur wenige Extraktionen zur Datenvorverarbeitung gab. Ich habe die wesentlichen Elemente wie die One-Hot-Codierung kategorialer Variablen implementiert, aber "Es gibt etwas zwischen diesen Variablen!" Oder "Ist es nicht möglich, die Punktzahl durch Konvertieren in solche Funktionen zu verbessern?" Die Erzeugung der Merkmalsmenge war besonders schwach. Die Anzahl der Beiträge beträgt 4, aber ich bleibe bei ** "Was soll ich von nun an tun?" **. Wie in dem Buchabschnitt erwähnt, den ich kaufen möchte, denke ich, dass die Datenanalysetechnologie, die mit Kaggle gewinnt, für mich absolut notwendig ist.

Ebenso wie bei der Programmierung selbst denke ich, dass es am besten ist, mit klaren Richtlinien zu lernen **. Wenn Sie wie ich sind, die kein zugewiesenes Projekt haben und kurz vor dem Studium stehen, ist der ** Wettbewerb meiner Meinung nach eine sehr aussagekräftige Umgebung mit Richtlinien (Aufgaben). .. Wenn Sie versuchen, sich darauf zu konzentrieren, werden Sie unweigerlich anfangen, Wissen über die Aufgabe zu sammeln. Es wird daher empfohlen, Ihr Wissen zu erweitern.

Gegenwart und Zukunft

Dies ist ein Regressionsproblemprojekt, das nach dem Eintritt in das Unternehmen zugewiesen wurde. Die Variablen wurden jedoch dimensionslos und anonymisiert, und die Zeitstempel wurden [Artikel] neu zugewiesen (https://qiita.com/nyanko-box/items/a6f50e28383a5bd0a432). Ich bin. Bitte lesen Sie es, wenn Sie möchten. Ich habe mit zwei Modelltypen berechnet, dem zweischichtigen LSTM + -Vollkopplungsmodell und dem XGBoost, aber das Problem, dass die Ausgabe des Modells nach der Eingabe erfolgt [(LSTM für Zeitreihenvorhersage - Keras-Probleme)](https: / /github.com/keras-team/keras/issues/2856) Ich habe es schwer ... Wer über Kenntnisse verfügt, würde sich sehr über Ratschläge freuen.

Wie oben erwähnt, ist das Know-how der Datenvorverarbeitung und Feature-Generierung sehr wichtig und reicht mir derzeit nicht aus. Daher ist es für die berühmten Kaggler sehr hilfreich, Blogs und Bücher zu veröffentlichen und im Kernel aktiv zu sein. Es bietet das, was Sie bisher erlebt haben.

Darüber hinaus ist der Inhalt, den ich studiert habe, auf die Rückgabe spezialisiert, da meine Arbeit ein Rückgabeproblem war. Daher kann gesagt werden, dass es fast keine bildbezogenen Methoden oder Vorverarbeitungen gibt. Ich frage mich, ob es durch Zusammenbau mit CNN verwaltet werden kann. Ich fühle mich wie. Ich habe derzeit kein Projekt für bildbezogene Themen (Erkennung und Klassifizierung von Anomalien), aber ich denke, ich kann es für meine zukünftige Arbeit verwenden und möchte mehr darüber erfahren. Wir werden auch den bisherigen Image-Themenwettbewerb herausfordern.

Zuallererst das Kaggle-Buch.

Für diejenigen, die kurz vor dem Studium stehen

** Da es sich um Qiita handelt, werde ich über andere empfohlene Programmierumgebungen als Poem sprechen **

Unsere Python-Umgebung wird vor Ort mit ~~ Anaconda ~~ vanila python konfiguriert. Nachdem ich die Umwelt zerstört hatte Ich wurde eine Vanila-Sekte. Der Adventskalender-Artikel des letzten Jahres wurde aktualisiert, aber es ist besser für jemanden, der sich um das Management kümmert, Anaconda.

Jupyter Notebook/Lab ** Jupyter Notebook ist praktisch ** Ich kann für den Rest meines Lebens nicht ausgehen. Ich empfehle wirklich, Programme auf dem Jupyter Notebook auszuführen, wenn Sie anfangen, maschinelles Lernen (oder aus Python) zu lernen. Wenn Sie Python noch nicht kennen, wissen Sie nicht, ob der gerade implementierte Prozess die gewünschten Transformationen aufweist (insbesondere die "Achse" um Numpy). In dieser Hinsicht verfügt Jupyter über separate Zellen, sodass PDCA für die Vorverarbeitungsimplementierung und Datenformatierung schneller gedreht werden kann (REPL kann ebenfalls durchgeführt werden, Notebook hat jedoch eine geringere Hürde; eine vollständig qualitative Geschichte). Darüber hinaus wurde das erweiterte ** Jupyter Lab ** angekündigt, und es scheint, dass es in Zukunft zu dieser Entwicklung übergehen wird (Referenz). Bitte benutzen Sie dies auch.

Jupyter Notebook installieren

py -m pip install jupyter

Installieren Sie Jupyter Lab

py -m pip install jupyterlab

Google Colaboratory

Google Colaboratory wird Personen empfohlen, die Computerressourcen überhaupt nicht vorbereiten können. Dies ist wie eine Jupyter Notebook-Umgebung, die auf dem Server von Google ausgeführt wird. Wie in "Google Colaboratory - Übersicht und Anweisungen (TensorFlow und GPU können verwendet werden)" erläutert, ist jeder mit einem Google-Konto und einer Internetverbindung kostenlos. Kann mit verwendet werden. In letzter Zeit ist es möglich geworden, zusätzlich zur GPU TPU auszuwählen. Da die für maschinelles Lernen und Deep Learning erforderlichen Bibliotheken bereits installiert wurden, Link mit Google Drive 83% 9E% E3% 82% A6% E3% 83% B3% E3% 83% 88% E3% 81% 99% E3% 82% 8B% E6% 96% B9% E6% B3% 95) Sie können die Daten sofort analysieren und vorhersagen. [Zeitlimit](https://qiita.com/shoji9x9/items/0ff0f6f603df18d631ab#90%E5%88%86%E3%83%AB%E3%83%BC%E3%83%AB%E3%81%A812 % E6% 99% 82% E9% 96% 93% E3% 83% AB% E3% 83% BC% E3% 83% AB) Sie können eine komfortable Berechnungsumgebung erhalten, indem Sie nur aufpassen.

Am Ende

Vielen Dank an alle, die bisher gelesen haben. Es tut mir leid, dass es fast ein langer Satz ist.

Es wird gesagt, dass die KI auf den Straßen in eine Phase der Ernüchterung eingetreten ist, aber ich denke, dass die Bedürfnisse der Ingenieure steigen. Außerdem verlieren wir Menschen ** mit zunehmendem Alter stetig an Marktwert **, daher denke ich, dass es gut ist, das zu erhöhen, was wir auch in diesem Sinne tun können.

Wir hoffen, dass dieser Artikel als Referenz für Anfänger dient, die kurz vor dem Markteintritt stehen. (2. Mal am Anfang)

Referenzen / Links

Recommended Posts

Ein Kampf nach einem Amateur mit maschinellem Lernen, der seinen Job zu einem Nicht-IT-Unternehmen wechselte, wurde einem KI-Projekt zugewiesen
Ich wechselte meinen Job zu einem Ingenieur für maschinelles Lernen bei AtCoder Jobs
Einführung in das maschinelle Lernen mit Simple Perceptron
Bis ein Ingenieur, der einmal über maschinelles Lernen frustriert war, es schafft, maschinelles Lernen bei der Arbeit einzusetzen
Eine Einführung in das maschinelle Lernen
Wie nutzt man maschinelles Lernen für die Arbeit? 02_AI Entwicklungsprojektübersicht