Cliquez ici jusqu'à hier
Vous deviendrez ingénieur dans 100 jours-70-Programmation-À propos du scraping
Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1
Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes
Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git
Vous deviendrez ingénieur dans 100 jours --Jour 42 --Cloud --À propos des services cloud
Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1
Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1
Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1
Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1
Cette fois, la suite de l'histoire de l'apprentissage automatique Une mise en œuvre du deep learning.
J'espère que vous pouvez voir la dernière fois pour une petite explication.
En gros, «l'apprentissage profond» est un «réseau neuronal» Il a deux ou plusieurs couches intermédiaires.
Il existe également une bibliothèque de «réseau neuronal» dans scikit-learn.
Le code qui classe Ayame peut être implémenté comme suit.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPClassifier
iris = load_iris()
X = iris.data
Y = iris.target
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)
clf = MLPClassifier(solver="sgd",random_state=0,max_iter=10000)
clf.fit(x_train, y_train)
print (clf.score(x_test, y_test))
0.9555555555555556
Dans l'apprentissage profond, ce réseau neuronal Le point est de savoir comment assembler.
Par conséquent, il existe des bibliothèques dédiées.
La bibliothèque d'apprentissage en profondeur grand public actuelle est
TensorFlow
: bibliothèque développée par Google
Keras
: conçu pour fonctionner avec d'autres bibliothèques d'apprentissage en profondeur telles que TensorFlow et Theano
Pytorch
: De nombreux chercheurs mettent en œuvre et publient le contenu de leurs derniers articles récents dans PyTorch.
Peut être mentionné.
Je pense que le nombre d'exemples de Pytorch
a augmenté relativement récemment, mais si vous supprimez ces trois usages
Je pense que c'est bien.
Implémentons le deep learning en utilisant Keras
.
Parce que vous devez installer pour utiliser Keras
Installons-le avec TensorFlow
.
Une fois installé, exécutez-le. Préparez d'abord les données.
Séparez les données pour la formation et les tests.
import numpy as np
from sklearn.model_selection import train_test_split as split
from sklearn import datasets
iris = datasets.load_iris()
x_train, x_test, y_train, y_test = split(iris.data,iris.target,train_size=0.8,test_size=0.2)
Avec cela, nous avons préparé les données pour la fin.
Ensuite, construisez un réseau neuronal. Commencez par charger les bibliothèques nécessaires.
Après avoir chargé le modèle, nous y ajouterons la structure. Cette fois, je vais construire un modèle avec 32 couches intermédiaires.
Tout d'abord, spécifiez 32 neurones dans la couche intermédiaire et 4 neurones dans la couche d'entrée. Pour chaque couche intermédiaire, spécifiez la fonction ReLU comme fonction d'activation.
Spécifiez 3 couches de sortie et appliquez la fonction softmax à la fonction d'activation
from keras.models import Sequential
from keras.layers import Dense,Activation
#Créer un modèle à utiliser dans un réseau neutre
model = Sequential()
model.add(Dense(32, activation = 'relu' , input_dim=4))
model.add(Dense( 3, activation = 'softmax'))
model.compile(loss='sparse_categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])
#Exécution de l'apprentissage
model.fit(x_train,y_train,epochs=100)
C'est la fin de l'apprentissage. La performance est ...
#Exécution de l'évaluation
score = model.evaluate(x_test,y_test,batch_size = 1)
print(score[1])
30/30 [==============================] - 0s 886us/step 0.9666666388511658
N'est-ce pas assez bon?
Faisons une prédiction. Convertit la valeur d'index de la valeur la plus élevée en valeur prédite.
#Prévoir
predicts = model.predict(x_test)
print(predicts)
#Prenez la valeur d'index de la plus grande valeur
predict = [p.argmax() for p in predicts]
[[1.1208696e-01 6.7907917e-01 2.0883384e-01] [2.8818967e-03 2.8327599e-01 7.1384215e-01] [9.5001817e-01 4.9240895e-02 7.4097671e-04] [7.4494570e-03 5.3676081e-01 4.5578974e-01] [4.5553190e-03 4.4827569e-01 5.4716897e-01] [9.0425771e-01 9.3258828e-02 2.4834664e-03] [9.8394436e-01 1.5963007e-02 9.2610091e-05] [9.3106699e-01 6.7388512e-02 1.5446048e-03] [2.9033832e-03 3.8279051e-01 6.1430609e-01] [7.6781757e-02 7.3785144e-01 1.8536681e-01] [9.0473723e-01 9.2504598e-02 2.7581297e-03] [2.3145874e-03 2.9854658e-01 6.9913888e-01] [1.1571125e-03 2.1894032e-01 7.7990258e-01] [3.8370032e-02 5.8638370e-01 3.7524620e-01] [1.8353970e-03 3.2460487e-01 6.7355973e-01] [4.0023820e-03 3.6881861e-01 6.2717897e-01] [9.3579787e-01 6.3313372e-02 8.8873273e-04] [2.8993792e-03 3.9125395e-01 6.0584664e-01] [1.7156457e-03 3.7600714e-01 6.2227720e-01] [5.9143644e-02 7.4147564e-01 1.9938073e-01] [4.4851364e-03 4.1915748e-01 5.7635736e-01] [2.1494372e-01 6.4855641e-01 1.3649981e-01] [7.4421586e-03 4.6687931e-01 5.2567846e-01] [4.7624888e-04 3.0563667e-01 6.9388705e-01] [9.5614207e-01 4.3193795e-02 6.6417205e-04] [5.6969654e-02 7.1488911e-01 2.2814126e-01] [2.0755678e-03 3.4245396e-01 6.5547043e-01] [9.3328977e-01 6.5471925e-02 1.2382563e-03] [1.8808943e-03 2.6230952e-01 7.3580956e-01] [9.6379587e-04 2.6067016e-01 7.3836607e-01]]
Puisque la probabilité de la valeur numérique de chaque catégorie est donnée, la plus grande est la bonne réponse.
Comparons-le avec la bonne réponse.
for y_pred,y_true in zip(predict,y_test):
print(y_pred,y_true)
1 1 2 2 0 0 1 2 2 2 0 0 0 0 0 0 2 2 1 1 0 0 2 2 2 2 1 1 2 2 2 2 0 0 2 2 2 2 1 1 2 2 1 1 2 2 2 2 0 0 1 1 2 2 0 0 2 2 2 2
Sauf un, c'est très précis.
Aujourd'hui, nous vous avons envoyé une implémentation en Deep Learning. L'apprentissage profond est trop profond pour que j'apprenne du tout.
Il ne fait aucun doute qu'il restera au centre des tendances informatiques. Vous ne devriez pas perdre même si vous étudiez.
Gardons-le bas.
15 jours avant de devenir ingénieur
HP d'Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython
Recommended Posts