[PYTHON] Deep Learning / Cross Entropy

1. Zuallererst

Dieses Mal werde ich zusammenfassen, was ich über Kreuzentropie (Kreuzentropie) gelernt habe.

2. Ableitung aus der wahrscheinlichsten Schätzung

Wenn die Sigmoidfunktion $ \ sigma und $ y = $ \ sigma $ (W ・ x + b) ist, kann die Wahrscheinlichkeit, dass das Neuron feuert (Ausgabe 1), wie folgt ausgedrückt werden. P (C = 1 | x) = $ \ sigma $ (W · x + b)

Im Gegenteil, die Wahrscheinlichkeit, nicht zu feuern, kann wie folgt ausgedrückt werden. P (C = 0 | x) = 1- $ \ sigma $ (W · x + b)

Wenn diese beiden in einer Gleichung ausgedrückt werden, kann die Zündwahrscheinlichkeit eines Neurons wie folgt ausgedrückt werden (jedoch t = 0 oder t = 1).   P(C = t|x) = y^t(1 -y)^{1-t}

Da die Wahrscheinlichkeit L des gesamten Netzwerks das Produkt der Zündwahrscheinlichkeiten aller Neuronen ist,   L = \prod_{n=1}^N y_n^{t_n}(1-y_n)^{1-t_n}

Die maximale Wahrscheinlichkeit kann durch Maximieren dieser Gleichung erhalten werden, aber es ist einfacher, sie durch Minimieren zu optimieren. Multiplizieren Sie sie daher mit einem Minus. Das Multiplizieren von Wahrscheinlichkeiten erfordert ein Protokoll, da die Werte immer kleiner und schwieriger zu handhaben sind. Und wenn Sie durch N teilen, damit Sie vergleichen können, auch wenn sich N ändert,   L = -\frac{1}{N}\sum_{n=1}^N t_nlogy_n+(1-t_n)log(1-y_n)

Dies ist die Formel für Kreuzentropie (Kreuzentropie).

3. Spezifische Fehlerberechnung

Angenommen, die korrekte Antwortbezeichnung $ t_1 $ ~ $ t_3 $ und die Vorhersagewahrscheinlichkeit $ y_1 $ ~ $ y_3 $ lauten wie folgt. スクリーンショット 2020-03-28 11.29.28.png Einsetzen eines Wertes in die obige Kreuzentropieformel スクリーンショット 2020-03-28 11.54.05.png

4. Code

Wenn Sie den Code für die Kreuzentropie in Python schreiben,

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)

#Ausgabe
# [0.14462153]

Recommended Posts

Deep Learning / Cross Entropy
Tiefes Lernen
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Erstes tiefes Lernen ~ Kampf ~
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Deep Learning 1 Übung des Deep Learning
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
Python: Deep Learning Tuning
Deep Learning Großtechnologie
[Deep Learning von Grund auf neu] Layer-Implementierung von der Softmax-Funktion zum Überkreuzen von Entropiefehlern
Deep Learning / Softmax-Funktion
Deep Learning von Grund auf 1-3 Kapitel
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Deep Running 2 Tuning von Deep Learning
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Deep Learning für die Bildung von Verbindungen?
Einführung in Udacity Deep Learning Nanodegree
Themen> Deep Learning: Tag 3 RNN
Einführung in Deep Learning ~ Lernregeln ~
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Generiere Pokemon mit Deep Learning
Einführung in Deep Learning ~ Backpropagation ~
Deep Learning Model Lightening Library Distiller
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Identifikation der Katzenrasse mit Deep Learning
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Machen Sie ASCII-Kunst mit tiefem Lernen
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
Implementieren Sie Deep Learning / VAE (Variational Autoencoder)
Einführung in das tiefe Lernen ~ Funktionsnäherung ~
Versuchen Sie es mit TensorFlow Part 2
Tiefes Lernen von Grund auf neu (Kostenberechnung)
Über das Projektmanagement von Deep Learning (DNN)
Tiefes Lernen, um ohne GPU zu beginnen
Einführung in Deep Learning ~ Codierungsvorbereitung ~
Organisation von Plattformen für maschinelles Lernen und tiefes Lernen
Deep Learning durch Implementierung 1 gelernt (Return Edition)
Deep Learning / Deep Learning von Null 2 Kapitel 7 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 8 Memo
Microsoft Deep Learning Library "CNTK" Tutorial
Deep Learning / Deep Learning von Grund auf neu Kapitel 5 Memo
Überprüfen Sie die Kniebeugenform mit tiefem Lernen
Deep Learning / Deep Learning von Grund auf neu Kapitel 4 Memo
Deep Strengthing Learning 3 Praktische Ausgabe: Block Breaking
Deep Learning Bilderkennung 2 Modellimplementierung
Kategorisieren Sie Nachrichtenartikel mit Deep Learning