[PYTHON] J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 2

perceptron

Perceptron est un algorithme, ancien, Vous devez le savoir lorsque vous apprenez le machine learning.

Perceptron simple

Par exemple, essayez de calculer les abonnés populaires. Supposons que l'indice à ce moment-là soit le nombre d'inscriptions aux chaînes YouTube et le nombre d'abonnés Twitter.

Par exemple

Nom d'utilisateur Nombre de chaînes enregistrées Populaire(S'il y a 1)
aaa 50 0
bbb 10000 0
ccc 100000 1
ddd 90000 0
eee 120000 1
Nom d'utilisateur tw Nombre d'abonnés Populaire(S'il y a 1)
aaa 100 0
bbb 10 0
ccc 7000 1
ddd 150000 1
eee 90000 1

Dans ce cas, puisque ◯ est ccc et eee, vous pourrez voir s'il deviendra populaire aux limites suivantes. スクリーンショット 2020-05-21 11.20.34.png

Si les deux sont populaires, nous les considérerons comme populaires. Parlant ci-dessus, ccc et eee seront populaires.

Dans ce cas, en créant une limite, vous pouvez dire si elle est populaire ou impopulaire. スクリーンショット 2020-05-21 11.22.56.png

Pour effectuer cette division dans le programme réel, w = poids, thêta = biais (ajustement de l'inclinaison) Ajustez d'environ la valeur pour qu'elle puisse être allouée par 0,1 (◯ × sur la figure) Nombre de canaux = w1 = 1,6 tw Nombre d'adeptes = w2 = 0,11 Et définissons le seuil de 0,1 à 160500 Hmm, comment avez-vous trouvé cette valeur? Il n'y a pas d'autre choix que de le frapper de manière appropriée. Tout d'abord, trouvez la valeur de tmp et voyez si elle vaut 0 ou 1. Peut être jugé. Définir temporairement le seuil, s'il n'est pas correct Cela ressemble à un réglage fin de w1, w2, thêta. Ce travail manuel est également difficile pour Perceptron.

def AND_famous(x1,x2):
    w1 = 1.6
    w2 = 0.11
    theta = 160500
    tmp = w1*x1 + w2*x2
    
    if tmp <= theta:
        y = 0
    else:
        y = 1
    return y

print(AND_famous(50,100))
print(AND_famous(10000,10))
print(AND_famous(100000,7000))
print(AND_famous(90000,150000))
print(AND_famous(120000,90000))

//résultat de la console
0
0
1
0
1

Avec Simple Perceptron, vous pouvez diviser la classification qui peut être regroupée par une ligne droite.

Perceptron multicouche

Il y a des cas où cela ne peut être fait dans les cas ci-dessus. Par exemple, que feriez-vous avec ce résultat?

Juge ceux qui excellent dans un seul art (sans compter deux arts) Les critères de jugement seront géniaux (XOR) si l'un ou l'autre est vrai référence) https://wwws.kobe-c.ac.jp/deguchi/sc180/logic/gate.html https://the01.jp/p0004619/

Nom d'utilisateur Résultat du test (3),4 est normal) Talent(S'il y a 1)
aaa 3 0
bbb 70 0
ccc 92 1
ddd 6 0
eee 97 0
Nom d'utilisateur Valeur de la capacité de peinture (jusqu'à 100) Talent(S'il y a 1)
aaa 100 1
bbb 40 0
ccc 98 1
ddd 92 1
eee 70 0

Dans ce cas, un seul d'entre eux excelle Ce sera aaa, ddd, eee. La figure est la suivante

スクリーンショット 2020-05-21 1.12.52.png

En regardant la figure ci-dessus, je pense que je vais classer par ○ et x. Lorsque vous tracez une ligne de regroupement, cela ressemble à ceci. Ce n'est pas un programme cette fois, mais il est bon de se rappeler que cela peut être réalisé en concaténant de simples perceptrons.

スクリーンショット 2020-05-21 1.23.53.png

Résumé, Simple Perceptron peut tracer une ligne de 0,1 avec une ligne droite Plusieurs Perceptrons peuvent tracer une frontière 0,1 sur une courbe, mais seulement ceux qui peuvent être combinés avec des Perceptrons simples Sera.

Alors, n'est-il pas possible de tout faire avec Perceptron? Par exemple

prime

La figure est comme ça Schéma de plusieurs perceptrons

import matplotlib.pyplot as plt

#plt.plot(x3)

plt.plot(3,100,marker='o')
plt.plot(70,40,marker='x')
plt.plot(92,98,marker='x')
plt.plot(6,92,marker='o')
plt.plot(97,70,marker='o')

Recommended Posts

J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 2
[Pour les débutants] Je souhaite expliquer le nombre d’apprentissage d’une manière facile à comprendre.
[Python] J'ai essayé d'expliquer des mots difficiles à comprendre pour les débutants d'une manière facile à comprendre.
[Deep Learning from scratch] J'ai essayé d'expliquer la confirmation du gradient d'une manière facile à comprendre.
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
Un lecteur d'introduction à la théorie de l'apprentissage automatique pour les ingénieurs informatiques a essayé Kaggle
J'ai essayé de résumer Cpaw Level1 & Level2 Write Up d'une manière facile à comprendre
Introduction au Deep Learning (1) --Chainer est expliqué d'une manière facile à comprendre pour les débutants-
J'ai essayé de prédire l'évolution de la quantité de neige pendant 2 ans par apprentissage automatique
J'ai essayé de créer un environnement d'apprentissage automatique avec Python (Mac OS X)
[Apprentissage automatique] Résumons la forêt aléatoire de manière simple à comprendre
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de bien le comprendre en implémentant l'algorithme Adaboost en machine learning (+ j'ai approfondi ma compréhension du calcul de tableaux)
J'ai essayé de faire 5 modèles de base d'analyse en 3 ans
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Je vais vous expliquer comment utiliser Pandas d'une manière facile à comprendre.
[Apprentissage automatique] J'ai essayé de faire quelque chose comme passer des images
Une introduction à OpenCV pour l'apprentissage automatique
Une introduction à Python pour l'apprentissage automatique
(Apprentissage automatique) J'ai essayé de comprendre attentivement la régression linéaire bayésienne avec l'implémentation
J'ai essayé de comprendre attentivement la fonction d'apprentissage dans le réseau de neurones sans utiliser la bibliothèque d'apprentissage automatique (deuxième moitié)
Une introduction à l'apprentissage automatique pour les développeurs de robots
[Pour les débutants] Introduction à la vectorisation dans l'apprentissage automatique
J'ai essayé d'organiser les index d'évaluation utilisés en machine learning (modèle de régression)
[Azure] J'ai essayé de créer une machine virtuelle Linux avec Azure de Microsoft Learn
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé d'implémenter diverses méthodes d'apprentissage automatique (modèle de prédiction) en utilisant scicit-learn
J'ai essayé de traiter et de transformer l'image et d'élargir les données pour l'apprentissage automatique
Je veux faire du machine learning même sans serveur - Time Series Edition -
J'ai essayé de comprendre attentivement la fonction d'apprentissage dans le réseau de neurones sans utiliser la bibliothèque d'apprentissage automatique (première moitié)
J'ai essayé d'expliquer comment obtenir le contenu de l'article avec l'API MediaWiki d'une manière facile à comprendre avec des exemples (Python 3)
J'ai essayé de déplacer l'apprentissage automatique (détection d'objet) avec TouchDesigner
Créez un environnement interactif pour l'apprentissage automatique avec Python
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
Depuis que j'ai touché Tensorflow pendant 2 mois, j'ai expliqué le réseau de neurones convolutifs d'une manière facile à comprendre avec 95,04% d'identification «hiragana manuscrite».
J'ai essayé de comparer la précision des modèles d'apprentissage automatique en utilisant kaggle comme thème.
Application correspondante, j'ai essayé de prendre des statistiques de personnes fortes et j'ai essayé de créer un modèle d'apprentissage automatique
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique
J'ai essayé l'apprentissage automatique pour convertir des phrases en style XX
J'ai essayé d'implémenter ListNet d'apprentissage de rang avec Chainer
J'ai essayé d'implémenter le blackjack du jeu Trump en Python
J'ai essayé de créer un article dans Wiki.js avec SQL Alchemy
Une introduction à l'apprentissage automatique
[Apprentissage automatique] Comprenez à partir des mathématiques que la normalisation se traduit par une moyenne de 0 et un écart type de 1.
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Introduction ~
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Implémentation ~
J'ai essayé de créer un environnement de MkDocs sur Amazon Linux
Notez que je comprends l'algorithme du classificateur Naive Bayes. Et je l'ai écrit en Python.
J'ai essayé l'apprentissage automatique avec liblinear
J'ai écrit un livre qui vous permet d'apprendre les implémentations et les algorithmes d'apprentissage automatique de manière équilibrée.
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Battle Edition ~
J'ai essayé d'appeler l'API de prédiction du modèle d'apprentissage automatique de WordPress
Comment utiliser l'apprentissage automatique pour le travail? 02_Aperçu du projet de développement AI
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
Recherche de blogs techniques par machine learning en mettant l'accent sur la "facilité de compréhension"
Je veux colorer une partie de la chaîne Excel avec Python