[PYTHON] Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow

Ich heiße Cho. Normalerweise entwickle ich Webanwendungen mit CakePHP3.

Vor kurzem habe ich mich für Python interessiert und es persönlich berührt.

Dieses Mal möchte ich eine Geschichte über das einfache maschinelle Lernen mit TensorFlow schreiben.

Zielperson

・ Anfänger von TensorFlow

Umgebung

-Entwickeln Sie mit Docker auf dem Mac.

Eigenschaften von TensorFlow

・ Ausdruckskraft mithilfe eines Datenflussdiagramms ・ Funktioniert im CPU / GPU-Modus ohne Codeänderung ・ Vom Ideentest bis zum Service verfügbar ・ Unterstützung ** Python ** / C ++

Installation

Nehmen Sie das Bild des Dockers und führen Sie den Container aus

  1. Installieren Sie zunächst in der Docker-Umgebung. Bitte stellen Sie die Umgebung unter Bezugnahme auf die folgende URl ein. https://docs.docker.com/engine/installation/mac/#/docker-for-mac

  2. Klicken Sie auf den folgenden Befehl, um den Container aus dem Docker-Image auszuführen docker run -it b.gcr.io/tensorflow/tensorflow-full

  3. Überprüfen Sie den Betrieb

$ python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>

Zu diesem Zeitpunkt wurde die Entwicklungsumgebung festgelegt.

der Begriff

Jetzt, da die Umgebung eingestellt ist Lernen Sie die in TensorFlow verwendeten Begriffe kennen. Operation Die Knoten im Diagramm werden als Operation (op) bezeichnet. Der Betrieb kann einen oder mehrere Tensoren empfangen. Die Operation gibt das Ergebnis der Ausführung der Berechnung als einen oder mehrere Tensoren zurück.

Tensor Intern werden alle Daten durch Tensor dargestellt. Tensor ist wie ein mehrdimensionales Array, und nur Tensor tauscht zwischen Operationen im Diagramm aus.

Session Sie benötigen ein Sitzungsobjekt, um das Diagramm auszuführen. Die Sitzung kapselt die Ausführungsumgebung von Operation.

Variables Variablen werden verwendet, um Parameter nach dem Ausführen des Diagramms zu speichern und zu aktualisieren. Es ist die Rolle des Puffers, der Tensor im Speicher speichert.

Verwenden wir TensorFlow jetzt persönlich.

Versuchen Sie, einen Faktor mit der Methode des steilsten Abstiegs zu finden

Weitere Informationen zur Methode mit dem steilsten Abstieg finden Sie unter der folgenden URL. https://ja.wikipedia.org/wiki/%E6%9C%80%E6%80%A5%E9%99%8D%E4%B8%8B%E6%B3%95

Gewichtete Matrix "W" und Bias "b"

import tensorflow as tf
import numpy as np

#Setzen Sie 100 Daten mit Numpy Random.
x_data = np.float32(np.random.rand(2, 100))
#Das Lernziel wird nach folgender Formel berechnet. (W = [0.1, 0.2], b = 0.3)
y_data = np.dot([0.100, 0.200], x_data) + 0.300

Definieren Sie ein Modell anhand der Eingabedaten und W, b

#b ist 0,
b = tf.Variable(tf.zeros([1]))
#W ist eine 1x2 Gewichtsvariable(Mit gleichem Zufallswert initialisieren)
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b

#Definition der Verlustfunktion
loss = tf.reduce_mean(tf.square(y - y_data))
#Initialisieren Sie die Verlustfunktion mit der Methode des steilsten Abstiegs(0.5 ist das Lernverhältnis)
optimizer = tf.train.GradientDescentOptimizer(0.5)
#Definition der Lernoperation
train = optimizer.minimize(loss)

Beginn der Lernsitzung

#Initialisieren Sie alle Variablen.
init = tf.initialize_all_variables()

# Session start
sess = tf.Session()
sess.run(init)

#Lerne 200 mal.
for step in xrange(0, 201):
    sess.run(train)
    if step % 20 == 0:
        print step, sess.run(W), sess.run(b)

Ergebnis

0 [[ 0.8228116   0.25179306]] [-0.21591029]
20 [[ 0.31065419  0.22789511]] [ 0.17903577]
40 [[ 0.15808699  0.20829338]] [ 0.26633102]
60 [[ 0.11601268  0.20247138]] [ 0.29062203]
80 [[ 0.10441278  0.20073807]] [ 0.2973859]
100 [[ 0.10121564  0.20022091]] [ 0.29927069]
120 [[ 0.10033476  0.20006624]] [ 0.29979634]
140 [[ 0.10009213  0.20001991]] [ 0.29994306]
160 [[ 0.10002533  0.20000601]] [ 0.29998407]
180 [[ 0.10000696  0.20000178]] [ 0.29999554]
200 [[ 0.10000192  0.20000054]] [ 0.29999873]    

