Сегодня я начал читать книгу Дэвида Маккея Теория информации, логические выводы и алгоритмы обучения. Автор любезно предлагает бесплатную электронную книгу через свою домашнюю страницу.

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

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

Первый раздел посвящен методам шумоподавления при отправке кодов (последовательности 0 и 1) по зашумленному каналу связи. Первый метод грубой силы отправляет один и тот же код несколько раз и определяет каждый бит на основе большинства голосов. Это простое решение требует низкой скорости передачи информации. Также представлен более продвинутый метод, код Хэмминга (7, 4). Он может успешно исправить однобитовую ошибку в коде длиной 7 (но не двухбитовую ошибку).

Какой метод лучше другого? Одна хорошая мера - увидеть соотношение между скоростью и вероятностью ошибки:

Если отношение метода расположено справа-снизу отношения другого метода, то это лучший метод.

Итак, теперь мы можем задаться вопросом, какие точки плоскости вероятности ошибки достижимы, а какие нет. Звучит разумно, что граница между достижимыми и недостижимыми точками должна проходить через начало координат (0, 0). Однако Шеннон доказал, что это не так: существуют коды, позволяющие осуществлять связь со сколь угодно малой вероятностью ошибки на ненулевой скорости, и этот результат называется «теоремой кодирования зашумленного канала».

Например, при частоте ошибок 0,1 пропускная способность примерно 0,53.

Предупреждение 1: этот результат не претендует на то, что мы можем сделать безошибочный код с разрядностью 0,53. Мы можем общаться со сколь угодно малой вероятностью ошибки.

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

Таким образом, более точным названием этого раздела было бы введение в теорему Шеннона о кодировании канала с шумом. В главах 1–3 содержится более подробная информация об этой важной теореме, но я пропущу их и перейду к главе 4 после прочтения раздела 2 для предварительного ознакомления.