Объясните, что такое энтропия в теории информации, вычислите энтропию дискретного источника с вероятностями {0.5, 0.25, 0.25} и обсудите связь энтропии с сжатием данных
Кратко и по делу. Что такое энтропия - Энтропия в теории информации — мера средней неопределённости или средней информации, приносимой одним исходом случайного источника. Для дискретной величины XXX с вероятностями {pi}\{p_i\}{pi} энтропия определяется как H(X)=−∑ipilogpi,
H(X) = -\sum_i p_i \log p_i, H(X)=−i∑pilogpi,
обычно берут логарифм по основанию 222 и измеряют в битах. Вычисление для распределения {0.5, 0.25, 0.25}\{0.5,\,0.25,\,0.25\}{0.5,0.25,0.25}H(X)=−(0.5log20.5+0.25log20.25+0.25log20.25)
H(X) = -\big(0.5\log_2 0.5 + 0.25\log_2 0.25 + 0.25\log_2 0.25\big) H(X)=−(0.5log20.5+0.25log20.25+0.25log20.25)=−(0.5⋅(−1)+0.25⋅(−2)+0.25⋅(−2))=1.5 бит
= -\big(0.5\cdot(-1) + 0.25\cdot(-2) + 0.25\cdot(-2)\big) = 1.5\ \text{бит} =−(0.5⋅(−1)+0.25⋅(−2)+0.25⋅(−2))=1.5бит
(то есть H(X)=1.5\,H(X)=1.5H(X)=1.5 бит на символ). Связь энтропии со сжатием данных - Энтропия даёт фундаментальную нижнюю границу средней длины кодового слова при безошибочном (lossless) сжатии: средняя длина кода Lˉ\bar LLˉ удовлетворяет Lˉ≥H(X)\bar L \ge H(X)Lˉ≥H(X). - Теорема Шеннона: для больших блоков символов можно сжимать до скорости, сколь угодно близкой к энтропии (в битах на символ) с пренебрежимо малой ошибкой. - Для префиксных (удобных для декодирования) кодов существует оценка H(X)≤Lˉ<H(X)+1\;H(X)\le\bar L < H(X)+1H(X)≤Lˉ<H(X)+1. - В данном примере оптимальный префиксный код (например, Хаффман) может дать точную среднюю длину Lˉ=1.5\bar L = 1.5Lˉ=1.5 бит — например: символ с 0.50.50.5 → код «0», два символа с 0.250.250.25 → «10» и «11». Вывод: энтропия показывает минимально возможное среднее число бит на символ при безпотерьном сжатии; практические схемы приближают эту границу.
Что такое энтропия
- Энтропия в теории информации — мера средней неопределённости или средней информации, приносимой одним исходом случайного источника. Для дискретной величины XXX с вероятностями {pi}\{p_i\}{pi } энтропия определяется как
H(X)=−∑ipilogpi, H(X) = -\sum_i p_i \log p_i,
H(X)=−i∑ pi logpi , обычно берут логарифм по основанию 222 и измеряют в битах.
Вычисление для распределения {0.5, 0.25, 0.25}\{0.5,\,0.25,\,0.25\}{0.5,0.25,0.25} H(X)=−(0.5log20.5+0.25log20.25+0.25log20.25) H(X) = -\big(0.5\log_2 0.5 + 0.25\log_2 0.25 + 0.25\log_2 0.25\big)
H(X)=−(0.5log2 0.5+0.25log2 0.25+0.25log2 0.25) =−(0.5⋅(−1)+0.25⋅(−2)+0.25⋅(−2))=1.5 бит = -\big(0.5\cdot(-1) + 0.25\cdot(-2) + 0.25\cdot(-2)\big) = 1.5\ \text{бит}
=−(0.5⋅(−1)+0.25⋅(−2)+0.25⋅(−2))=1.5 бит (то есть H(X)=1.5\,H(X)=1.5H(X)=1.5 бит на символ).
Связь энтропии со сжатием данных
- Энтропия даёт фундаментальную нижнюю границу средней длины кодового слова при безошибочном (lossless) сжатии: средняя длина кода Lˉ\bar LLˉ удовлетворяет Lˉ≥H(X)\bar L \ge H(X)Lˉ≥H(X).
- Теорема Шеннона: для больших блоков символов можно сжимать до скорости, сколь угодно близкой к энтропии (в битах на символ) с пренебрежимо малой ошибкой.
- Для префиксных (удобных для декодирования) кодов существует оценка H(X)≤Lˉ<H(X)+1\;H(X)\le\bar L < H(X)+1H(X)≤Lˉ<H(X)+1.
- В данном примере оптимальный префиксный код (например, Хаффман) может дать точную среднюю длину Lˉ=1.5\bar L = 1.5Lˉ=1.5 бит — например: символ с 0.50.50.5 → код «0», два символа с 0.250.250.25 → «10» и «11».
Вывод: энтропия показывает минимально возможное среднее число бит на символ при безпотерьном сжатии; практические схемы приближают эту границу.