Вычислительная энтропия для сжатия данных - PullRequest
1 голос
/ 12 сентября 2011

Я немного озадачен тем, как они вычисляют «среднее количество бит на символ». Рассчитывается ли это путем взятия вероятности каждого символа и умножения ее на lg (1 / вероятность), как обычной энтропии, или каким-либо другим способом?

Кроме того, если это правда, откуда они точно знают, что в среднем встречается письмо?

1 Ответ

2 голосов
/ 12 сентября 2011

Я действительно не должен отвечать на это, потому что я не знаю много о сжатии, но я могу сказать:

  • Как определяется «бит на символ»?

Вы правы; это обычная энтропия, определенная как -Σp·log(p). Обратите внимание, что на самом деле это не частота символов , а частота сообщений . т.е. следующий набор сообщений

{ abcdefghijklmnopqrstuvwxyz }

Выглядит отлично проанализировано буква за буквой, но имеет энтропию 0.

  • Как вы можете узнать, что в среднем встречается письмо?

Теоретически невозможно точно знать, если вы не знаете точный процесс, с помощью которого генерируется сообщение. Вы должны использовать некоторые эвристические. Например, взятие большой выборки и подсчет, или поиск шаблонов, которые, как вы знаете, являются признаками избыточности. Например, текст на английском языке и т. Д.

...