Справка по взаимной информации / расчету энтропии - PullRequest
1 голос
/ 01 мая 2010

Надеясь, что кто-нибудь может подсказать мне эту проблему энтропии.

Скажем, X выбран случайным образом из равномерного целочисленного распределения 0-32 (включительно).

Я вычисляю энтропию, H (X) = 32 бита, так как каждый Xi имеет равную вероятность возникновения.

Теперь, допустим, выполняется следующий псевдокод.

int r = rand (0,1); // случайное целое число 0 или 1

r = r * 33 + X;

Как бы я выяснил взаимную информацию между двумя переменными r и X?

Взаимная информация определяется как I (X; Y) = H (X) - H (X | Y), но я не совсем понимаю, как применить условную энтропию H (X | Y) к этой проблеме.

Спасибо

1 Ответ

1 голос
/ 01 мая 2010

Если это домашнее задание, тогда я дам подсказки. (Кроме того, я предполагаю, что X ~ unif [0,31], так что числа работают хорошо. Вы уверены, что это [0,32], а не [0,31]?)

Сначала проверьте ваш расчет на H (X). H (X) = 5, а не 32.

Во-вторых, уравнение r = 33r + X не имеет смысла. Позвольте мне использовать разные переменные:

Y = 32R + X

В-третьих, вы не указываете распределение вероятностей R. Предполагая, что 0 и 1 равновероятны, тогда H (R) = 1.

Как вы сказали, I (X; Y) = H (X) - H (X | Y) = H (Y) - H (Y | X). Рассмотрим H (Y | X). Если X задано, то есть поддерживается постоянным, то Y зависит только от R, верно? Следовательно, H (Y | X) = H (R).

Наконец, используйте закон полной вероятности для вычисления распределения вероятности Y. (Подсказка: это простое.) Затем вы можете вычислить H (Y), и, наконец, I (X; Y).

...