Обсудите концепцию информационной энтропии Шеннона: как вычислять энтропию для сообщения, что означает её значение в битах, и как она применяется в сжатии данных и оценке информативности признаков в ML
Кратко и по сути — про информационную энтропию Шеннона, её вычисление, смысл в битах и приложения в сжатии и ML. Определение - Для дискретной случайной величины XXX с распределением p(xi)=Pr(X=xi)p(x_i)=\Pr(X=x_i)p(xi)=Pr(X=xi) энтропия определяется как H(X)=−∑ip(xi)log2p(xi).H(X)=-\sum_i p(x_i)\log_2 p(x_i).H(X)=−i∑p(xi)log2p(xi).
- Для последовательности символов вводят скорость (entropy rate): H=limn→∞1nH(X1n)H=\lim_{n\to\infty}\tfrac{1}{n}H(X_1^n)H=limn→∞n1H(X1n). Интерпретация в битах - Если логарифм по основанию 2, то единица измерения — бит. Энтропия H(X)H(X)H(X) — среднее число бинарных (yes/no) вопросов, необходимых в оптимальной стратегии для идентификации исхода XXX. - Границы: 0≤H(X)≤log2n0\le H(X)\le\log_2 n0≤H(X)≤log2n (для nnn возможных исходов). H=0H=0H=0 — полностью предсказуемо; H=log2nH=\log_2 nH=log2n — равновероятно (максимальная неопределённость). Простой числовой пример - Для «смещённой монеты» с p(орёл)=0.7p(\text{орёл})=0.7p(орёл)=0.7 и p(решка)=0.3p(\text{решка})=0.3p(решка)=0.3: H=−0.7log20.7−0.3log20.3≈0.881 бит.
H=-0.7\log_2 0.7-0.3\log_2 0.3\approx 0.881\ \text{бит}. H=−0.7log20.7−0.3log20.3≈0.881бит. Связь с кодированием и сжатием - Теорема источника (Shannon): средняя длина любого префиксного (без ambig.) кода LLL удовлетворяет H(X)≤L<H(X)+1
H(X)\le L < H(X)+1 H(X)≤L<H(X)+1
(для целочисленных дли кода; арифметическое кодирование может приближать H(X)H(X)H(X) сколь угодно близко). - Следствие: H(X)H(X)H(X) — теоретический минимум среднего числа бит на символ для безусловно безошибочного сжатия при известных статистиках источника. - Практика: Huffman даёт оптимальный целочисленный код, арифметическое/асимпт. коды — более плотное приближение; если модель неверна, средняя длина равна кросс-энтропии H(P,Q)H(P,Q)H(P,Q) (см. ниже). Кросс-энропия и дивергенция - Кросс-энтропия и KL-дивергенция: H(P,Q)=−∑xp(x)log2q(x),DKL(P∥Q)=∑xp(x)log2p(x)q(x).
H(P,Q)=-\sum_x p(x)\log_2 q(x),\qquad D_{KL}(P\|Q)=\sum_x p(x)\log_2\frac{p(x)}{q(x)}. H(P,Q)=−x∑p(x)log2q(x),DKL(P∥Q)=x∑p(x)log2q(x)p(x).
- H(P,Q)=H(P)+DKL(P∥Q)H(P,Q)=H(P)+D_{KL}(P\|Q)H(P,Q)=H(P)+DKL(P∥Q). Используется как мера «потерь» при кодировании/моделировании с неверной моделью. Применение в ML: информативность признаков и структуры моделей - Информационный выигрыш для выбора разбиения (decision trees): IG(Y;X)=H(Y)−H(Y∣X)
\text{IG}(Y;X)=H(Y)-H(Y\mid X) IG(Y;X)=H(Y)−H(Y∣X)
(разница энтропий родителя и взвешенной суммы энтропий детей). Чем больше IG — тем более информативен признак относительно целевой метки. - Взаимная информация для отбора признаков: I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)I(X;Y)=H(X)-H(X\mid Y)=H(Y)-H(Y\mid X)I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X). Показывает, сколько информации об одном даёт другой. - Кросс-энтропия как функция потерь: в классификации модель минимизирует среднюю кросс-энтропию, что эквивалентно максимизации правдоподобия. - Предупреждения: оценка энтропии и взаимной информации по конечной выборке имеет смещение; для непрерывных признаков стандартная «дифференциальная энтропия» не полностью аналогична дискретной и зависит от шкалы — часто требуется дискретизация или непараметрические оценители (k-NN, KDE). Короткое резюме - Энтропия Шеннона измеряет среднюю неопределённость/информацию одного символа в битах. - Она даёт теоретический минимум бит для безошибочного сжатия и служит базой для алгоритмов (Huffman, арифметическое кодирование). - В ML используется для оценки информативности признаков (information gain, mutual information) и в качестве критерия/функции потерь (кросс-энтропия), но требует аккуратной оценки на данных.
Определение
- Для дискретной случайной величины XXX с распределением p(xi)=Pr(X=xi)p(x_i)=\Pr(X=x_i)p(xi )=Pr(X=xi ) энтропия определяется как
H(X)=−∑ip(xi)log2p(xi).H(X)=-\sum_i p(x_i)\log_2 p(x_i).H(X)=−i∑ p(xi )log2 p(xi ). - Для последовательности символов вводят скорость (entropy rate): H=limn→∞1nH(X1n)H=\lim_{n\to\infty}\tfrac{1}{n}H(X_1^n)H=limn→∞ n1 H(X1n ).
Интерпретация в битах
- Если логарифм по основанию 2, то единица измерения — бит. Энтропия H(X)H(X)H(X) — среднее число бинарных (yes/no) вопросов, необходимых в оптимальной стратегии для идентификации исхода XXX.
- Границы: 0≤H(X)≤log2n0\le H(X)\le\log_2 n0≤H(X)≤log2 n (для nnn возможных исходов). H=0H=0H=0 — полностью предсказуемо; H=log2nH=\log_2 nH=log2 n — равновероятно (максимальная неопределённость).
Простой числовой пример
- Для «смещённой монеты» с p(орёл)=0.7p(\text{орёл})=0.7p(орёл)=0.7 и p(решка)=0.3p(\text{решка})=0.3p(решка)=0.3:
H=−0.7log20.7−0.3log20.3≈0.881 бит. H=-0.7\log_2 0.7-0.3\log_2 0.3\approx 0.881\ \text{бит}.
H=−0.7log2 0.7−0.3log2 0.3≈0.881 бит.
Связь с кодированием и сжатием
- Теорема источника (Shannon): средняя длина любого префиксного (без ambig.) кода LLL удовлетворяет
H(X)≤L<H(X)+1 H(X)\le L < H(X)+1
H(X)≤L<H(X)+1 (для целочисленных дли кода; арифметическое кодирование может приближать H(X)H(X)H(X) сколь угодно близко).
- Следствие: H(X)H(X)H(X) — теоретический минимум среднего числа бит на символ для безусловно безошибочного сжатия при известных статистиках источника.
- Практика: Huffman даёт оптимальный целочисленный код, арифметическое/асимпт. коды — более плотное приближение; если модель неверна, средняя длина равна кросс-энтропии H(P,Q)H(P,Q)H(P,Q) (см. ниже).
Кросс-энропия и дивергенция
- Кросс-энтропия и KL-дивергенция:
H(P,Q)=−∑xp(x)log2q(x),DKL(P∥Q)=∑xp(x)log2p(x)q(x). H(P,Q)=-\sum_x p(x)\log_2 q(x),\qquad D_{KL}(P\|Q)=\sum_x p(x)\log_2\frac{p(x)}{q(x)}.
H(P,Q)=−x∑ p(x)log2 q(x),DKL (P∥Q)=x∑ p(x)log2 q(x)p(x) . - H(P,Q)=H(P)+DKL(P∥Q)H(P,Q)=H(P)+D_{KL}(P\|Q)H(P,Q)=H(P)+DKL (P∥Q). Используется как мера «потерь» при кодировании/моделировании с неверной моделью.
Применение в ML: информативность признаков и структуры моделей
- Информационный выигрыш для выбора разбиения (decision trees):
IG(Y;X)=H(Y)−H(Y∣X) \text{IG}(Y;X)=H(Y)-H(Y\mid X)
IG(Y;X)=H(Y)−H(Y∣X) (разница энтропий родителя и взвешенной суммы энтропий детей). Чем больше IG — тем более информативен признак относительно целевой метки.
- Взаимная информация для отбора признаков: I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)I(X;Y)=H(X)-H(X\mid Y)=H(Y)-H(Y\mid X)I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X). Показывает, сколько информации об одном даёт другой.
- Кросс-энтропия как функция потерь: в классификации модель минимизирует среднюю кросс-энтропию, что эквивалентно максимизации правдоподобия.
- Предупреждения: оценка энтропии и взаимной информации по конечной выборке имеет смещение; для непрерывных признаков стандартная «дифференциальная энтропия» не полностью аналогична дискретной и зависит от шкалы — часто требуется дискретизация или непараметрические оценители (k-NN, KDE).
Короткое резюме
- Энтропия Шеннона измеряет среднюю неопределённость/информацию одного символа в битах.
- Она даёт теоретический минимум бит для безошибочного сжатия и служит базой для алгоритмов (Huffman, арифметическое кодирование).
- В ML используется для оценки информативности признаков (information gain, mutual information) и в качестве критерия/функции потерь (кросс-энтропия), но требует аккуратной оценки на данных.