L'intelligence artificielle (intelligence artificielle) est populaire, mais nous comprendrons à quoi ressemblent l'intelligence artificielle, l'apprentissage automatique et l'apprentissage en profondeur tout en les déplaçant. Cependant, nous aurons juste une idée de ce à quoi cela ressemble, donc au lieu de l'implémenter à partir de zéro, nous allons exploiter le cadre de la bibliothèque.
――Les personnes qui étudient désormais l'intelligence artificielle
--Comprendre la relation entre l'intelligence artificielle, l'apprentissage automatique et l'apprentissage en profondeur «Je peux en quelque sorte imaginer à quoi ressemblent l'intelligence artificielle, l'apprentissage automatique et l'apprentissage profond.
Pensez à ce qu'est l'intelligence artificielle en premier lieu. "[L'intelligence artificielle dépasse-t-elle les humains](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) »explique comme suit: Ça a été.
La véritable intelligence artificielle, c'est-à-dire qu'un «ordinateur qui pense comme un humain» n'a pas été créé.
En d'autres termes, la technologie qui semble agir comme un être humain est généralement appelée ** intelligence artificielle **. De plus, la définition de l'intelligence artificielle elle-même n'a pas été établie parmi les experts.
Ce qu'on appelle l'intelligence artificielle dans le monde peut être divisé en quatre niveaux: «[L'intelligence artificielle dépasse-t-elle les humains](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) ».
--Niveau 1: ** Programme de commande simple (ingénierie de commande) ** ――Il est appelé "AI" à des fins de marketing. --Appartenance aux domaines de l'ingénierie de contrôle et de l'ingénierie système
--Niveau 2: ** Intelligence artificielle classique ** ――C'est à partir de ce niveau qu'elle est étudiée comme intelligence artificielle
--Niveau 3: ** Apprentissage automatique ** --La relation entre l'entrée et la sortie est apprise en fonction des données
--Niveau 4: ** Apprentissage en profondeur **
L'intelligence artificielle, l'apprentissage automatique et l'apprentissage profond sont les suivants.
La relation entre l'intelligence artificielle / l'apprentissage automatique / l'apprentissage en profondeur et l'intelligence artificielle par niveau est illustrée dans la figure.
Déplaçons-le réellement. Ce sera l'intelligence artificielle de niveau 2, niveau 3 et niveau 4 à mettre en œuvre. À chaque niveau, le taux de réponse correcte (0,0 à 1,0) est calculé sous forme de score.
Tout d'abord, je vais expliquer les données prédites par l'intelligence artificielle. Utilisez l'ensemble de données iris de scikit-learn.
L'intelligence artificielle prédit le résultat à partir des données d'entrée (fonctionnalités). Cette fois, il y a 3 types d'iris à prédire, et nous allons prédire quel iris. Les fonctionnalités de prédiction sont les suivantes.
Jetons un coup d'œil au contenu des données. La dernière colonne cible est le nom de l'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
Tout d'abord, nous mettrons en œuvre l'intelligence artificielle classique. Cette fois, j'ai trouvé une tendance à partir des données et mis dans une simple connaissance.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
#Importer des données
iris = load_iris()
#Diviser en quantité de caractéristiques et variable d'objectif
X = iris['data']
y = iris['target']
#Diviser en données à former et en données pour mesurer la précision du modèle formé
#La mise en œuvre de niveau 2 n'apprend pas par elle-même, donc seules les données mesurant la précision sont utilisées
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
#Une fonction avec des règles intégrées (connaissances) pour prédire
#Prédire par branchement en fonction de la valeur de la fonction
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
#Fonction pour mesurer le score
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)
résultat
Score is 0.9555555555555556
Ensuite, nous mettrons en œuvre l'apprentissage automatique. Dans l'apprentissage automatique, le programme apprend à partir des données.
L'algorithme utilisé cette fois est la régression logistique, qui utilise la bibliothèque d'apprentissage automatique Python scikit-learn
.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
#Importer des données
iris = load_iris()
#Diviser en quantité de caractéristiques et variable d'objectif
X = iris['data']
y = iris['target']
#Diviser en données à former et en données pour mesurer la précision du modèle formé
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
#Soit l'algorithme utilisé une régression logistique
model = LogisticRegression()
#Apprentissage
model.fit(X_train, y_train)
#Mesure du score
score = model.score(X_test, y_test)
print('Score is', score)
résultat
Score is 0.8888888888888888
Enfin, la mise en œuvre du deep learning. En apprentissage profond, le programme génère des fonctionnalités à partir des données et les apprend.
Le deep learning mis en œuvre cette fois sera un réseau neuronal composé de 5 couches. La bibliothèque à utiliser est 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
#Importer des données
iris = load_iris()
#Diviser en quantité de caractéristiques et variable d'objectif
X = iris['data']
y = np_utils.to_categorical(iris['target'])
#Diviser en données à former et en données pour mesurer la précision du modèle formé
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
#Définir un modèle pour un réseau neuronal à 5 couches
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'])
#Apprentissage
model.fit(X_train, y_train, epochs=10, batch_size=10)
#Mesure du score
score = model.evaluate(X_test, y_test)
print('Score is', score[1])
résultat
Score is 0.8888888955116272
L'intelligence artificielle, l'apprentissage automatique et l'apprentissage en profondeur avaient les significations suivantes.
Pour chaque score, le résultat était que la base de règles la plus simple était élevée. Cependant, veuillez noter que cette fois-ci, les données étaient très simples, de sorte que la véritable valeur de l'apprentissage automatique / apprentissage profond n'a pas été démontrée.
L'intelligence artificielle / IA est devenue un sujet brûlant ces jours-ci, mais j'ai senti que ce que je voulais faire (objectif) était plus important que les moyens (qu'il s'agisse d'IA ou non).
Recommended Posts