[PYTHON] Une histoire sur l'apprentissage automatique simple avec TensorFlow

Mon nom est Cho. Je développe généralement des applications Web en utilisant CakePHP3.

Récemment, je m'intéresse à Python et je l'ai touché personnellement.

Cette fois, j'aimerais écrire une histoire sur la création d'un apprentissage automatique simple à l'aide de TensorFlow.

Personne cible

・ Débutant de TensorFlow

environnement

-Développer en utilisant docker sur mac.

Caractéristiques de TensorFlow

・ Puissance expressive utilisant le graphique de flux de données ・ Fonctionne en mode CPU / GPU sans modification de code ・ Disponible du test d'idée au service ・ Prise en charge ** Python ** / C ++

Installation

Prenez l'image du docker et exécutez le conteneur

  1. Commençons par installer à partir de l'environnement docker. Veuillez définir l'environnement en vous référant à l'URL suivante. https://docs.docker.com/engine/installation/mac/#/docker-for-mac

  2. Appuyez sur la commande suivante pour exécuter le conteneur à partir de l'image du docker docker run -it b.gcr.io/tensorflow/tensorflow-full

  3. Vérifiez le fonctionnement

$ 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
>>>

À ce stade, l'environnement de développement a été défini.

le terme

Maintenant que l'environnement est défini Apprenez les termes utilisés dans TensorFlow. Operation Les nœuds sur le graphe sont appelés Operation (op). L'opération peut recevoir un ou plusieurs Tensors. Operation renvoie le résultat de l'exécution du calcul sous la forme d'un ou plusieurs tenseurs.

Tensor En interne, toutes les données sont représentées via Tensor. Tensor est comme un tableau multidimensionnel, où seul Tensor interagit entre les opérations du graphique.

Session Vous avez besoin d'un objet Session pour exécuter le graphique. Session encapsule l'environnement d'exécution d'Operation.

Variables Les variables sont utilisées pour enregistrer et mettre à jour les paramètres après l'exécution du graphique. C'est le rôle de buffer qui stocke Tensor en mémoire.

Maintenant, utilisons TensorFlow personnellement.

Essayez de trouver un facteur par la méthode de descente la plus raide

Veuillez consulter l'URL suivante pour les détails de la méthode de descente la plus raide https://ja.wikipedia.org/wiki/%E6%9C%80%E6%80%A5%E9%99%8D%E4%B8%8B%E6%B3%95

Matrice pondérée «W» et biais «b»

import tensorflow as tf
import numpy as np

#Mettez 100 données avec Numpy aléatoire.
x_data = np.float32(np.random.rand(2, 100))
#L'objectif d'apprentissage est calculé par la formule suivante. (W = [0.1, 0.2], b = 0.3)
y_data = np.dot([0.100, 0.200], x_data) + 0.300

Définissez un modèle en utilisant les données d'entrée et W, b

#b vaut 0,
b = tf.Variable(tf.zeros([1]))
#W est une variable de poids 1x2(Initialiser avec une valeur aléatoire égale)
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b

#Définition de la fonction de perte
loss = tf.reduce_mean(tf.square(y - y_data))
#Initialiser la fonction de perte avec la méthode de descente la plus raide(0.5 est le ratio d'apprentissage)
optimizer = tf.train.GradientDescentOptimizer(0.5)
#Définition de l'opération d'apprentissage
train = optimizer.minimize(loss)

Début de la session d'apprentissage

#Initialiser toutes les variables.
init = tf.initialize_all_variables()

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

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

résultat

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]    

quelque chose a ressenti

・ Pour le moment, Python est incroyable et TensorFlow est incroyable. ・ Cette fois, j'ai senti que je devais étudier plus de mathématiques tout en essayant de résoudre le problème que j'avais donné comme tâche d'exemple. ・ Cette fois, j'ai essayé de toucher un peu l'apprentissage automatique avec Python, alors j'aimerais aussi toucher d'autres endroits.

Recommended Posts

Une histoire sur l'apprentissage automatique simple avec TensorFlow
Une histoire sur l'apprentissage automatique avec Kyasuket
Histoire de l'analyse de données par apprentissage automatique
L'histoire de l'utilisation de la réduction de Python
(Remarque) Une histoire sur la création d'un système de questions et réponses à l'aide de Spring Boot et de l'apprentissage automatique (SVM).
Apprentissage automatique Une histoire sur des personnes qui ne sont pas familiarisées avec GBDT utilisant GBDT en Python
Une histoire addictive lors de l'utilisation de tensorflow sur Android
Apprentissage automatique sur le surapprentissage
Une histoire sur l'automatisation du mahjong en ligne (Jakutama) avec OpenCV et l'apprentissage automatique
Apprentissage automatique (TensorFlow) + Lotto 6
Une histoire sur l'obtention d'un taux de récupération des courses de chevaux de plus de 100% grâce à l'apprentissage automatique
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (1)
Histoire de l'utilisation du jeton logiciel de Resona avec 1Password
Une histoire de prédiction du taux de change avec Deep Learning
Installation de TensorFlow, une bibliothèque d'apprentissage automatique de Google
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (3)
Mémo de construction d'environnement d'apprentissage automatique par Python
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (2)
Introduction à l'apprentissage automatique à partir de Simple Perceptron
À propos de la matrice mixte d'apprentissage automatique
Créer un environnement d'apprentissage automatique
Une note sur TensorFlow Introduction
Algorithme d'apprentissage automatique (perceptron simple)
Créez un environnement d'apprentissage automatique à l'aide de PyCharm sur un environnement Ubuntu (TensorFlow sera également introduit!)
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)
J'ai essayé d'héberger un modèle d'apprentissage en profondeur de TensorFlow à l'aide de TensorFlow Serving
Lancement d'un environnement d'apprentissage automatique à l'aide de Google Compute Engine (GCE)
Une histoire sur l'installation de matplotlib à l'aide de pip avec une erreur
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique
L'histoire d'un ingénieur directeur de 40 ans qui réussit "Deep Learning for ENGINEER"
Une histoire rafraîchissante sur Slice en Python
Apprenez Zundokokiyoshi en utilisant un simple RNN
Créer un outil de reconnaissance de visage à l'aide de TensorFlow
Une histoire de mauvaise humeur sur Slice en Python
Créer un tableau simple à l'aide de prettytable
Algorithme d'apprentissage automatique (analyse de régression unique)
Analyse inverse du modèle d'apprentissage automatique
Créer un modèle d'apprentissage à l'aide de MNIST
Développement d'applications à l'aide d'Azure Machine Learning
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
Créer une intelligence artificielle par apprentissage automatique à l'aide de TensorFlow à partir de zéro connaissance - Introduction 1
[Tutoriel] Créez un extracteur d'expressions unique en 30 minutes à l'aide de l'apprentissage automatique
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Prévision du cours des actions à l'aide de l'apprentissage automatique (scikit-learn)
Une histoire sur un remodelage magique qui met Lubuntu dans un Chromebook
Viser à devenir un ingénieur en apprentissage automatique en utilisant des MOOC depuis des postes de vente
[Apprentissage automatique] Classification des sujets LDA à l'aide de scikit-learn
Résolvez un simple problème de voyageur de commerce à l'aide d'une machine Boltzmann avec recuit simulé
Apprentissage automatique avec python (2) Analyse de régression simple
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
TensorFlow Machine Learning Cookbook Chapitre 2 Personnellement bouché
[Apprentissage automatique] Prédiction FX à l'aide de l'arbre de décision
Prévision du cours des actions à l'aide du Deep Learning (TensorFlow)
[ML-Aents] J'ai essayé l'apprentissage automatique en utilisant TensorFlow de Unity et Python (compatible v0.11β)
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow --⑥ Programme d'apprentissage
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow --⑧ Exécution d'apprentissage
Apprentissage automatique
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau