[PYTHON] Künstliche Intelligenz, maschinelles Lernen, tiefes Lernen zu implementieren und zu verstehen

Einführung

KI (künstliche Intelligenz) ist beliebt, aber wir werden verstehen, wie künstliche Intelligenz, maschinelles Lernen und tiefes Lernen aussehen, wenn wir sie tatsächlich bewegen. Wir bekommen jedoch nur ein Gefühl dafür, wie es ist. Anstatt es von Grund auf neu zu implementieren, werden wir das Bibliotheks-Framework nutzen.

Zielgruppe

――Personen, die von nun an künstliche Intelligenz studieren

Tor

Was ist künstliche Intelligenz?

Denken Sie darüber nach, was künstliche Intelligenz überhaupt ist. "[Übersteigt künstliche Intelligenz den Menschen](https://www.amazon.co.jp/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD%E3%" 81% AF% E4% BA% BA% E9% 96% 93% E3% 82% 92% E8% B6% 85% E3% 81% 88% E3% 82% 8B% E3% 81% 8B-% E3% 83 % 87% E3% 82% A3% E3% 83% BC% E3% 83% 97% E3% 83% A9% E3% 83% BC% E3% 83% 8B% E3% 83% B3% E3% 82% B0 % E3% 81% AE% E5% 85% 88% E3% 81% AB% E3% 81% 82% E3% 82% 8B% E3% 82% 82% E3% 81% AE-% E8% A7% 92% E5% B7% 9DEPUB% E9% 81% B8% E6% 9B% B8-% E6% 9D% BE% E5% B0% BE-% E8% B1% 8A / dp / 4040800206) “erklärt wie folgt: Es ist gewesen.

Wahre künstliche Intelligenz - das heißt, ein "Computer, der wie ein Mensch denkt" wurde nicht geschaffen.

Mit anderen Worten, die Technologie, die sich wie ein Mensch zu verhalten scheint, wird allgemein als ** künstliche Intelligenz ** bezeichnet. Darüber hinaus wurde die Definition der künstlichen Intelligenz selbst unter Experten nicht festgelegt.

Künstliche Intelligenz nach Level

Was in der Welt als künstliche Intelligenz bezeichnet wird, kann in vier Ebenen unterteilt werden: "[Übersteigt künstliche Intelligenz den Menschen](https://www.amazon.co.jp/%E4%BA%BA%E5%B7] % A5% E7% 9F% A5% E8% 83% BD% E3% 81% AF% E4% BA% BA% E9% 96% 93% E3% 82% 92% E8% B6% 85% E3% 81% 88 % E3% 82% 8B% E3% 81% 8B-% E3% 83% 87% E3% 82% A3% E3% 83% BC% E3% 83% 97% E3% 83% A9% E3% 83% BC% E3% 83% 8B% E3% 83% B3% E3% 82% B0% E3% 81% AE% E5% 85% 88% E3% 81% AB% E3% 81% 82% E3% 82% 8B% E3% 82% 82% E3% 81% AE-% E8% A7% 92% E5% B7% 9DEPUB% E9% 81% B8% E6% 9B% B8-% E6% 9D% BE% E5% B0% BE-% E8 % B1% 8A / dp / 4040800206) ”.

Unterschiede zwischen künstlicher Intelligenz, maschinellem Lernen und tiefem Lernen

Künstliche Intelligenz, maschinelles Lernen und tiefes Lernen sind wie folgt.

Die Beziehung zwischen künstlicher Intelligenz / maschinellem Lernen / tiefem Lernen und künstlicher Intelligenz nach Ebenen ist in der Abbildung dargestellt.

ai.png

Implementieren und versuchen

Bewegen wir es tatsächlich. Es wird künstliche Intelligenz der Stufen 2, 3 und 4 implementiert. Auf jeder Ebene wird die richtige Antwortrate (0,0 bis 1,0) als Punktzahl berechnet.

Zunächst werde ich die von der künstlichen Intelligenz vorhergesagten Daten erläutern. Verwenden Sie den Iris-Datensatz von scikit-learn.

Künstliche Intelligenz sagt das Ergebnis aus den Eingabedaten (Merkmalen) voraus. Dieses Mal gibt es 3 Arten von Iris, die vorhergesagt werden können, und wir werden vorhersagen, welche Iris. Die Merkmale für die Vorhersage sind wie folgt.

Werfen wir einen Blick auf den Inhalt der Daten. Die letzte Zielspalte ist der Name der Iris.

   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  target
0                5.1               3.5                1.4               0.2  setosa
1                4.9               3.0                1.4               0.2  setosa
2                4.7               3.2                1.3               0.2  setosa
3                4.6               3.1                1.5               0.2  setosa
4                5.0               3.6                1.4               0.2  setosa
5                5.4               3.9                1.7               0.4  setosa
6                4.6               3.4                1.4               0.3  setosa
7                5.0               3.4                1.5               0.2  setosa
8                4.4               2.9                1.4               0.2  setosa
9                4.9               3.1                1.5               0.1  setosa

Klassische künstliche Intelligenz (Stufe 2)

Zunächst werden wir die klassische künstliche Intelligenz implementieren. Dieses Mal fand ich einen Trend aus den Daten und gab ein einfaches Wissen ein.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

#Daten importieren
iris = load_iris()

#Teilen Sie in Merkmalsmenge und Zielvariable
X = iris['data']
y = iris['target']
#Teilen Sie in zu trainierende Daten und Daten, um die Genauigkeit des trainierten Modells zu messen
#Die Implementierung der Stufe 2 lernt nicht von selbst, daher werden nur Daten verwendet, die die Genauigkeit messen
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

#Eine Funktion mit eingebetteten Regeln (Wissen) zur Vorhersage
#Vorhersage durch Verzweigung gemäß dem Merkmalswert
def predict_iris(feature):
    if feature[2] < 2 and feature[3] < 0.6:
        return 0
    elif 2 <= feature[2] < 5 and 0.6 <= feature[3] < 1.7:
        return 1
    else:
        return 2

#Funktion zum Messen der Punktzahl
def compute_score(pred, ans):
    correct_answer_num = 0
    for p, a in zip(pred, ans):
        if p == a:
            correct_answer_num += 1
    return correct_answer_num / len(pred)

pred = []
for feature in X_test:
    pred.append(predict_iris(feature))

score = compute_score(pred, y_test)

print('Score is', score)

Ergebnis

Score is 0.9555555555555556

Maschinelles Lernen (Stufe 3)

Als nächstes werden wir maschinelles Lernen implementieren. Beim maschinellen Lernen lernt das Programm aus den Daten.

Der diesmal verwendete Algorithmus ist die logistische Regression, bei der die Python-Bibliothek für maschinelles Lernen "scikit-learn" verwendet wird.

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

#Daten importieren
iris = load_iris()

#Teilen Sie in Merkmalsmenge und Zielvariable
X = iris['data']
y = iris['target']
#Teilen Sie in zu trainierende Daten und Daten, um die Genauigkeit des trainierten Modells zu messen
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

#Der verwendete Algorithmus sei eine logistische Regression
model = LogisticRegression()
#Lernen
model.fit(X_train, y_train)
#Score-Messung
score = model.score(X_test, y_test)

print('Score is', score)

Ergebnis

Score is 0.8888888888888888

Tiefes Lernen (Stufe 4)

Schließlich die Umsetzung von Deep Learning. Beim Deep Learning generiert das Programm Features aus den Daten und lernt sie.

Das diesmal implementierte Deep Learning wird ein neuronales Netzwerk sein, das aus 5 Schichten besteht. Die zu verwendende Bibliothek ist "Keras".

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from keras import layers
from keras import models
from keras.utils import np_utils

#Daten importieren
iris = load_iris()

#Teilen Sie in Merkmalsmenge und Zielvariable
X = iris['data']
y = np_utils.to_categorical(iris['target'])
#Teilen Sie in zu trainierende Daten und Daten, um die Genauigkeit des trainierten Modells zu messen
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

#Definieren Sie ein Modell für ein 5-Schicht-Neuronales Netzwerk
model = models.Sequential()
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(3, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

#Lernen
model.fit(X_train, y_train, epochs=10, batch_size=10)

#Score-Messung
score = model.evaluate(X_test, y_test)

print('Score is', score[1])

Ergebnis

Score is 0.8888888955116272

Zusammenfassung

Künstliche Intelligenz, maschinelles Lernen und tiefes Lernen hatten die folgenden Bedeutungen.

Für jede Punktzahl war das Ergebnis, dass die einfachste Regelbasis hoch war. Bitte beachten Sie jedoch, dass die Daten diesmal sehr einfach waren, sodass der wahre Wert des maschinellen Lernens / Tiefenlernens nicht nachgewiesen wurde.

Künstliche Intelligenz / KI ist heutzutage ein heißes Thema geworden, aber ich hatte das Gefühl, dass das, was ich tun wollte (Zweck), wichtiger war als Mittel (ob es KI war oder nicht).

Verweise

Recommended Posts

Künstliche Intelligenz, maschinelles Lernen, tiefes Lernen zu implementieren und zu verstehen
Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Notieren Sie die Schritte zum Verständnis des maschinellen Lernens
Einführung in Deep Learning ~ Falten und Pooling ~
Zusammenfassung der empfohlenen APIs für künstliche Intelligenz, maschinelles Lernen und KI
Einführung in Deep Learning ~ Lokalisierungs- und Verlustfunktion ~
Einführung in das maschinelle Lernen
Schulservice, in dem Sie Programmiersprache Python und Technologie der künstlichen Intelligenz (maschinelles Lernen / Deep Learning) lernen können (kostenlos / kostenpflichtig)
Eine Einführung in das maschinelle Lernen
Verstehe maschinelles Lernen ~ Ridge Regression ~.
Maschinelles Lernen und mathematische Optimierung
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Super Einführung in das maschinelle Lernen
Einführung in Deep Learning ~ Backpropagation ~
Neuronales Netzwerk zum Verstehen und Implementieren in der Mathematik der High School
Persönliche Memos und Links zum maschinellen Lernen BI (BI / Visualisierung)
"Tiefe Kopie" und "flache Kopie", um mit dem kleinsten Beispiel zu verstehen
Maschinelles Lernen mit Nogisaka 46 und Keyakizaka 46 Teil 1 Einführung
Ich habe versucht, Perceptron Teil 1 [Deep Learning von Grund auf neu] zu implementieren.
Ich habe versucht, Deep VQE zu implementieren
Einführung in das maschinelle Lernen Schreiben von Notizen
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
Künstliche Intelligenz durch maschinelles Lernen mit TensorFlow aus Null Wissen schaffen - Einführung 1
Implementieren Sie Deep Learning / VAE (Variational Autoencoder)
[Maschinelles Lernen] Verstehen Sie aus der Mathematik, warum der Korrelationskoeffizient zwischen -1 und 1 liegt.
Einführung in das tiefe Lernen ~ Funktionsnäherung ~
Tiefes Lernen, um ohne GPU zu beginnen
Klassifikation und Regression beim maschinellen Lernen
Einführung in Deep Learning ~ Codierungsvorbereitung ~
Einführung in die Bibliothek für maschinelles Lernen SHOGUN
Der Versuch, Segmentbäume Schritt für Schritt zu implementieren und zu verstehen (Python)
Einführung in Deep Learning ~ Dropout Edition ~
Einführung in Deep Learning ~ Forward Propagation ~
Einführung in Deep Learning ~ CNN Experiment ~
Sammeln von Daten zum maschinellen Lernen
Über den kürzesten Weg, um ein Bilderkennungsmodell durch maschinelles Lernen zu erstellen und eine Android-Anwendung zu implementieren
Ich habe versucht, Deep Learning zu implementieren, das nicht nur mit NumPy tiefgreifend ist
Suchen Sie nach technischen Blogs durch maschinelles Lernen mit dem Schwerpunkt "Verständlichkeit"
(Maschinelles Lernen) Ich habe versucht, die Bayes'sche lineare Regression bei der Implementierung sorgfältig zu verstehen
Ich habe versucht, Oba Hanana und Otani Emiri durch tiefes Lernen zu klassifizieren
Anfänger des maschinellen Lernens nehmen an Courseras Deep Learning-Kurs teil
[Maschinelles Lernen] OOB (Out-Of-Bag) und sein Verhältnis
Einführung in das maschinelle Lernen: Funktionsweise des Modells
Verbessertes Lernen, um von null bis tief zu lernen
Implementieren und verstehen Sie den Union-Find-Baum in Go
Ich habe Python 3.5.1 installiert, um maschinelles Lernen zu studieren
Bedeutung von Deep-Learning-Modellen und -Parametern
Eine Einführung in OpenCV für maschinelles Lernen
So studieren Sie den Deep Learning G-Test
Bildausrichtung: von SIFT bis Deep Learning
Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Wie man Coursera / Maschinelles Lernen genießt (Woche 10)
"OpenCV-Python Tutorials" und "Praktisches maschinelles Lernsystem"
Kammregression verstehen und implementieren (L2-Regularisierung)
Maschinelles Lernen
Erstellen Sie eine Python-Umgebung, um die Theorie und Implementierung von Deep Learning zu erlernen
Ich habe versucht, verschiedene Methoden für maschinelles Lernen (Vorhersagemodell) mithilfe von Scicit-Learn zu implementieren
Ich habe versucht, das Bild zu verarbeiten und zu transformieren und die Daten für maschinelles Lernen zu erweitern
Ich habe versucht, Cifar10 mit der SONY Deep Learning Library NNabla [Nippon Hurra] zu implementieren.