etwas fühlte sich an

・ Python ist vorerst erstaunlich und TensorFlow ist erstaunlich. ・ Dieses Mal hatte ich das Gefühl, dass ich mehr Mathematik studieren musste, während ich versuchte, das Problem zu lösen, das ich als Beispielaufgabe gegeben hatte. ・ Dieses Mal habe ich versucht, das maschinelle Lernen mit Python ein wenig zu berühren, daher möchte ich auch andere Stellen berühren.

Recommended Posts

Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow
Eine Geschichte über maschinelles Lernen mit Kyasuket
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Die Geschichte der Verwendung von Python reduziert
(Hinweis) Eine Geschichte zum Erstellen eines Frage- und Antwortsystems mit Spring Boot und maschinellem Lernen (SVM).
Maschinelles Lernen Eine Geschichte über Menschen, die mit GBDT in GBDT in Python nicht vertraut sind
Eine süchtig machende Geschichte bei der Verwendung von Tensorflow unter Android
Maschinelles Lernen Über Overlearning
Eine Geschichte über die Automatisierung von Online-Mahjong (Jakutama) mit OpenCV und maschinellem Lernen
Maschinelles Lernen (TensorFlow) + Lotto 6
Eine Geschichte über das Erreichen einer Wiederherstellungsrate von Pferderennen von über 100% durch maschinelles Lernen
Was ich über KI / maschinelles Lernen mit Python gelernt habe (1)
Geschichte der Verwendung von Resonas Software-Token mit 1Password
Eine Geschichte über die Vorhersage des Wechselkurses mit Deep Learning
Installation von TensorFlow, einer Bibliothek für maschinelles Lernen von Google
Was ich über KI / maschinelles Lernen mit Python gelernt habe (3)
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Was ich über KI / maschinelles Lernen mit Python gelernt habe (2)
Einführung in das maschinelle Lernen mit Simple Perceptron
Über maschinelles Lernen gemischte Matrix
Erstellen Sie eine maschinelle Lernumgebung
Ein Hinweis zur TensorFlow-Einführung
Algorithmus für maschinelles Lernen (einfaches Perzeptron)
Erstellen Sie eine maschinelle Lernumgebung mit PyCharm in einer Ubuntu-Umgebung (TensorFlow wird ebenfalls eingeführt!).
Was ich über KI / maschinelles Lernen mit Python gelernt habe (4)
Ich habe versucht, ein Deep-Learning-Modell von TensorFlow mit TensorFlow Serving zu hosten
Starten einer maschinellen Lernumgebung mit Google Compute Engine (GCE)
Eine Geschichte über die Installation von matplotlib mit pip mit einem Fehler
Ich habe versucht, Tensorboard zu verwenden, ein Visualisierungstool für maschinelles Lernen
Eine Geschichte über einen 40-jährigen Ingenieurmanager, der "Deep Learning for ENGINEER" bestanden hat
Eine erfrischende Geschichte über Slice in Python
Lerne Zundokokiyoshi mit einem einfachen RNN
Erstellen Sie mit TensorFlow eine Gesichtserkennung
Eine launische Geschichte über Slice in Python
Erstellen einer einfachen Tabelle mit Stettytable
Algorithmus für maschinelles Lernen (Einzelregressionsanalyse)
Inverse Analyse des maschinellen Lernmodells
Erstellen eines Lernmodells mit MNIST
Anwendungsentwicklung mit Azure Machine Learning
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Künstliche Intelligenz durch maschinelles Lernen mit TensorFlow aus Null Wissen schaffen - Einführung 1
[Tutorial] Erstellen Sie mithilfe von maschinellem Lernen in 30 Minuten einen einzigartigen Ausdrucksextraktor
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Aktienkursprognose mit maschinellem Lernen (Scikit-Learn)
Eine Geschichte über einen magischen Umbau, der Lubuntu in ein Chromebook bringt
Mit dem Ziel, ein Ingenieur für maschinelles Lernen zu werden, der MOOCs aus Vertriebspositionen verwendet
[Maschinelles Lernen] LDA-Themenklassifizierung mit Scikit-Learn
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
TensorFlow Kochbuch zum maschinellen Lernen Kapitel 2 Persönlich verstopft
[Maschinelles Lernen] FX-Vorhersage unter Verwendung des Entscheidungsbaums
Aktienkursprognose mit Deep Learning (TensorFlow)
[ML-Aents] Ich habe versucht, maschinelles Lernen mit Unity und TensorFlow of Python (v0.11β-kompatibel) zu lernen.
Ich habe mit dem Lernprogramm TensorFlow --⑥ einen Dir en grey face-Klassifikator erstellt
Ich habe mit TensorFlow --⑧ Learning Execution einen Dir en Grey Face Classifier erstellt
Maschinelles Lernen
[Maschinelles Lernen] Überwachtes Lernen mithilfe der Kernel-Dichteschätzung