Найти Π² Π”Π·Π΅Π½Π΅

πŸ” Cross-Entropy ΠΈ KL-дивСргСнция: Π΄Π²Π° столпа машинного обучСния простыми словами

ОглавлСниС

Π’ машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ красивых ΠΈ слоТных Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΏΠ°Π½ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ знакомствС. Но Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… стоит простая идСя. БСгодня ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π΄Π²Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹Ρ… понятия: кросс-ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ ΠΈ KL-Π΄ΠΈΠ²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡŽ. Π­Ρ‚ΠΈ понятия тСсно связаны с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ нСйросСти учатся Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прСдсказания.

🎯 Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° кросс-энтропия?

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваша Π½Π΅ΠΉΡ€ΠΎΡΠ΅Ρ‚ΡŒ пытаСтся ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅: кошка, собака ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΡŒ. Она Π²Ρ‹Π΄Π°Π΅Ρ‚ вСроятности:

🐱 Кошка β€” 0,2
🐢 Π‘ΠΎΠ±Π°ΠΊΠ° β€” 0,7
🐭 ΠœΡ‹ΡˆΡŒ β€” 0,1

На самом Π΄Π΅Π»Π΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° собака. Как ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, насколько ΡΠ΅Ρ‚ΡŒ Β«ΡƒΠ΄ΠΈΠ²Π»Π΅Π½Π°Β» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΡ‚Π²Π΅Ρ‚Ρƒ? Для этого ΠΈ Π½ΡƒΠΆΠ½Π° кросс-энтропия β€” ΠΌΠ΅Ρ€Π°, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, сколько ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ для кодирования ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ нашСй сСти.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° кросс-энтропии выглядит Ρ‚Π°ΠΊ:

-2

Π—Π΄Π΅ΡΡŒ:

  • 🎯 P(x) β€” Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС (Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅).
  • πŸ€– Q(x) β€” распрСдСлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π΄Π°Π»Π° наша модСль.

Π§Π΅ΠΌ Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΡΠ΅Ρ‚ΡŒ ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚, Ρ‚Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кросс-энтропии. Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· β€” минимальная энтропия, близкая ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ.

πŸ“š НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ: ΠΎΡ‚ энтропии ΠΊ кросс-энтропии

Энтропия β€” это ΠΌΠ΅Ρ€Π° нСопрСдСлённости Π² Π΄Π°Π½Π½Ρ‹Ρ…. Π§Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΅ прСдсказуСмы Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΈΡ… энтропия. НапримСр:

  • 🎲 Бросок ΠΌΠΎΠ½Π΅Ρ‚ΠΊΠΈ (Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ выпадСния ΠΎΡ€Π»Π° β€” 1/2): Энтропия = 1 Π±ΠΈΡ‚.
  • 🎲 Бросок ΠΊΡƒΠ±ΠΈΠΊΠ° (Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ стороны β€” 1/6): Энтропия β‰ˆ 2,58 Π±ΠΈΡ‚Π°.

ΠšΡ€ΠΎΡΡ-энтропия ΠΆΠ΅ β€” это Β«Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Β» энтропии Π½Π° случай Π΄Π²ΡƒΡ… распрСдСлСний: Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ происходит, ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ (прСдсказываСм).

πŸ”„ ΠžΡ‚ кросс-энтропии ΠΊ KL-Π΄ΠΈΠ²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΠΈ

ΠšΡ€ΠΎΡΡ-энтропия ΡƒΠ΄ΠΎΠ±Π½Π°, Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρƒ Π½Π΅Ρ‘ ΠΎΠ΄ΠΈΠ½ нСдостаток β€” Π΄Π°ΠΆΠ΅ Ссли наша модСль идСальна, ΠΎΠ½Π° Π½Π΅ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ, Π° всСгда содСрТит Π½Π΅ΠΊΡƒΡŽ Π±Π°Π·ΠΎΠ²ΡƒΡŽ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π΄Π΅ΡΡŒ Π½Π° сцСну Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ KL-дивСргСнция (ΠΈΠ»ΠΈ дивСргСнция ΠšΡƒΠ»ΡŒΠ±Π°ΠΊΠ°β€“Π›Π΅ΠΉΠ±Π»Π΅Ρ€Π°):

-3

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ KL-дивСргСнция ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСниями, Π½Π΅ учитывая саму ΠΏΠΎ сСбС Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ исходных Π΄Π°Π½Π½Ρ‹Ρ…. Она Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли распрСдСлСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹. Однако Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ KL-дивСргСнция Π½Π΅ являСтся симмСтричной ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Ρ€ΠΎΠ»ΡŒ стандартного «расстояния».

πŸš€ ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ?

Π­Ρ‚ΠΈ Π΄Π²Π΅ ΠΌΠ΅Ρ€Ρ‹ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ:

βœ… Удобство подсчёта: кросс-ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

βœ… Π“Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹: ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй Π΅Ρ‘ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

βœ… Бвязь с Maximum Likelihood: минимизация кросс-энтропии эквивалСнтна максимизации правдоподобия (Maximum Likelihood Estimation), Ρ‡Ρ‚ΠΎ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ML-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

πŸŽ“ Π›ΠΈΡ‡Π½Ρ‹ΠΉ взгляд: ΠΏΠΎΡ‡Π΅ΠΌΡƒ эти ΠΌΠ΅Ρ€Ρ‹ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ популярны?

Как Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с нСйросСтями, я ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сила кросс-энтропии ΠΈ KL-Π΄ΠΈΠ²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΠΈ Π² ΠΈΡ… простотС ΠΈ понятности:

πŸ’‘ Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: кросс-энтропия ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятна ΠΊΠ°ΠΊ Β«ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ удивлСния», ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

βš™οΈ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ: ΠΎΠ½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Π½Π΅ «ломаСтся» Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π·Π°Π΄Π°Ρ‡.

πŸ”§ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: примСняСтся Π² логистичСской рСгрСссии, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΊΠ»Π°ΡΡΠΎΠ²ΠΎΠΉ классификации, Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… автоэнкодСрах ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ….

Однако Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ кросс-энтропия ΠΈ KL-дивСргСнция β€” это всСго лишь инструмСнты. Π˜Ρ… Π²Ρ‹Π±ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ осмыслСнным ΠΈ зависящим ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

πŸ› οΈ ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Python

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Π² Python, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ кросс-ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ Π½Π΅ слоТно. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import numpy as np

# РСальноС ΠΈ прСдсказанноС распрСдСлСния
P = np.array([0.1, 0.2, 0.4, 0.2, 0.1])
Q = np.array([0.15, 0.175, 0.35, 0.175, 0.15])

# Cross-Entropy
cross_entropy = -np.sum(P * np.log2(Q))
print("ΠšΡ€ΠΎΡΡ-энтропия:", cross_entropy)

# KL-дивСргСнция
entropy_P = -np.sum(P * np.log2(P))
kl_divergence = cross_entropy - entropy_P
print("KL-дивСргСнция:", kl_divergence)

πŸ—ƒοΈ Π˜Ρ‚ΠΎΠ³ΠΈ: Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ?

  • 🎯 ΠšΡ€ΠΎΡΡ-энтропия измСряСт, насколько ΠΏΠ»ΠΎΡ…ΠΎ наша модСль прСдсказываСт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • πŸ”„ KL-дивСргСнция измСряСт ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя распрСдСлСниями, Π½Π΅ учитывая ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ.
  • πŸš€ Π­Ρ‚ΠΈ ΠΌΠ΅Ρ€Ρ‹ стали основными ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ нСйросСтСй благодаря удобству ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌΡƒ матСматичСскому смыслу.

НадСюсь, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ эти Π²Π°ΠΆΠ½Ρ‹Π΅ понятия пСрСстали Π±Ρ‹Ρ‚ΡŒ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹ΠΌΠΈ словами ΠΈ стали вашими ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй!

πŸ”— Бсылка Π½Π° рСсурс:

πŸ–ŠοΈ Автор: ваш Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π³ΠΈΠ΄ Π² ΠΌΠΈΡ€Π΅ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ машинного обучСния.