Обучение в реальном времени
Обучение в реальном времени, онлайн-обучение (англ. online machine learning) — вид машинного обучения, при котором данные поступают в последовательном порядке и используются для обновления лучшего предсказания на каждом шаге.
Общая информация
Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.
При онлайн-обучении для построения модели необходим один проход по данным, что позволяет не сохранять их для последующего доступа в процессе обучения и использовать меньший объем памяти. Обработка одного объекта за раз также значительно упрощает реализацию алгоритма онлайн-обучения. Однако изменение вида входных данных, выход сервера из строя и многие другие причины могут привести к прекращению корректной работы системы. Оценить качество работы системы при онлайн-обучении сложнее, чем при пакетном: не возможности получить репрезентативный тестовый набор данных.
В зависимости от типа обратной связи существующие методы онлайн-обучения можно разделить на три группы:
- Онлайн-обучение с учителем (англ. supervised online learning)
- Онлайн-обучение с частичным привлечением учителя (англ. online learning with limited feedback)
- Онлайн-обучение без учителя (англ. unsupervised online learning)
Математическая основа
Функция ожидаемого риска (Expected Risk Function)
Цель системы обучения состоит в поиске минимум функции
, называемой функцией ожидаемого риска. Эта функция раскладывается следующим образом:
Переменная минимизации w предназначена для представления части системы обучения, которая должна быть адаптирована в качестве реакции на наблюдение событий
, происходящих в реальном мире. Функция потерь измеряет производительность системы обучения с параметром при обстоятельствах, описанных событием .События
моделируются как случайные независимые наблюдения, взятые из неизвестного распределения вероятности . Функция риска - это ожидание функции потерь для фиксированного значения параметра .Функция ожидаемого риска
не может быть минимизирована напрямую, потому что распределение неизвестно. Однако возможно вычислить приближение , используя конечный обучающий набор независимых наблюдений .
Пакетный градиентный спуск (Batch Gradient Descent)
Градиентный спуск в реальном времени (Online Gradient Descent)