Дивергенция Кульбака-Лейблера, метод максимального правдоподобия и его связь с функциями потерь в машинном обучении. |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-01-11 05:41 Минимальные знания, необходимые для чтения и понимания статьи: — метод максимального правдоподобия — энтропия — основы статистики и теории вероятностей: Теперь приступим. Так выглядит оценка максимального правдоподобия. Так как примеры в нашей выборке Х из n элементов независимы, получаем: Такую функцию тяжело оценивать, так как: Поэтому просто берут логарифм от каждой вероятности (функция монотонная ? параметры модели останутся теми же, поменяется лишь значение, в котором достигается максимум). Ну и всем известно, что логарифм произведения — это сумма логарифмов: Потом мы полагаем, что: y с крышечкой (y^)— это ответ сети при x и параметрах модели И из всего этого следует, что модель p(y|x; ?) имеет нормальное распределение. Подставив эту модель в нашу конечную формулу для оценки максимального правдоподобия, получаем: Вспоминаем, что мы хотим максимизировать нашу оценку (в формуле выше — это J) ? минимизируя последнее слагаемое в формуле, мы добьемся максимального правдоподобия модели. А последнее слагаемое очень сильно похоже на ту самую MSELoss. С единственной разницей, что reduction в MSELoss по дефолту установлен как mean, т.е. среднее, ? в знаменателе будет не 2 * дисперсия, а n — кол-во элементов в выборке. Это просто константа, которая позволяет scale'ить значение функции, а параметры, при которых достигается минимум функции, останутся прежними. С кросс-энтропией здесь полегче. Оценку максимального правдоподобия можно переписать как: Дальше мы просто умножаем под суммой каждое слагаемое на p(x). p(x) — one-hot-encoded вектор. Получается, что минимизация этих функций — эквивалентна! Но что мы на самом деле минимизируем, когда минимизируем кросс-энтропию? Дивергенцию Кульбака-Лейблера! Именно дивергенцию, а не расстояние — по ряду причин. Например, эта дивергенция несимметрична. Т.е. у нас есть 2 распределения вероятностей. Дивергенция Кульбака-Лейблера показывает нам меру того, на сколько удалены друг от друга данные распределения — если вкратце. H(P) — энтропия H(P, Q) — уже известная нам кросс-энтропия Dkl(P||Q) — та самая дивергенция Кульбака-Лейблера! Ну и мы можем слегка поиграться с формулой для кросс-энтропии. Например, записать ее в виде: Выходит, что мы, минимизируя кросс-энтропию, минимизируем дивергенцию Кульбака-Лейблера (H(P) — константа, которая не зависит от Q (а Q зависит от параметров модели)). Это интуитивно понятно — у нас есть 2 распределения: Первое — идеальное распределение вероятностей (скажем, в нашей модели классификации), которое мы хотели бы получить от модели. Второе — такое распределение вероятностей, которое было получено в качестве выхода нейронной сети. И соответственно, минимизируя дивергенцию (по Q, которое зависит от параметров модели) между распределениями, мы устремляем второе распределение к первому. https://jhui.github.io/2017/01/05/Deep-learning-Information-theory/ https://www.countbayesie.com/blog/2017/5/9/kullback-leibler-divergence-explained Вопросы можете задавать в комментариях — с радостью отвечу! Источник: m.vk.com Комментарии: |
|