Křížová entropie

Křížová entropie mezi dvěma rozděleními pravděpodobnosti p {\displaystyle p} a q {\displaystyle q} se stejnou podkladovou množinou událostí míry je v teorii informace průměrný počet bitů potřebných pro identifikaci události vybrané z množiny, jestliže kódovací schéma používané pro množinu je optimalizované pro odhadnuté rozdělení pravděpodobnosti q {\displaystyle q} místo skutečného rozdělení p {\displaystyle p} .

Definice

Křížová entropie rozdělení q {\displaystyle q} vůči rozdělení p {\displaystyle p} na dané množině je definovaná takto:

H ( p , q ) = E p [ log q ] {\displaystyle H(p,q)=-\operatorname {E} _{p}[\log q]} .

Jiná definice používá Kullbackovu–Leiblerovu divergenci D K L ( p q ) {\displaystyle D_{\mathrm {KL} }(p\|q)} rozdělení p {\displaystyle p} z q {\displaystyle q} (neboli relativní entropie rozdělení q {\displaystyle q} vzhledem k p {\displaystyle p} ):

H ( p , q ) = H ( p ) + D K L ( p q ) {\displaystyle H(p,q)=H(p)+D_{\mathrm {KL} }(p\|q)} ,

kde H ( p ) {\displaystyle H(p)} je entropie rozdělení p {\displaystyle p} .

Pro diskrétní pravděpodobnostní distribuce p {\displaystyle p} a q {\displaystyle q} se stejným nosičem X {\displaystyle {\mathcal {X}}} to znamená

H ( p , q ) = x X p ( x ) log q ( x ) {\displaystyle H(p,q)=-\sum _{x\in {\mathcal {X}}}p(x)\,\log q(x)} (rovnice 1)

Pro spojité distribuce je situace analogická. Musíme předpokládat, že p {\displaystyle p} a q {\displaystyle q} jsou absolutně spojité vzhledem k nějaké referenční míře r {\displaystyle r} (obvykle je r {\displaystyle r} Lebesgueova míra na Borelovské σ-algebře). Nechť P {\displaystyle P} a Q {\displaystyle Q} jsou hustoty pravděpodobností rozdělení p {\displaystyle p} a q {\displaystyle q} vzhledem k r {\displaystyle r} . Pak

X P ( x ) log Q ( x ) d r ( x ) = E p [ log Q ] {\displaystyle -\int _{\mathcal {X}}P(x)\,\log Q(x)\,dr(x)=\operatorname {E} _{p}[-\log Q]}

a tedy

H ( p , q ) = X P ( x ) log Q ( x ) d r ( x ) {\displaystyle H(p,q)=-\int _{\mathcal {X}}P(x)\,\log Q(x)\,dr(x)} (rovnice 2)

Poznámka: Notace H ( p , q ) {\displaystyle H(p,q)} se používá také pro jinou veličinu, sdruženou entropii rozdělení p {\displaystyle p} a q {\displaystyle q} .

Motivace

Kraftova–McMillanova věta v teorii informace říká, že jakékoli přímo dekódovatelné kódovací schéma pro kódování zprávy identifikující jednu hodnotu x i {\displaystyle x_{i}} ze sady možností { x 1 , . . . , x n } {\displaystyle \{x_{1},...,x_{n}\}} můžeme považovat za reprezentaci implicitního rozdělení pravděpodobnosti q ( x i ) = ( 1 2 ) l i {\displaystyle q(x_{i})=\left({\frac {1}{2}}\right)^{l_{i}}} pro { x 1 , . . . , x n } {\displaystyle \{x_{1},...,x_{n}\}} , kde l i {\displaystyle l_{i}} je délka kódu pro x i {\displaystyle x_{i}} v bitech. Proto lze křížovou entropii interpretovat jako očekávanou délku zprávy pro zakódování jedné položky, když předpokládáme nějaké rozdělení q {\displaystyle q} , zatímco data mají ve skutečnosti rozdělení p {\displaystyle p} . To znamená, že očekávané hodnoty se berou ze skutečného rozdělení pravděpodobnosti p {\displaystyle p} místo z q {\displaystyle q} . Očekávaná délka zprávy při skutečném rozdělení p {\displaystyle p} je

