Энтропийная формула шеннона. Помогите моему беспорядку

OpenCV cv2.VideoCapture.read () возвращает кадр в формате BGR, поэтому frame [:,:, :: - 1] преобразует его в формат RGB. Это похоже на использование cv2.cvtColor (frame, cv2.COLOR_BGR2RGB)

7
задан Budric 16 March 2009 в 18:06
поделиться

4 ответа

Или я получал соединение между сжатием и энтропией неправильно?

Вы достаточно близки, но этот последний вопрос состоит в том, где ошибка была. Если Вы можете сжать что-то в форму, которая была меньшей, чем ее исходное представление, это означает, что исходное представление имело по крайней мере некоторое дублирование. Каждый бит в сообщении действительно не передавал 1 бит информации.

Поскольку избыточные данные не способствуют информационному содержанию сообщения, это также не увеличивает свою энтропию. Вообразите, например, "случайный разрядный генератор", который только возвращает значение "0". Это не передает информации вообще! (На самом деле это передает неопределенный объем информации, потому что любое двоичное сообщение, состоящее только из одного вида символа, требует деления на нуль в энтропийной формуле.)

В отличие от этого, имел Вас, моделировал большое количество случайных подбрасываний монеты, будет очень трудно уменьшить размер этого сообщения очень. Каждый бит способствовал бы близко к 1 биту энтропии.

При сжатии данных Вы извлекаете то дублирование. В обмен Вы платите однократную энтропийную цену при необходимости разработать схему, которая знает, как сжать и распаковать эти данные; то, что самостоятельно берет некоторую информацию.

Однако Вы можете длина выполнения кодировать его чем-то как 100 / 1 / 100 / 0, где это - число битов для вывода сопровождаемый битом. Кажется, что у меня есть представление, меньшее, чем данные. Особенно, если Вы увеличиваете 100 до намного большего числа.

Подводя итоги, то, что Вы могли разработать план сделать кодирование данных меньшим, чем исходные данные, говорит Вам что-то важное. А именно, это говорит, что Ваши исходные данные содержали очень мало информации.


Дальнейшее чтение

Для более полной обработки этого, включая точно, как Вы вычислили бы энтропию для любой произвольной последовательности цифр с несколькими примерами, проверяют это короткое техническое описание.

6
ответ дан 6 December 2019 в 10:03
поделиться

Взгляните на Колмогоровскую сложность

Минимальное число битов, в которые строка может быть сжата, не теряя информацию. Это определяется относительно фиксированной, но универсальной схемы распаковки, данной универсальной машиной Тьюринга.

И в Вашем особом случае, не ограничивайте себя алфавитом {0,1}. Для Вашего использования в качестве примера {0... 0, 1... 1} (сотня 0 и сотня 1's)

5
ответ дан 6 December 2019 в 10:03
поделиться

Ваше кодирование работает в этом примере, но возможно задумать одинаково допустимый случай: 010101010101..., который был бы закодирован как 1 / 0 / 1 / 1/...

Энтропия измеряется через все возможные сообщения, которые могут быть созданы в данном алфавите и не только патологических примерах!

4
ответ дан 6 December 2019 в 10:03
поделиться

John Feminella разобрался в нем, но я думаю, что существует больше для высказывания.

Шенноновская энтропия основана на вероятности, и вероятность всегда находится в глазу наблюдателя.

Вы сказали, что 1 и 0 были одинаково вероятен (0.5). Если это так, то строка 100 1 с, сопровождаемая 100 0s, имеет вероятность 0.5^200, которых - журнал (базируются 2), 200 битов, как Вы ожидаете. Однако энтропия той строки (в терминах Shannon) является своими информационными временами содержания ее вероятность, или 200 * 0.5^200, все еще действительно небольшое число.

Это важно, потому что, если Вы делаете кодирование длины выполнения для сжатия строки, в случае этой строки, это получит маленькую длину, но усредненный по всем 2^200 строки, это не преуспеет. С удачей это составит в среднем приблизительно 200, но не меньше.

С другой стороны, если Вы смотрите на свою исходную строку и говорите, что столь поразительно, что, кто бы ни генерировал его, вероятно, генерирует больше как он, затем Вы действительно говорите, что его вероятность больше, чем 0.5^200, таким образом, Вы делаете различные предположения об исходной структуре вероятности генератора строки, а именно, что это имеет более низкую энтропию, чем 200 битов.

Лично, я нахожу этот предмет действительно интересным, особенно когда Вы изучаете Kolmogorov (Алгоритмическая) информация. В этом случае Вы определяете информационное содержание строки как длина наименьшей программы, которая могла генерировать его. Это приводит ко всем видам понимания дизайна языка и разработки программного обеспечения.

Я надеюсь, что это помогает и благодарит за Ваш вопрос.

4
ответ дан 6 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: