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.
――Personen, die von nun an künstliche Intelligenz studieren
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.
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) ”.
Stufe 1: ** Einfaches Steuerungsprogramm (Steuerungstechnik) ** ――Es wird zu Marketingzwecken "AI" genannt.
Zu den Bereichen Steuerungstechnik und Systemtechnik gehören
Stufe 2: ** Klassische künstliche Intelligenz ** ―― Von dieser Ebene aus wird es als künstliche Intelligenz untersucht
Verschiedene Verhaltensmuster
Inferenz, Suche, Wissensdatenbank usw.
Lerne nicht alleine
Stufe 3: ** Maschinelles Lernen **
Die Beziehung zwischen Eingabe und Ausgabe wird anhand der Daten gelernt
Lerne selbst
Stufe 4: ** Deep Learning **
Lernfunktionen zum Lernen aus Daten
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.
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
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
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
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
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).