Restricted Boltzmann Machine — физика для рекомендательных систем
Привет, Хабр, сегодня хочу предложить рассмотреть RBM модель для системы рекомендаций. Я думаю многие слышали о данном подходе для нейронных сетей, но именно в контексте рекомендательных систем информации на русском языке мало, хотя подход очень популярен. Здесь я сконцентрируюсь на математике, в свою очередь подсмотреть реализацию вы можете в репозитории recommenders Microsoft (https://github.com/microsoft/recommenders).
RBM — это модель генеративной нейронной сети, которая обычно используется для обучения без учителя. Основная задача RBM – изучить совместное распределение вероятностей
Модель генерирует рейтинги для пары пользователь-объект, используя подход, основанный на совместной фильтрации. В то время как методы матричной факторизации изучают, как воспроизвести экземпляр матрицы сходства пользователей-объектов, RBM изучает лежащее в основе распределение вероятностей. Это дает несколько преимуществ:
Обобщаемость: модель хорошо обобщается на новые примеры, если они не сильно различаются по вероятности;
Стабильность во времени: если задача рекомендаций стационарна во времени, модель не нужно часто обучать, чтобы приспособиться к новым рейтингам / пользователям.
Стоит отметить, что данная модель – это неориентированная графическая модель, первоначально разработанная для изучения статистической механики илифизики магнитных систем. Статистическая механика обеспечивает вероятностное описание сложных систем, состоящих из огромного числа компонентов (обычно ∼1023). Вместо того, чтобы смотреть на конкретный экземпляр системы, цель статической механики описать их типичное поведение. Этот подход оказался успешным для описания газов, жидкостей, сложных материалов например,полупроводников и даже знаменитого бозона Хиггса! Разработанный для обработки и организации больших объемов данных, алгоритм идеально подходит в современных алгоритмах обучения. В контексте рекомендательных систем идея состоит в том, чтобы изучить типичное поведение пользователя, а не конкретные примеры.
Основной величиной каждой модели статической механики является распределение Больцмана – это можно рассматривать как наименее смещенное распределение вероятностей на данном вероятностном пространстве
где,
По этой причине этот класс моделей в информатике также известен как энергетический. В физике
Теперь ближе к алгоритму. Входные данные выборки, которая используется разработчиком, состоят из оценок от 1 до 5. Таким образом, мы будем рассматривать дискретное конфигурационное пространство
Первый член — это «термин взаимодействия», фиксирующий корреляции между видимыми и скрытыми единицами, в то время как два других члена являются «потенциальными терминами», принимая во внимание предвзятость единиц. Корреляционная матрица
На языке теории вероятностей указанная выше величина
Рассмотрим модель более подробно. Вместо выборки непосредственно из совместного распределения вероятностей можно оценить условные распределения:
где второе равенство следует из того, что модель неориентирована или физически находится в равновесии. Выборка Гиббса по существу состоит из двух этапов, называемых положительной и отрицательной фазами.
Позитивная фаза начинается с фиксации видимых блоков в данных и определении
Взяв градиенты по смещению, получим:
где
В свою очередь негативная фаза включает использование выборочного значения скрытых единиц, чтобы определить
где
В конце каждой k-шаговой выборки Гиббса расчитывается разница между начальной свободной энергией при ? = 1 и заданном v и энергией после k-шагов и обновляются параметры обучения
Этот процесс повторяется для каждой обучающей эпохи, до тех пор, пока
На этом вообщем-то и все! Как упоминалось выше, реализацию можно посмотреть у Microsoft. Она достаточно хорошо задокументирована и предоставляет простые примеры с использованием RBM.
Исследуйте и развивайтесь!