Kreuzentropie – Wikipedia

before-content-x4

In der Informationstheorie ist die Kreuzentropie zwischen zwei Wahrscheinlichkeitsverteilungen

p{ displaystyle p}

und

q{ displaystyle q}

Über denselben zugrunde liegenden Satz von Ereignissen wird die durchschnittliche Anzahl von Bits gemessen, die zum Identifizieren eines aus dem Satz gezogenen Ereignisses erforderlich sind, wenn ein für den Satz verwendetes Codierungsschema für eine geschätzte Wahrscheinlichkeitsverteilung optimiert ist

q{ displaystyle q}

eher als die wahre Verteilung

p{ displaystyle p}

.

Definition[edit]

Die Kreuzentropie der Verteilung

q{ displaystyle q}

relativ zu einer Verteilung

p{ displaystyle p}

über einen gegebenen Satz ist wie folgt definiert:

wo

E.p[]{ displaystyle E_ {p}[cdot ]}}

ist der Erwartungswertoperator in Bezug auf die Verteilung

p{ displaystyle p}

. Die Definition kann unter Verwendung der Kullback-Leibler-Divergenz formuliert werden

D.K.L.((pq){ displaystyle D _ { mathrm {KL}} (p | q)}

von

p{ displaystyle p}

von

q{ displaystyle q}

(auch bekannt als die relative Entropie von

q{ displaystyle q}

in Gedenken an

p{ displaystyle p}

).

wo

H.((p){ displaystyle H (p)}

ist die Entropie von

p{ displaystyle p}

.

Für diskrete Wahrscheinlichkeitsverteilungen

p{ displaystyle p}

und

q{ displaystyle q}

mit der gleichen Unterstützung

X.{ displaystyle { mathcal {X}}}

das heisst

((Gl.1)

Die Situation für kontinuierliche Verteilungen ist analog. Das müssen wir annehmen

p{ displaystyle p}

und

q{ displaystyle q}

sind in Bezug auf ein Referenzmaß absolut kontinuierlich

r{ displaystyle r}

(meistens

r{ displaystyle r}

ist ein Lebesgue-Maß für eine Borel-σ-Algebra). Lassen

P.{ displaystyle P}

und

Q.{ displaystyle Q}

Wahrscheinlichkeitsdichtefunktionen von sein

p{ displaystyle p}

und

q{ displaystyle q}

in Gedenken an

r{ displaystyle r}

. Dann

und deshalb

((Gl.2)

NB: Die Notation

H.((p,q){ displaystyle H (p, q)}

wird auch für ein anderes Konzept verwendet, die gemeinsame Entropie von

p{ displaystyle p}

und

q{ displaystyle q}

.

Motivation[edit]

In der Informationstheorie legt das Kraft-McMillan-Theorem fest, dass jedes direkt decodierbare Codierungsschema zum Codieren einer Nachricht zur Identifizierung eines Werts

xich{ displaystyle x_ {i}}

aus einer Reihe von Möglichkeiten

{x1,...,xn}}{ displaystyle {x_ {1}, …, x_ {n} }}

kann als eine implizite Wahrscheinlichkeitsverteilung angesehen werden

q((xich)=((12)lich{ displaystyle q (x_ {i}) = left ({ frac {1} {2}} right) ^ {l_ {i}}}

Über

{x1,...,xn}}{ displaystyle {x_ {1}, …, x_ {n} }}

, wo

lich{ displaystyle l_ {i}}

ist die Länge des Codes für

xich{ displaystyle x_ {i}}

in Bits. Daher kann die Kreuzentropie als die erwartete Nachrichtenlänge pro Datum interpretiert werden, wenn eine falsche Verteilung vorliegt

q{ displaystyle q}

wird angenommen, während die Daten tatsächlich einer Verteilung folgen

p{ displaystyle p}

. Deshalb wird die Erwartung über die wahre Wahrscheinlichkeitsverteilung übernommen

p{ displaystyle p}

und nicht

q{ displaystyle q}

. In der Tat die erwartete Nachrichtenlänge unter der wahren Verteilung

p{ displaystyle p}

ist,

Einschätzung[edit]

Es gibt viele Situationen, in denen die Kreuzentropie gemessen werden muss, aber die Verteilung von

p{ displaystyle p}

ist unbekannt. Ein Beispiel ist die Sprachmodellierung, bei der ein Modell basierend auf einem Trainingssatz erstellt wird

T.{ displaystyle T}

und dann wird seine Kreuzentropie an einem Testsatz gemessen, um zu bewerten, wie genau das Modell die Testdaten vorhersagt. In diesem Beispiel

p{ displaystyle p}

ist die wahre Verteilung von Wörtern in jedem Korpus, und

q{ displaystyle q}

ist die vom Modell vorhergesagte Verteilung von Wörtern. Da die wahre Verteilung unbekannt ist, kann die Kreuzentropie nicht direkt berechnet werden. In diesen Fällen wird eine Schätzung der Kreuzentropie unter Verwendung der folgenden Formel berechnet:

wo

N.{ displaystyle N}

ist die Größe des Testsatzes und

q((x){ displaystyle q (x)}

ist die Wahrscheinlichkeit eines Ereignisses

x{ displaystyle x}

geschätzt aus dem Trainingssatz. Die Summe wird über berechnet

N.{ displaystyle N}

. Dies ist eine Monte-Carlo-Schätzung der tatsächlichen Kreuzentropie, bei der der Testsatz als Proben aus behandelt wird

p((x){ displaystyle p (x)}

[citation needed].

Beziehung zur Log-Wahrscheinlichkeit[edit]

Bei Klassifizierungsproblemen wollen wir die Wahrscheinlichkeit unterschiedlicher Ergebnisse abschätzen. Wenn die geschätzte Wahrscheinlichkeit des Ergebnisses

ich{ displaystyle i}

ist

qich{ displaystyle q_ {i}}

, während die Häufigkeit (empirische Wahrscheinlichkeit) des Ergebnisses

ich{ displaystyle i}

im Trainingsset ist

pich{ displaystyle p_ {i}}

und es gibt N bedingt unabhängige Stichproben im Trainingssatz, dann ist die Wahrscheinlichkeit des Trainingssatzes

also die log-Wahrscheinlichkeit geteilt durch

N.{ displaystyle N}

ist

Das Maximieren der Wahrscheinlichkeit entspricht dem Minimieren der Kreuzentropie.

Kreuzentropieminimierung[edit]

Die Kreuzentropieminimierung wird häufig bei der Optimierung und der Wahrscheinlichkeitsschätzung für seltene Ereignisse verwendet. Beim Vergleich einer Verteilung

q{ displaystyle q}

gegen eine feste Referenzverteilung

p{ displaystyle p}

Kreuzentropie und KL-Divergenz sind bis zu einer additiven Konstante identisch (seit

p{ displaystyle p}

ist fest): beide nehmen ihre Minimalwerte an, wenn

p=q{ displaystyle p = q}

, welches ist

0{ displaystyle 0}

für KL-Divergenz und

H.((p){ displaystyle mathrm {H} (p)}

für Kreuzentropie.[1] In der technischen Literatur wird das Prinzip der Minimierung der KL-Divergenz (Kullbacks “Prinzip der minimalen Diskriminierungsinformation”) häufig als das bezeichnet Prinzip der minimalen Kreuzentropie (MCE) oder Minxent.

Wie im Artikel beschrieben Kullback-Leibler-Divergenz, manchmal die Verteilung

q{ displaystyle q}

ist die feste vorherige Referenzverteilung und die Verteilung

p{ displaystyle p}

ist optimiert, um so nah wie möglich zu sein

q{ displaystyle q}

möglichst vorbehaltlich einiger Einschränkungen. In diesem Fall sind die beiden Minimierungen nicht Äquivalent. Dies hat zu einigen Unklarheiten in der Literatur geführt, wobei einige Autoren versuchten, die Inkonsistenz durch Neudefinition der Kreuzentropie zu lösen

D.K.L.((pq){ displaystyle D _ { mathrm {KL}} (p | q)}

, eher, als

H.((p,q){ displaystyle H (p, q)}

.

Entropieübergreifende Verlustfunktion und logistische Regression[edit]

Cross-Entropy kann verwendet werden, um eine Verlustfunktion beim maschinellen Lernen und Optimieren zu definieren. Die wahre Wahrscheinlichkeit

pich{ displaystyle p_ {i}}

ist das wahre Etikett und die gegebene Verteilung

qich{ displaystyle q_ {i}}

ist der vorhergesagte Wert des aktuellen Modells.

Betrachten Sie insbesondere die logistische Regression, mit der (unter anderem) Beobachtungen in zwei mögliche Klassen eingeteilt werden können (häufig einfach gekennzeichnet)

0{ displaystyle 0}

und

1{ displaystyle 1}

). Die Ausgabe des Modells für eine bestimmte Beobachtung bei einem Vektor von Eingabemerkmalen

x{ displaystyle x}

kann als Wahrscheinlichkeit interpretiert werden, die als Grundlage für die Klassifizierung der Beobachtung dient. Die Wahrscheinlichkeit wird mithilfe der Logistikfunktion modelliert

G((z)=1/.((1+e– –z){ displaystyle g (z) = 1 / (1 + e ^ {- z})}

wo

z{ displaystyle z}

ist eine Funktion des Eingabevektors

x{ displaystyle x}

, üblicherweise nur eine lineare Funktion. Die Wahrscheinlichkeit der Ausgabe

y=1{ displaystyle y = 1}

ist gegeben durch

wo der Vektor der Gewichte

w{ displaystyle mathbf {w}}

wird durch einen geeigneten Algorithmus wie den Gradientenabstieg optimiert. Ebenso die komplementäre Wahrscheinlichkeit, die Ausgabe zu finden

y=0{ displaystyle y = 0}

ist einfach gegeben durch

Nachdem wir unsere Notation eingerichtet haben,

p{y,1– –y}}{ displaystyle p in {y, 1-y }}

und

q{y^,1– –y^}}{ displaystyle q in {{ hat {y}}, 1 – { hat {y}} }}

können wir Kreuzentropie verwenden, um ein Maß für die Unähnlichkeit zwischen zu erhalten

p{ displaystyle p}

und

q{ displaystyle q}

::

Die logistische Regression optimiert normalerweise den logarithmischen Verlust für alle Beobachtungen, auf die er trainiert wird. Dies entspricht der Optimierung der durchschnittlichen Kreuzentropie in der Stichprobe. Nehmen wir zum Beispiel an, wir haben

N.{ displaystyle N}

Proben mit jeder Probe indiziert durch

n=1,,N.{ displaystyle n = 1, dots, N}

. Das durchschnittlich der Verlustfunktion ist dann gegeben durch:

wo

y^nG((wxn)=1/.((1+e– –wxn){ displaystyle { hat {y}} _ {n} equiv g ( mathbf {w} cdot mathbf {x} _ {n}) = 1 / (1 + e ^ {- mathbf {w} cdot mathbf {x} _ {n}})}

mit

G((z){ displaystyle g (z)}

die logistische Funktion wie zuvor.

Der logistische Verlust wird manchmal als Kreuzentropieverlust bezeichnet. Dies wird auch als Protokollverlust bezeichnet (in diesem Fall wird die binäre Bezeichnung häufig mit {-1, + 1} bezeichnet).[2]

Anmerkung: Der Gradient des Kreuzentropieverlusts für die logistische Regression ist der gleiche wie der Gradient des quadratischen Fehlerverlusts für die lineare Regression. Das heißt, definieren

X.T.=((1x11x1p1x21x2p1xn1xnp)R.n×((p+1){ displaystyle X ^ {T} = { begin {pmatrix} 1 & x_ {11} & dots & x_ {1p} \ 1 & x_ {21} & dots & x_ {2p} \ && dots \ 1 & x_ {n1} & dots & x_ {np} \ end {pmatrix}} in mathbb {R} ^ {n times (p + 1)}}

yich^=f^((xich1,,xichp)=11+exp((– –β0– –β1xich1– –– –βpxichp){ displaystyle { hat {y_ {i}}} = { hat {f}} (x_ {i1}, dots, x_ {ip}) = { frac {1} {1 + exp (- beta _ {0} – beta _ {1} x_ {i1} – dots – beta _ {p} x_ {ip})}}

L.((β)=– –ich=1N.[yilogy^i+(1yi)log(1y^i)]{ displaystyle L ({ overrightarrow { beta}}) = – sum _ {i = 1} ^ {N}[y^{i}log {hat {y}}^{i}+(1-y^{i})log(1-{hat {y}}^{i})]}}

Dann haben wir das Ergebnis

βL.((β)=X.((Y.^– –Y.){ displaystyle { frac { partiell} { partiell { overrightarrow { beta}}}} L ({ overrightarrow { beta}}) = X ({ hat {Y}} – Y)}

Der Beweis ist wie folgt. Für jeden

y^ich{ displaystyle { hat {y}} ^ {i}}

, wir haben

β0ln11+e– –β0+k0=e– –β0+k01+e– –β0+k0{ displaystyle { frac { partiell} { partiell beta _ {0}}} ln { frac {1} {1 + e ^ {- beta _ {0} + k_ {0}}}} = { frac {e ^ {- beta _ {0} + k_ {0}}} {1 + e ^ {- beta _ {0} + k_ {0}}}}

β0ln((1– –11+e– –β0+k0)=– –11+e– –β0+k0{ displaystyle { frac { partiell} { partiell beta _ {0}} ln left (1 – { frac {1} {1 + e ^ {- beta _ {0} + k_ { 0}}}} right) = { frac {-1} {1 + e ^ {- beta _ {0} + k_ {0}}}}

β0L.((β)=– –ich=1N.[yieβ0+k01+eβ0+k0(1yi)11+eβ0+k0]=– –ich=1N.[yiy^i]=ich=1N.((y^ich– –yich){ displaystyle { begin {align} { frac { teilweise} { teilweise beta _ {0}}} L ({ overrightarrow { beta}}) & = – sum _ {i = 1} ^ {N} left[{frac {y^{i}cdot e^{-beta _{0}+k_{0}}}{1+e^{-beta _{0}+k_{0}}}}-(1-y^{i}){frac {1}{1+e^{-beta _{0}+k_{0}}}}right]\ & = – sum _ {i = 1} ^ {N}[y^{i}-{hat {y}}^{i}]= sum _ {i = 1} ^ {N} ({ hat {y}} ^ {i} -y ^ {i}) end {align}}}

β1ln11+e– –β1xich1+k1=xich1ek1eβ1xich1+ek1{ displaystyle { frac { partiell} { partiell beta _ {1}} ln { frac {1} {1 + e ^ {- beta _ {1} x_ {i1} + k_ {1 }}}} = { frac {x_ {i1} e ^ {k_ {1}}} {e ^ { beta _ {1} x_ {i1}} + e ^ {k_ {1}}}}

β1ln[111+eβ1xi1+k1]=– –xich1eβ1xich1eβ1xich1+ek1{ displaystyle { frac { teilweise} { teilweise beta _ {1}}} ln left[1-{frac {1}{1+e^{-beta _{1}x_{i1}+k_{1}}}}right]= { frac {-x_ {i1} e ^ { beta _ {1} x_ {i1}}} {e ^ { beta _ {1} x_ {i1}} + e ^ {k_ {1}}} }}

β1L.((β)=– –ich=1N.xich1((yich– –y^ich)=ich=1N.xich1((y^ich– –yich){ displaystyle { frac { partiell} { partiell beta _ {1}}} L ({ overrightarrow { beta}}) = – sum _ {i = 1} ^ {N} x_ {i1} (y ^ {i} – { hat {y}} ^ {i}) = sum _ {i = 1} ^ {N} x_ {i1} ({ hat {y}} ^ {i} -y ^ {i})}

In ähnlicher Weise erhalten wir schließlich das gewünschte Ergebnis.

Siehe auch[edit]

Verweise[edit]

  1. ^ Ian Goodfellow, Yoshua Bengio und Aaron Courville (2016). Tiefes Lernen. MIT Press. Online
  2. ^ Murphy, Kevin (2012). Maschinelles Lernen: Eine probabilistische Perspektive. MIT. ISBN 978-0262018029.

Externe Links[edit]

after-content-x4