Обучение в реальном времени — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «'''Обучение в реальном времени''' (англ. ''online machine learning'') {{---}} вид машинного обучения, при ко…»)
 
Строка 1: Строка 1:
'''Обучение в реальном времени''' (англ. ''online machine learning'') {{---}} вид машинного обучения, при котором данные поступают в последовательном порядке и используются для обновления лучшего предсказания на каждом шаге.
+
'''Обучение в реальном времени, онлайн-обучение''' (англ. ''online machine learning'') {{---}} вид машинного обучения, при котором данные поступают в последовательном порядке и используются для обновления лучшего предсказания на каждом шаге.
 +
 
 +
[[Файл:BatchVsOnline.PNG|420px|thumb|right|Разница между пакетным и онлайн-обучением]]
  
 
== Общая информация ==
 
== Общая информация ==
  
[[Файл:Пример.jpg]]
+
[[Файл:OnlineLearningTaxonomy.PNG|420px|thumb|right|Классификация методов онлайн-обучения]]
  
 
Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.
 
Алгоритмы пакетного обучения обладают рядом критических недостатков из-за необходимости обучать модель с нуля при получении новых данных: низкая эффективность по времени и памяти, плохая масштабируемость для крупных систем. Онлайн-обучение преодолевает эти проблемы, поскольку модель обновляется на основе поступающих в каждый момент времени данных. Благодаря этому, алгоритмы онлайн-обучения гораздо более эффективны в приложениях, где данные не только имеют большой размер, но и поступают с высокой скоростью.
  
 
При онлайн-обучении для построения модели необходим один проход по данным, что позволяет не сохранять их для последующего доступа в процессе обучения и использовать меньший объем памяти. Обработка одного объекта за раз также значительно упрощает реализацию алгоритма онлайн-обучения. Однако изменение вида входных данных, выход сервера из строя и многие другие причины могут привести к прекращению корректной работы системы. Оценить качество работы системы при онлайн-обучении сложнее, чем при пакетном: не возможности получить репрезентативный тестовый набор данных.
 
При онлайн-обучении для построения модели необходим один проход по данным, что позволяет не сохранять их для последующего доступа в процессе обучения и использовать меньший объем памяти. Обработка одного объекта за раз также значительно упрощает реализацию алгоритма онлайн-обучения. Однако изменение вида входных данных, выход сервера из строя и многие другие причины могут привести к прекращению корректной работы системы. Оценить качество работы системы при онлайн-обучении сложнее, чем при пакетном: не возможности получить репрезентативный тестовый набор данных.
 +
 +
В зависимости от типа обратной связи существующие методы онлайн-обучения можно разделить на три группы:
 +
 +
* Онлайн-обучение с учителем (англ. ''supervised online learning'')
 +
* Онлайн-обучение с частичным привлечением учителя (англ. ''online learning with limited feedback'')
 +
* Онлайн-обучение без учителя (англ. ''unsupervised online learning'')
 +
 +
== Математическая основа ==
 +
 +
=== Функция ожидаемого риска (Expected Risk Function) ===
 +
 +
 +
 +
<tex>J (w) \stackrel{\triangle}{=} E_z\ Q(z,w) \stackrel{\triangle}{=}  \int Q(z,w)\,\mathrm{d}P(z) </tex>
 +
 +
 +
=== Пакетный градиентный спуск (Batch Gradient Descent) ===
 +
 +
 +
<tex> J (w) \thickapprox \hat{J_L}(w)  \stackrel{\triangle}{=} \frac{1}{L} \sum_{n=1}^L Q(z_n,w) </tex>
 +
 +
 +
<tex> 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)\ </tex>
 +
 +
 +
[[Файл:BatchGradientDescent.PNG|420px|thumb|right|Пакетный градиентный спуск]]
 +
 +
=== Градиентный спуск в реальном времени (Online Gradient Descent) ===
 +
 +
[[Файл:OnlineGradientDescent.PNG|420px|thumb|right|Градиентный спуск в реальном времени]]
 +
 +
== Примеры ==
 +
 +
=== Adaline ===
 +
 +
[[Файл:Adaline.PNG|420px|thumb|right|Widrow’s Adaline]]
 +
 +
=== Многослойные сети ===
 +
 +
=== Перцептрон ===
 +
 +
[[Файл:RosenblattPerceptron.PNG|420px|thumb|right|Перцептрон Розенблатта состоит из фиксированной предварительной обработки и обучаемого порогового элемента]]
 +
 +
=== Метод k-средних ===
 +
 +
[[Файл:KMeansOnline.PNG|420px|thumb|right|Метод k-средних отправляет заранее определенное количество центроидов кластера, чтобы минимизировать ошибку]]
 +
 +
== Источники информации ==

Версия 21:21, 20 апреля 2020

Обучение в реальном времени, онлайн-обучение (англ. 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-средних отправляет заранее определенное количество центроидов кластера, чтобы минимизировать ошибку

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