Объясните теорию информации Шеннона: что такое энтропия, перекрестная энтропия и взаимная информация; приведите прикладной пример использования энтропии в сжатии данных и в оценке качества классификатора
Кратко и по существу. Определения и основные формулы - Энтропия (неопределённость случайной величины XXX, битах при log2\log_2log2): H(X)=−∑xp(x)log2p(x).
H(X) = -\sum_x p(x)\log_2 p(x). H(X)=−x∑p(x)log2p(x).
Свойства: H(X)≥0H(X)\ge 0H(X)≥0; для независимых событий энтропия аддитивна. Энтропия — среднее минимальное число бит на символ при оптимальном кодировании (теорема Шеннона). - Перекрёстная энтропия (между истинным распределением ppp и моделью qqq): H(p,q)=−∑xp(x)log2q(x).
H(p,q) = -\sum_x p(x)\log_2 q(x). H(p,q)=−x∑p(x)log2q(x).
В ML используется как функция потерь (минимизируем H(p,q)H(p,q)H(p,q)). При одном образце с one‑hot мишенью это сводится к отрицательному лог‑правдоподобию: −log2q(ytrue)-\log_2 q(y_{\text{true}})−log2q(ytrue). - Дивергенция Кульбака‑Лейблера (связь с перекрёстной энтропией): DKL(p∥q)=∑xp(x)log2p(x)q(x)=H(p,q)−H(p)≥0.
D_{KL}(p\|q)=\sum_x p(x)\log_2\frac{p(x)}{q(x)} = H(p,q)-H(p)\ge 0. DKL(p∥q)=x∑p(x)log2q(x)p(x)=H(p,q)−H(p)≥0.
Минимизация H(p,q)H(p,q)H(p,q) при фиксированном ppp эквивалентна минимизации DKL(p∥q)D_{KL}(p\|q)DKL(p∥q). - Взаимная информация (мера зависимости между XXX и YYY): I(X;Y)=∑x,yp(x,y)log2p(x,y)p(x)p(y).
I(X;Y)=\sum_{x,y} p(x,y)\log_2\frac{p(x,y)}{p(x)p(y)}. I(X;Y)=x,y∑p(x,y)log2p(x)p(y)p(x,y).
Альтернативно: I(X;Y)=H(X)+H(Y)−H(X,Y)=DKL(p(x,y)∥p(x)p(y)).
I(X;Y)=H(X)+H(Y)-H(X,Y)=D_{KL}\big(p(x,y)\|p(x)p(y)\big). I(X;Y)=H(X)+H(Y)−H(X,Y)=DKL(p(x,y)∥p(x)p(y)).
Если XXX и YYY независимы, I(X;Y)=0I(X;Y)=0I(X;Y)=0; если YYY однозначно определяется по XXX, I(X;Y)=H(Y)I(X;Y)=H(Y)I(X;Y)=H(Y). Примеры применения 1) Сжатие данных (применение энтропии) - Теорема: средняя длина кода Lˉ\bar LLˉ для источника с распределением ppp не может быть меньше энтропии: Lˉ≥H(X).
\bar L \ge H(X). Lˉ≥H(X).
Практический пример: источник даёт 000 с вероятностью 0.90.90.9 и 111 с вероятностью 0.10.10.1. Энтропия H(X)=−0.9log20.9−0.1log20.1≈0.469 бит/символ.
H(X) = -0.9\log_2 0.9 - 0.1\log_2 0.1 \approx 0.469\ \text{бит/символ}. H(X)=−0.9log20.9−0.1log20.1≈0.469бит/символ.
Значит оптимальный код в среднем требует ≈0.4690.4690.469 бит на символ; на практике используются коды (например, Хаффман или арифметическое кодирование), приближающие это нижнее значение. 2) Оценка качества классификатора (перекрёстная энтропия / log‑loss) - Если истинное распределение для примера — one‑hot (класс yyy = 1), перекрёстная энтропия равна отрицательному лог‑предсказанию: H(p,q)=−log2q(y).
H(p,q) = -\log_2 q(y). H(p,q)=−log2q(y).
Пример: модель предсказывает q(A)=0.7, q(B)=0.3q(A)=0.7,\ q(B)=0.3q(A)=0.7,q(B)=0.3, истинный класс AAA. Потеря: −log20.7≈0.515 бит.
-\log_2 0.7 \approx 0.515\ \text{бит}. −log20.7≈0.515бит.
Минимизация суммарной перекрёстной энтропии по выборке эквивалентна максимизации правдоподобия и стремится сделать qqq близким к ppp. Также энтропия предсказаний H(q)H(q)H(q) служит мерой неопределённости модели: меньшая энтропия — более уверенные предсказания. Дополнительно: взаимная информация применяется для отбора признаков (выбирают признаки с большой I(feature;label)I(\text{feature};\text{label})I(feature;label)), для оценки зависимости между переменными, для измерения информационной эффективности каналов и т.п. Если нужно, могу дать короткий пример расчёта перекрёстной энтропии/MI для небольшой таблицы совместного распределения.
Определения и основные формулы
- Энтропия (неопределённость случайной величины XXX, битах при log2\log_2log2 ):
H(X)=−∑xp(x)log2p(x). H(X) = -\sum_x p(x)\log_2 p(x).
H(X)=−x∑ p(x)log2 p(x). Свойства: H(X)≥0H(X)\ge 0H(X)≥0; для независимых событий энтропия аддитивна. Энтропия — среднее минимальное число бит на символ при оптимальном кодировании (теорема Шеннона).
- Перекрёстная энтропия (между истинным распределением ppp и моделью qqq):
H(p,q)=−∑xp(x)log2q(x). H(p,q) = -\sum_x p(x)\log_2 q(x).
H(p,q)=−x∑ p(x)log2 q(x). В ML используется как функция потерь (минимизируем H(p,q)H(p,q)H(p,q)). При одном образце с one‑hot мишенью это сводится к отрицательному лог‑правдоподобию: −log2q(ytrue)-\log_2 q(y_{\text{true}})−log2 q(ytrue ).
- Дивергенция Кульбака‑Лейблера (связь с перекрёстной энтропией):
DKL(p∥q)=∑xp(x)log2p(x)q(x)=H(p,q)−H(p)≥0. D_{KL}(p\|q)=\sum_x p(x)\log_2\frac{p(x)}{q(x)} = H(p,q)-H(p)\ge 0.
DKL (p∥q)=x∑ p(x)log2 q(x)p(x) =H(p,q)−H(p)≥0. Минимизация H(p,q)H(p,q)H(p,q) при фиксированном ppp эквивалентна минимизации DKL(p∥q)D_{KL}(p\|q)DKL (p∥q).
- Взаимная информация (мера зависимости между XXX и YYY):
I(X;Y)=∑x,yp(x,y)log2p(x,y)p(x)p(y). I(X;Y)=\sum_{x,y} p(x,y)\log_2\frac{p(x,y)}{p(x)p(y)}.
I(X;Y)=x,y∑ p(x,y)log2 p(x)p(y)p(x,y) . Альтернативно:
I(X;Y)=H(X)+H(Y)−H(X,Y)=DKL(p(x,y)∥p(x)p(y)). I(X;Y)=H(X)+H(Y)-H(X,Y)=D_{KL}\big(p(x,y)\|p(x)p(y)\big).
I(X;Y)=H(X)+H(Y)−H(X,Y)=DKL (p(x,y)∥p(x)p(y)). Если XXX и YYY независимы, I(X;Y)=0I(X;Y)=0I(X;Y)=0; если YYY однозначно определяется по XXX, I(X;Y)=H(Y)I(X;Y)=H(Y)I(X;Y)=H(Y).
Примеры применения
1) Сжатие данных (применение энтропии)
- Теорема: средняя длина кода Lˉ\bar LLˉ для источника с распределением ppp не может быть меньше энтропии:
Lˉ≥H(X). \bar L \ge H(X).
Lˉ≥H(X). Практический пример: источник даёт 000 с вероятностью 0.90.90.9 и 111 с вероятностью 0.10.10.1. Энтропия
H(X)=−0.9log20.9−0.1log20.1≈0.469 бит/символ. H(X) = -0.9\log_2 0.9 - 0.1\log_2 0.1 \approx 0.469\ \text{бит/символ}.
H(X)=−0.9log2 0.9−0.1log2 0.1≈0.469 бит/символ. Значит оптимальный код в среднем требует ≈0.4690.4690.469 бит на символ; на практике используются коды (например, Хаффман или арифметическое кодирование), приближающие это нижнее значение.
2) Оценка качества классификатора (перекрёстная энтропия / log‑loss)
- Если истинное распределение для примера — one‑hot (класс yyy = 1), перекрёстная энтропия равна отрицательному лог‑предсказанию:
H(p,q)=−log2q(y). H(p,q) = -\log_2 q(y).
H(p,q)=−log2 q(y). Пример: модель предсказывает q(A)=0.7, q(B)=0.3q(A)=0.7,\ q(B)=0.3q(A)=0.7, q(B)=0.3, истинный класс AAA. Потеря:
−log20.7≈0.515 бит. -\log_2 0.7 \approx 0.515\ \text{бит}.
−log2 0.7≈0.515 бит. Минимизация суммарной перекрёстной энтропии по выборке эквивалентна максимизации правдоподобия и стремится сделать qqq близким к ppp. Также энтропия предсказаний H(q)H(q)H(q) служит мерой неопределённости модели: меньшая энтропия — более уверенные предсказания.
Дополнительно: взаимная информация применяется для отбора признаков (выбирают признаки с большой I(feature;label)I(\text{feature};\text{label})I(feature;label)), для оценки зависимости между переменными, для измерения информационной эффективности каналов и т.п.
Если нужно, могу дать короткий пример расчёта перекрёстной энтропии/MI для небольшой таблицы совместного распределения.