1. Теория информации + ML. Энтропия
Давно хотел сделать учебные материалы по теме Теория Информации + Machine Learning. Нашёл старые черновики и решил довести их до ума здесь, на хабре.
Теория Информации и Machine Learning мне видятся как интересная пара областей, глубокая связь которых часто неизвестна ML инженерам, и синергия которых раскрыта ещё не в полной мере.
Когда я говорю коллегам, что LogLoss на тесте и Mutual Information между прогнозом и прогнозируемой величиной связаны напрямую, и по несложной формуле можно из одного получить второе, они часто искренне удивляются. В википедии со страницы LogLoss есть ссылка на Mutual Information, но не более того.
Теория Информация может стать (а, точнее, стала) источником понимания как и почему работают разные методы ML, в частности нейронные сети, а также может дать идеи улучшения градиентных методов оптимизации.
Начнём с базовых понятий Энтропии, Информации в сообщении, Взаимной Информации (Mutual Information), пропускной способности канала. Далее будут материалы про схожесть задач максимизации Mutual Information и минимизации Loss-а в регрессионных задачах. Затем будет часть про Information Geometry: метрику Фишера, геодезические, градиентные методы, и их связь с гауссовскими процессами (движение по градиенту методом SGD — это движение по геодезической с шумом).
Также нужно затронуть AIC, Information Bottleneck, поговорить про то, как устроен поток информации в нейронных сетях – Mutual Information между слоями (Information Theory of Deep Learning, Naftali Tishby) и многое другое. Не факт, что получится всё перечисленное охватить, но попробую начать.
1. Базовые определения
Есть три более менее разных способа прийти к формуле энтропии распределения
Давайте их опишем. Начнём с базовых определений.
Опр. 1.1: Неопределенность — это логарифм по основанию 2 от числа равновероятных вариантов:
Логарифм
Логарифм числа по основанию 2 – это то, сколько раз нужно делить число на 2, чтобы получить число меньше либо равно 1. Например,
Для не степеней двойки эта функция гладко продолжается. Например,
Важное свойство логарифма:
Поробуйте вывести его из нестрогого определения выше для случая, когда
Битовые слова
Битовые слова длины
00000, 00001, 00010, 00011, 00100, 00101, ... , 11100, 11101, 111110, 11111
Их 32 штуки.
Именно столько неизвестных бит в неизвестном битовом слове длины 5.
Таким образом, каждый знак в битовом слове называется битом, но ещё бит – это единица измерения неопределённости. И из этого примера понятно почему.
Для краткости везде далее
Опр. 1.2: Информация в сообщении — это разница неопределенностей до получения сообщения и после
Тоже измеряется в битах.
Например, Ваня загадал число от 1 до 100. Нам сообщили, что оно меньше либо равно 50. Неопределённость до сообщения равна
Некоторые вопросы неэффективны, например, вопрос "верно ли, что число меньше либо равно 25?" уменьшит неопределенность на
Это выражение будем обозначать через
Опр. 1.3:
График H(x)
Видно, что задавая бинарные вопросы, в можно извлекать максимум 1 бит информации в среднем (максимальное значение функции
В этом примере 100 вариантов, а значит начальная неопределенность равна
Если мы будем задавать не бинарные вопросы, а вопросы, которые подразумевают в качестве ответа натуральное число от 1 до M, то мы сможем в одном ответе получать более, чем один бит информации. Если мы задаём такой вопрос, для которого все M ответов равновероятны, то в среднем мы будем получать
Опр. 1.4: Энтропия дискретного распределения
Здесь мы перегрузили функцию H для случая, когда на вход поступает дискретное распределение.
ИТАК: Первый простой способ прийти к формуле энтропии
Давайте пойдём дальше. Пусть Ваня не загадывает число, а сэмплирует его из распределения
Задача 1.1: Изучите код Хаффмана. Докажите, что текст с исходной длиной символов N имеет в сжатом виде длину, ограниченную снизу величиной
ИТАК: Формула
Это второй способ прийти к формуле (1).
Для случайной величины
Есть ещё один, третий, простой способ прийти к формуле энтропии, но нужно знать формулу Стирлинга.
Задача 1.2: Есть неизвестное битовое слово длины k (последовательность единиц и ноликов, всего k символов). Нам сообщили, что в нём 35% единичек. Чему равно
Ответ
Примерно
Задача 1.3: У Вани есть неизвестное слово длины
Чему равно
Ответ
ИТАК: Задача 1.3 и есть третий способ прийти к формуле (1).
Опр. 1.5: Информация в сообщении по некоторую случайную величину — это разница энтропий:
Значения случайной дискретной величины можно рассматривать как буквы, каждая следующая буква слова — это просто очередное измерение случайной величины. Вот и получается, что информация в сообщении про некоторую случайную величину — это количество бит информации про измерения этой случайной величины нормированное на число измерений.
Задача 1.4: Чему равна энтропия дискретного распределения
Ответ:
Этот результат требует принятия. Как же так? – Нам сообщили ненулевую на первый взгляд информацию, отсекли самый вероятный вариант из возможных. Но неопределённость на множестве оставшихся вариантах осталась прежней, поэтому формула
Задача 1.5: Приведите пример конечного распределения и сообщения, которое не уменьшает, а увеличивает неопределённость.
Ответ:
Древняя мудрость "во многих знаниях многие печали" в этом контексте получает ещё одну интересную интерпретацию: современный мир, наука и человеческая жизнь таковы, что новые "сообщения" о истории и об устройстве мира только увеличивают неопределённость.
Дискретные распределения на счётном множестве значений, которые затухают по экспоненциальному закону (геометрические прогрессии), обладают свойством неизменности неопределённости при получении информации, что среди первых элементов нет правильного ответа. Менее, чем экспоненциальные затухания (например,
Задача 1.6: Напишите формулу для энтропии распределения Пуассона
Найдите простое приближение для больших
Ответ
Задача 1.7: Дано распределение
Ответ:
Нужно разбить ось x на корзинки длиной
(см. определение энтропии непрерывного распределения ниже).
Опр. 1.6: Энтропия непрерывного распределения равна
Здесь мы ещё раз перегрузили значение символа H для случая, когда аргумент есть функция плотности вероятности (PDF).
Задача 1.8: Даны два распределения
Ответ:
Задача 1.9: Чему равна энтропия нормального распределения
Ответ:
Задача 1.10: Напишите формулу для энтропии экспоненциального распределения
Задача 1.11: Случайная величина
Пусть множество значений, которые принимает
Ответ
Последнее равенство тут возможно только благодаря тому, что носители
В этой задаче хотелось показать, что даже в простом случае непересекающихся носителей энтропии не просто складываются с соответствующими весами, а появляется добавка
Интерпретация формулы такая: результат измерения с вероятностью
Из этого в частности следует, что смесь с коэффициентами 1/2 двух нормальных величин с одинаковой дисперсией, но сильно разными средними, имеет энтропию на 1 больше, чем энтропия одного нормального распределения. Носители нормальных случайных величин равны всей прямой, а значит пересекаются, но в случае сильно разных средних можно этим пренебречь.
Задача 1.12: Случайная величина
Ответ
Есть такой численный ответ:
Понятно, что график начинается с 0 и стремится к 1:
при
два гаусса одинаковые и сообщение про то, какой из них был выбран ничего не даёт; при
имеем смесь (mixture) двух гауссовских распределений с сильно разнесёнными центрами; сообщение про значение говорит, в каком из двух "гауссовских колпаков" находится ответ, и число вариантов уменьшается примерно в два раза, а неопределённость уменьшается на 1; "примерность" связана с тем, что "колпаки" перекрываются, но размер перекрытия быстро уменьшается с ростом . в окрестности
рост квадратичный, примерно . а приближение к 1 происходит примерно по закону
Задача 1.13: Случайная величина
Ответ
Задача 1.14: Случайная величина
Задача 1.15: Случайные величины
Эту задачу можно сформулировать на языке ML так: у нас есть категориальная фича
Задача 1.16. Случайная величина
Ответ
Начальная дисперсия
Из начальной энтропии
Таким образом, при больших
То есть число верных знаков в десятичной записи числа
Продолжение:
Часть 2 – Mutual Information. В ней рассказывается про Взаимную Информацию – концепцию, которая открывает двери в помехоустойчивое кодирование, алгоритмы сжатия, а также даёт новый взгляд на задачи Машинного Обучения.
Часть 3 – ML & Mutual Information. Основы ML в контексте теории информации.