[PYTHON] Apprentissage profond / entropie croisée

1.Tout d'abord

Cette fois, je vais résumer ce que j'ai appris sur l'entropie croisée (entropie croisée).

2. Dérivation de l'estimation la plus probable

Si la fonction sigmoïde est $ \ sigma et $ y = $ \ sigma $ (W ・ x + b), la probabilité que le neurone se déclenche (sortie 1) peut être exprimée comme suit. P (C = 1 | x) = $ \ sigma $ (W · x + b)

Au contraire, la probabilité de ne pas tirer peut être exprimée comme suit. P (C = 0 | x) = 1- $ \ sigma $ (W · x + b)

En exprimant ces deux dans une équation, la probabilité de déclenchement d'un neurone peut être exprimée comme suit (cependant, t = 0 ou t = 1).   P(C = t|x) = y^t(1 -y)^{1-t}

Puisque la probabilité L de l'ensemble du réseau est le produit des probabilités de déclenchement de tous les neurones,   L = \prod_{n=1}^N y_n^{t_n}(1-y_n)^{1-t_n}

Le maximum de vraisemblance peut être obtenu en maximisant cette équation, mais il est plus facile de l'optimiser en la minimisant, donc multipliez-le par un moins. La multiplication des probabilités prend un journal car les valeurs deviennent de plus en plus petites et difficiles à gérer. Et si vous divisez par N pour pouvoir comparer même si N change,   L = -\frac{1}{N}\sum_{n=1}^N t_nlogy_n+(1-t_n)log(1-y_n)

C'est la formule de l'entropie croisée (entropie croisée).

3. Calcul d'erreur spécifique

Supposons maintenant que l'étiquette de réponse correcte $ t_1 $ ~ $ t_3 $ et la probabilité de prédiction $ y_1 $ ~ $ y_3 $ soient les suivantes. スクリーンショット 2020-03-28 11.29.28.png Remplacer une valeur dans la formule d'entropie croisée ci-dessus スクリーンショット 2020-03-28 11.54.05.png

4. Code

Si vous écrivez le code pour l'entropie croisée en python,

import numpy as np

def calc_cross_entropy(y_true, y_pred):
    loss = np.mean( -1 * (y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred)), axis=0)
    return loss

y_true =np.array([[1], [0], [0]])
y_pred = np.array([[0.8], [0.1], [0.1]])

answer = calc_cross_entropy(y_true,  y_pred)
print(answer)

#production
# [0.14462153]

Recommended Posts

Apprentissage profond / entropie croisée
L'apprentissage en profondeur
Mémorandum d'apprentissage profond
Commencer l'apprentissage en profondeur
Apprentissage en profondeur Python
Apprentissage profond × Python
Premier apprentissage profond ~ Lutte ~
Python: pratique du Deep Learning
Fonctions d'apprentissage en profondeur / d'activation
Apprentissage profond à partir de zéro
Deep learning 1 Pratique du deep learning
Premier apprentissage profond ~ Préparation ~
Première solution d'apprentissage en profondeur ~
[AI] Apprentissage métrique profond
J'ai essayé le deep learning
Python: réglage du Deep Learning
Technologie d'apprentissage en profondeur à grande échelle
[Deep Learning from scratch] Implémentation de couche de la fonction softmax à l'erreur d'entropie croisée
Fonction d'apprentissage profond / softmax
Apprentissage profond à partir de zéro 1 à 3 chapitres
Deep Learning Gaiden ~ Programmation GPU ~
<Cours> Apprentissage en profondeur: Day2 CNN
Deep running 2 Réglage de l'apprentissage profond
<Cours> Apprentissage en profondeur: Jour 1 NN
Apprentissage profond du noyau avec Pyro
Essayez le Deep Learning avec FPGA
Apprentissage profond pour la formation composée?
Présentation d'Udacity Deep Learning Nanodegree
Sujets> Deep Learning: Day3 RNN
Introduction au Deep Learning ~ Règles d'apprentissage ~
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
Générez des Pokémon avec Deep Learning
Introduction au Deep Learning ~ Rétropropagation ~
Distillateur de bibliothèque d'éclaircissement de modèles d'apprentissage profond
Deep learning / Deep learning from scratch 2 Chapitre 4 Mémo
Identification de la race de chat avec Deep Learning
Deep learning / Deep learning made from scratch Chapitre 3 Mémo
Faites de l'art ASCII avec l'apprentissage en profondeur
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 5 Mémo
Implémenter le deep learning / VAE (Variational Autoencoder)
Introduction à l'apprentissage en profondeur ~ Approximation des fonctions ~
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
Apprentissage profond à partir de zéro (calcul des coûts)
À propos de la gestion de projet de deep learning (DNN)
Apprentissage profond pour démarrer sans GPU
Introduction à l'apprentissage profond ~ Préparation au codage ~
Organisez des plateformes d'apprentissage automatique et d'apprentissage en profondeur
Apprentissage profond appris par l'implémentation 1 (édition de retour)
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 7 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 8 Mémo
Didacticiel "CNTK" de la bibliothèque d'apprentissage en profondeur de Microsoft
Deep learning / Deep learning made from scratch Chapitre 5 Mémo
Vérifiez la forme de squat avec l'apprentissage en profondeur
Deep learning / Deep learning made from scratch Chapitre 4 Mémo
Deep Strengthening Learning 3 Édition pratique: Briser des blocs
Implémentation du modèle de reconnaissance d'images d'apprentissage en profondeur 2
Catégoriser les articles de presse grâce au Deep Learning