E p [ l ] = E p [ ln q ( x ) ln ( 2 ) ] = E p [ log 2 q ( x ) ] = x i p ( x i ) log 2 q ( x i ) = x p ( x ) log 2 q ( x ) = H ( p , q ) {\displaystyle \operatorname {E} _{p}[l]=-\operatorname {E} _{p}\left[{\frac {\ln {q(x)}}{\ln(2)}}\right]=-\operatorname {E} _{p}\left[\log _{2}{q(x)}\right]=-\sum _{x_{i}}p(x_{i})\,\log _{2}{q(x_{i})}=-\sum _{x}p(x)\,\log _{2}q(x)=H(p,q)}

Odhad

Je mnoho situací, kdy by bylo třeba měřit křížovou entropii, ale rozdělení p {\displaystyle p} je neznámé. Příkladem je jazykové modelování, kde model je vytvořen na trénovací množině T {\displaystyle T} a jeho křížová entropie je pak měřena na testovací množině pro zhodnocení, jak je model přesný v predikci testovacích dat. V tomto příkladě je p {\displaystyle p} skutečné rozdělení slov v nějakém korpusu a q {\displaystyle q} je rozdělení slov predikované modelem. Protože skutečné rozdělení je neznámé, nelze křížovou entropii přímo spočítat. V takovém případě se odhad křížové entropie počítá pomocí vzorce:

H ( T , q ) = i = 1 N 1 N log 2 q ( x i ) {\displaystyle H(T,q)=-\sum _{i=1}^{N}{\frac {1}{N}}\log _{2}q(x_{i})}

kde N {\displaystyle N} je velikost testovací množiny a q ( x ) {\displaystyle q(x)} je pravděpodobnost události x {\displaystyle x} odhadnuté z trénovací množiny. Suma se počítá přes N {\displaystyle N} . Toto je pravděpodobnostní (Monte Carlo) odhad skutečné křížové entropie, při kterém testovací množinu považujeme za vzorek z p ( x ) {\displaystyle p(x)} .

Vztah k logaritmické věrohodnosti

U klasifikačních problémů chceme odhadnout pravděpodobnost jednotlivých výsledků. Pokud odhadnutá pravděpodobnost výsledku i {\displaystyle i} je q i {\displaystyle q_{i}} , zatímco frekvence (empirická pravděpodobnost) výsledku i {\displaystyle i} v trénovací množině je p i {\displaystyle p_{i}} a v trénovací množině je N vzorků, pak věrohodnost trénovací množiny je

i q i N p i {\displaystyle \prod _{i}q_{i}^{Np_{i}}}

a logaritmická věrohodnost vydělená N {\displaystyle N} je

1 N log i q i N p i = i p i log q i = H ( p , q ) {\displaystyle {\frac {1}{N}}\log \prod _{i}q_{i}^{Np_{i}}=\sum _{i}p_{i}\log q_{i}=-H(p,q)}

takže maximalizace věrohodnosti je totéž jako minimalizace křížové entropie.

Minimalizace křížové entropie

Minimalizace křížové entropie se často používá při optimalizaci a odhadu pravděpodobnosti řídkých událostí; viz metoda křížové entropie.

Při porovnávání rozdělení q {\displaystyle q} s pevným referenčním rozdělením p {\displaystyle p} jsou křížová entropie a KL divergence identické až na aditivní konstantu (protože p {\displaystyle p} je pevné): obě nabývají pro p = q {\displaystyle p=q} své minimální hodnoty, která je 0 {\displaystyle 0} pro KL divergenci a H ( p ) {\displaystyle \mathrm {H} (p)} pro křížovou entropii[1]. V inženýrské literatuře se postup minimalizace KL divergence (Kullbackův "Princip minimální diskriminace informace") často nazývá Princip minimální křížové entropie (MCE, z anglického Principle of Minimum Cross-Entropy) nebo Minxent.

Jak je však diskutováno v článku Kullbackova–Leiblerova divergence, někdy je rozdělení q {\displaystyle q} fixováno před referenčním rozdělením a rozdělení p {\displaystyle p} je optimalizováno, aby bylo co nejbližší k q {\displaystyle q} , při platnosti určitých omezení. V takovém případě obě minimalizace nejsou ekvivalentní. To vedlo k určité nejednoznačnosti v literatuře, protože někteří autoři usilovali vyřešit nekonzistenci tím, že termínem křížová entropie označují D K L ( p q ) {\displaystyle D_{\mathrm {KL} }(p\|q)} místo H ( p , q ) {\displaystyle H(p,q)} .

Nákladová funkce křížové entropie a logistická regrese

