Обучение в реальном времени

Материал из Викиконспекты
Перейти к: навигация, поиск

Обучение в реальном времени, онлайн-обучение (англ. online machine learning) — вид машинного обучения, при котором данные поступают в последовательном порядке и используются для обновления лучшего предсказания на каждом шаге.

Разница между пакетным и онлайн-обучением

Общая информация

Классификация методов онлайн-обучения

Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.

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

В зависимости от типа обратной связи существующие методы онлайн-обучения можно разделить на три группы:

  • Онлайн-обучение с учителем (англ. supervised online learning)
  • Онлайн-обучение с частичным привлечением учителя (англ. online learning with limited feedback)
  • Онлайн-обучение без учителя (англ. unsupervised online learning)

Математическая основа

Функция ожидаемого риска (Expected Risk Function)

[math]J (w) \stackrel{\triangle}{=} E_z\ Q(z,w) \stackrel{\triangle}{=} \int Q(z,w)\,\mathrm{d}P(z) [/math]


Пакетный градиентный спуск (Batch Gradient Descent)

[math] J (w) \thickapprox \hat{J_L}(w) \stackrel{\triangle}{=} \frac{1}{L} \sum_{n=1}^L Q(z_n,w) [/math]


[math] w_{t+1} = w_t - \gamma_t \bigtriangledown_w \hat{J_L}(w_t) = w_t - \gamma_t\ \frac{1}{L} \sum_{i=1}^L \bigtriangledown_w\ Q(z_i,w_t)\ [/math]


Пакетный градиентный спуск

Градиентный спуск в реальном времени (Online Gradient Descent)

Градиентный спуск в реальном времени

Примеры

Adaline

Widrow’s Adaline

Многослойные сети

Перцептрон

Перцептрон Розенблатта состоит из фиксированной предварительной обработки и обучаемого порогового элемента

Метод k-средних

Метод k-средних отправляет заранее определенное количество центроидов кластера, чтобы минимизировать ошибку

Источники информации