[PYTHON] L'apprentissage automatique peut-il prédire les quadrilatères parallèles? (1) Peut-il être inséré à l'extérieur?

L'apprentissage automatique peut-il être extrapolé?

Conférence Hyogo Prefectural Materials Informatics (4e) Conférence 2 "Méthode de conception des descripteurs" Hyogo Prefectural University Advanced Industry Le professeur Fujii de l'Institut des sciences et technologies a donné une conférence sur la conception des descripteurs. Je ne comprends toujours pas la baisse de rang, mais je pense que c'était une très bonne conférence. J'ai beaucoup appris.

Il y avait un exemple de triangle au milieu de la conférence, et je pensais que c'était vrai, alors j'ai joué avec un quadrilatère parallèle comme exemple.

Question: L'aire d'un quadrilatère parallèle peut-elle être prédite compte tenu des trois caractéristiques de la longueur des deux côtés et de l'angle entre les deux côtés? Est-il possible d'externaliser?

Tout d'abord, afin d'obtenir l'aire du quadrilatère parallèle de la figure suivante, 1000 longueurs aléatoires des deux côtés et l'angle entre les deux côtés ont été créés. La longueur du côté est comprise entre 100 et 1000 et l'angle est de 90 degrés ou moins.

sihenkei.JPG

Si vous pensez aux mathématiques au lycée, vous savez que la formule de l'aire d'un quadrilatère parallèle peut être obtenue en multipliant la base et la hauteur, mais comme vous ne connaissez pas la hauteur, vous pouvez trouver la hauteur à l'aide d'une fonction triangulaire.

height = b*sin(c)

Une fois que vous avez la hauteur, multipliez-la par le bas.

\begin{align}
area &= height*a\\
&=b*sin(c)*a
\end{align}

Je l'ai écrit en grand, mais c'est facile parce que c'est un niveau de mathématiques au lycée. Ceci complète un ensemble de données de trois grandeurs de caractéristiques (longueur a, b, angle c) et l'aire de la variable objectif.

Voici la question. Question 1. Les quadrilatères parallèles peuvent-ils être appris par machine? Quelle est la précision? Question 2. Est-il possible d'extrapoler à partir des résultats de l'apprentissage automatique? Est-il possible de prédire une valeur donnée autre que celle calculée en apprenant la longueur du côté?

Bien sûr, la question 2 ne doit pas être extrapolée car c'est du machine learning, mais je ne savais pas à quoi cela ressemblerait, alors je l'ai calculée. Est-il possible d'extrapoler un quadrilatère parallèle?

Question 1. Les quadrilatères parallèles peuvent-ils être appris par machine? Quelle est la précision?

J'ai essayé d'utiliser trois machine learning. ・ Retour LASSO ・ Forêt aléatoire ·réseau neuronal Les deux utilisent scikit-learn. LASSO est utilisé parce que la quantité de caractéristiques est augmentée plus tard dans la conception du descripteur et que la quantité de caractéristiques est sélectionnée et jouée, de sorte que la quantité de caractéristiques est petite, mais elle est calculée par Lasoo. En passant, j'ai calculé α de Lasso comme 1 et la couche cachée du réseau neuronal (MLP) comme 100.

Le résultat. Le coefficient de décision ressemble à ceci.

Coefficient de décision Apprentissage tester
Régression au lasso 0.796 0.778
Forêt aléatoire 0.998 0.989
réseau neuronal 0.919 0.913

En regardant cela, la forêt aléatoire semble bonne, puis le réseau de neurones, mais qu'en est-il du graphique? lasso.png randomforest.png mlp.png

La forêt aléatoire était assez prévisible. Le réseau de neurones (MLP) est également un peu répandu, mais c'est aussi bien prévisible. Dans la régression Lasso, plus le nombre est élevé, meilleure est la prédiction, mais plus le nombre est petit, plus la prédiction est large.

Question 2. Est-il possible d'extrapoler à partir des résultats de l'apprentissage automatique? Est-il possible de prédire une valeur donnée autre que celle calculée en apprenant la longueur du côté?

Est-il possible de prédire les petits et les grands domaines de valeurs numériques en utilisant cet apprenant?

Angle c
Pour apprendre 100~1000 100~1000 0~90
Pour l'examen de la face inférieure de l'insertion externe 10~90 500 45
Pour examiner la limite supérieure de l'insertion externe 1010~2000 500 45

Que va-t-il se passer avec cela? b et c sont internes, et seul a est externe. Sera-ce possible s'il n'y en a qu'un?

gaisoukentou.JPG

qiita_you.JPG

C'est un graphique du résultat du calcul. Comme prévu? Inattendu? lasso_gaisou.png rf_gaisou.png

mlp_gaisou.png La ligne rouge est diagonale, mais ni la forêt aléatoire ni le réseau neuronal ne peuvent être prédits du tout avec un peu d'extrapolation. Quelque chose comme un réseau de neurones a un numéro mal placé. Ça n'a pas marché. La régression lasso de la régression linéaire est bonne pour prédire l'extrapolation.

Vous devez faire très attention à l'extrapolation lorsque vous faites des prédictions numériques. Veuillez noter que seul l'un des trois est hors des fonctionnalités d'apprentissage, et autre que la régression linéaire, le résultat sera comme ceci.

Si vous souhaitez extrapoler ne serait-ce qu'un peu, utilisez l'extrapolation avec régression linéaire.

C'est tout pour aujourd'hui, mais qu'en est-il de l'extrapolation, qui ressemble à une insertion interne?

Question 3: Est-il possible d'apprendre avec des valeurs petites et grandes et de faire des prédictions entre-temps?

Si vous imaginez, c'est également imprévisible, sauf pour la régression linéaire, j'en suis sûr.

C'est dans le prochain article L'apprentissage automatique peut-il prédire les quadrilatères parallèles? (2) Que se passe-t-il quand un externe est inséré alors qu'il ressemble à une insertion interne? ??

Donc, ce côté quadrilatéral parallèle continue.

Recommended Posts

L'apprentissage automatique peut-il prédire les quadrilatères parallèles? (1) Peut-il être inséré à l'extérieur?
L'apprentissage automatique peut-il prédire les quadrilatères parallèles? (2) Que se passe-t-il quand un externe est inséré alors qu'il ressemble à une insertion interne? ??
Cela pourrait être récursif
Prédire la demande de puissance avec l'apprentissage automatique, partie 2
Apprentissage automatique
Jouer avec l'apprentissage automatique: Q-Learning peut-il déterminer si des actions liées au marketing doivent être prises?
Introduction du package de collecte automatique d'images "icrawler" (0.6.3) qui peut être utilisé pendant l'apprentissage automatique
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
Essayez de prédire le taux de change (FX) avec un apprentissage automatique non approfondi
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Cours de Deep Learning pouvant être écrasé sur place
Tout pour que les débutants puissent faire du machine learning