Křížovou entropii lze použít pro definování nákladové funkce při strojovém učení a optimalizaci. Skutečná pravděpodobnost p i {\displaystyle p_{i}} je skutečný popisek a dané rozdělení q i {\displaystyle q_{i}} je predikovanou hodnotou současného modelu.

Konkrétněji uvažujme logistickou regresi, kterou lze (mimo jiné) použít pro klasifikaci pozorování do dvou možných tříd (často značených 0 {\displaystyle 0} a 1 {\displaystyle 1} ). Výstup modelu pro určité pozorování dané vektorem vstupních vlastností x {\displaystyle x} lze interpretovat jako pravděpodobnost, což slouží jako základ pro klasifikaci pozorování. Pravděpodobnost je znázorněna pomocí logistické funkce g ( z ) = 1 / ( 1 + e z ) {\displaystyle g(z)=1/(1+e^{-z})} kde z {\displaystyle z} je nějaká funkce vstupního vektoru x {\displaystyle x} , obvykle pouze lineární funkce. Pravděpodobnost výstupu y = 1 {\displaystyle y=1} je

q y = 1   =   y ^     g ( w x )   = 1 / ( 1 + e w x ) , {\displaystyle q_{y=1}\ =\ {\hat {y}}\ \equiv \ g(\mathbf {w} \cdot \mathbf {x} )\ =1/(1+e^{-\mathbf {w} \cdot \mathbf {x} }),}

kde vektor vah w {\displaystyle \mathbf {w} } je optimalizován pomocí nějakého vhodného algoritmu, jako například metodou gradientního spádu. Podobně komplementární pravděpodobnost hledání výstup y = 0 {\displaystyle y=0} je

q y = 0   =   1 y ^ {\displaystyle q_{y=0}\ =\ 1-{\hat {y}}}

Při použití notace p { y , 1 y } {\displaystyle p\in \{y,1-y\}} a q { y ^ , 1 y ^ } {\displaystyle q\in \{{\hat {y}},1-{\hat {y}}\}} můžeme používat křížovou entropii pro získání míry odlišnosti mezi p {\displaystyle p} a q {\displaystyle q} :

H ( p , q )   =   i p i log q i   =   y log y ^ ( 1 y ) log ( 1 y ^ ) {\displaystyle H(p,q)\ =\ -\sum _{i}p_{i}\log q_{i}\ =\ -y\log {\hat {y}}-(1-y)\log(1-{\hat {y}})}

Typická nákladová funkce, kterou používáme v logistické regresi, se počítá jako průměr všech křížových entropií ve vzorku. Pokud například máme N {\displaystyle N} vzorků indexovaných n = 1 , , N {\displaystyle n=1,\dots ,N} , bude nákladová funkce

J ( w )   =   1 N n = 1 N H ( p n , q n )   =   1 N n = 1 N   [ y n log y ^ n + ( 1 y n ) log ( 1 y ^ n ) ] , {\displaystyle {\begin{aligned}J(\mathbf {w} )\ &=\ {\frac {1}{N}}\sum _{n=1}^{N}H(p_{n},q_{n})\ =\ -{\frac {1}{N}}\sum _{n=1}^{N}\ {\bigg [}y_{n}\log {\hat {y}}_{n}+(1-y_{n})\log(1-{\hat {y}}_{n}){\bigg ]}\,,\end{aligned}}}

kde y ^ n g ( w x n ) = 1 / ( 1 + e w x n ) {\displaystyle {\hat {y}}_{n}\equiv g(\mathbf {w} \cdot \mathbf {x} _{n})=1/(1+e^{-\mathbf {w} \cdot \mathbf {x} _{n}})} a g ( z ) {\displaystyle g(z)} je logistická funkce stejně jako výše.

Logistická ztráta se někdy nazývá ztráta křížové entropie nebo logaritmická ztráta (V tomto případě se třídy zpravidla označují hodnotami {-1,+1})[2].

Odkazy

Reference

V tomto článku byl použit překlad textu z článku cross entropy na anglické Wikipedii.

  1. GOODFELLOW, Ian; BENGIO, Yoshua; COURVILLE, Aaron. Deep Learning. [s.l.]: MIT Press, 2016. Dostupné online. 
  2. MURPHY, Kevin. Machine Learning: A Probabilistic Perspective. [s.l.]: MIT, 2012. ISBN 978-0262018029. 

Související články

Externí odkazy

  • What is cross-entropy, and why use it? Archivováno 18. 12. 2019 na Wayback Machine.
  • Cross Entropy