Klicken Sie hier bis gestern
Sie werden in 100 Tagen Ingenieur - Tag 76 - Programmierung - Über maschinelles Lernen
Sie werden Ingenieur in 100 Tagen - Tag 70 - Programmieren - Über Scraping
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen
Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git
Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste
Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank
Sie werden Ingenieur in 100 Tagen 24-Python-Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1
Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1
Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1
Diesmal die Fortsetzung der Geschichte über maschinelles Lernen Eine Implementierung von Deep Learning.
Ich hoffe, Sie können das letzte Mal für eine kleine Erklärung sehen.
Grob gesagt handelt es sich bei "Deep Learning" um ein "neuronales Netzwerk" Es hat zwei oder mehr Zwischenschichten.
Es gibt auch eine "neuronale Netzwerk" -Bibliothek in Scikit-Learn.
Der Code zur Klassifizierung von Ayame kann wie folgt implementiert werden:
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
Beim tiefen Lernen dieses neuronale Netz Der Punkt ist, wie man zusammenbaut.
Daher gibt es einige dedizierte Bibliotheken.
Die aktuelle Mainstream-Deep-Learning-Bibliothek ist
TensorFlow
: Von Google entwickelte Bibliothek
Keras
: Entwickelt, um auf anderen Deep-Learning-Bibliotheken wie TensorFlow und Theano zu arbeiten
Pytorch
: Viele Forscher implementieren und veröffentlichen den Inhalt ihrer neuesten Arbeiten in PyTorch.
Kann erwähnt werden. Ich denke, dass die Anzahl der Beispiele für "Pytorch" in letzter Zeit relativ zugenommen hat, aber wenn Sie diese drei Verwendungen unterdrücken Ich denke es ist gut.
Lassen Sie uns Deep Learning mit Keras implementieren.
Weil Sie installieren müssen, um "Keras" zu verwenden
Lassen Sie es uns mit TensorFlow
installieren.
Führen Sie es nach der Installation aus. Bereiten Sie zuerst die Daten vor.
Trennen Sie die Daten für Training und Test.
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)
Damit haben wir die Daten für das Ende vorbereitet.
Erstellen Sie als Nächstes ein neuronales Netzwerk. Laden Sie zunächst die erforderlichen Bibliotheken.
Nach dem Laden des Modells fügen wir dort die Struktur hinzu. Dieses Mal werde ich ein Modell mit 32 Zwischenschichten bauen.
Geben Sie zunächst 32 Neuronen in der mittleren Schicht und 4 Neuronen in der Eingabeebene an. Geben Sie für jede Zwischenschicht die ReLU-Funktion als Aktivierungsfunktion an.
Geben Sie 3 Ausgabeebenen an und wenden Sie die Softmax-Funktion auf die Aktivierungsfunktion an
from keras.models import Sequential
from keras.layers import Dense,Activation
#Erstellen eines Modells zur Verwendung in einem neutralen Netzwerk
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'])
#Ausführung lernen
model.fit(x_train,y_train,epochs=100)
Dies ist das Ende des Lernens. Leistung ist ...
#Evaluierungsausführung
score = model.evaluate(x_test,y_test,batch_size = 1)
print(score[1])
30/30 [==============================] - 0s 886us/step 0.9666666388511658
Ist es nicht ziemlich gut?
Lassen Sie uns eine Vorhersage machen. Konvertiert den Indexwert des größten Werts in den vorhergesagten Wert.
#Prognose
predicts = model.predict(x_test)
print(predicts)
#Nehmen Sie den Indexwert des größten Wertes
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]]
Da die Wahrscheinlichkeit des numerischen Werts jeder Kategorie angegeben ist, ist die größte die richtige Antwort.
Vergleichen wir es mit der richtigen Antwort.
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
Abgesehen von einem ist es sehr genau.
Heute haben wir Ihnen eine Implementierung in Deep Learning gesendet. Tiefes Lernen ist zu tief für mich, um überhaupt zu lernen.
Es besteht kein Zweifel, dass es weiterhin das Zentrum der IT-Trends sein wird. Sie sollten nicht verlieren, auch wenn Sie studieren.
Lass es uns unten halten.
15 Tage, bis Sie Ingenieur werden
HP von Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython