Машинное обучение онлайн
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
В информатике . онлайн-машинное обучение — это метод машинного обучения , при котором данные становятся доступными в последовательном порядке и используются для обновления лучшего предсказателя для будущих данных на каждом этапе, в отличие от методов пакетного обучения, которые генерируют лучший предиктор путем обучения по всему набору обучающих данных сразу . Онлайн-обучение — это распространенный метод, используемый в областях машинного обучения, где вычислительно невозможно обучить весь набор данных, что требует использования внешних алгоритмов. Он также используется в ситуациях, когда алгоритму необходимо динамически адаптироваться к новым закономерностям в данных или когда сами данные генерируются как функция времени, например, при прогнозировании цен на акции . Алгоритмы онлайн-обучения могут быть подвержены катастрофическим помехам — проблеме, которую можно решить с помощью подходов постепенного обучения .
Введение [ править ]
В условиях контролируемого обучения функция предстоит узнать, где рассматривается как пространство входов и как пространство результатов, которое хорошо прогнозирует случаи, полученные из совместного распределения вероятностей. на . В действительности учащийся никогда не знает истинного распределения над экземплярами. Вместо этого учащийся обычно имеет доступ к обучающему набору примеров. . В этом случае функция потерь задается как , такой, что измеряет разницу между прогнозируемым значением и истинная стоимость . Идеальная цель – выбрать функцию , где представляет собой пространство функций, называемое пространством гипотез, так что некоторое понятие общих потерь сведено к минимуму. В зависимости от типа модели (статистической или состязательной) можно разработать разные понятия потерь, которые приводят к разным алгоритмам обучения.
обучения онлайн - Статистический обзор
В статистических моделях обучения обучающая выборка предполагается, что они взяты из истинного распределения и цель состоит в том, чтобы минимизировать ожидаемый «риск»
Общая стратегия решения вышеуказанных проблем заключается в использовании мини-пакетов, которые обрабатывают небольшую партию данных. точки данных одновременно, это можно рассматривать как псевдо-онлайн-обучение для намного меньше общего количества тренировочных очков. Мини-пакетные методы используются с повторной передачей обучающих данных для получения оптимизированных внеядерных версий алгоритмов машинного обучения, например, стохастического градиентного спуска . В сочетании с обратным распространением ошибки в настоящее время это фактический метод обучения искусственных нейронных сетей .
Пример: линейный метод наименьших квадратов [ править ]
Простой пример линейного метода наименьших квадратов используется для объяснения различных идей онлайн-обучения. Идеи достаточно общие, чтобы их можно было применить к другим настройкам, например, к другим функциям выпуклых потерь.
Пакетное обучение [ править ]
Рассмотрите возможность контролируемого обучения с будучи линейной функцией, которую нужно изучить:
Позволять быть матрица данных и — вектор-столбец целевых значений после прибытия первого точки данных.Предполагая, что ковариационная матрица обратима (в противном случае предпочтительнее поступить аналогично тихоновской регуляризации), лучшее решение к линейной задаче наименьших квадратов определяется выражением
Теперь вычисляем ковариационную матрицу требует времени , инвертируя матрица требует времени , а остальная часть умножения занимает время , что дает общее время . Когда есть общее количество точек в наборе данных для повторного расчета решения после прибытия каждой точки данных. , наивный подход будет иметь полную сложность . Обратите внимание, что при сохранении матрицы , то для его обновления на каждом этапе достаточно лишь добавить , что занимает время, сокращая общее время до , но с дополнительным местом для хранения хранить . [1]
Онлайн-обучение: рекурсивный метод наименьших квадратов [ править ]
Алгоритм рекурсивного метода наименьших квадратов (RLS) рассматривает онлайн-подход к задаче наименьших квадратов. Можно показать, что инициализируя и , решение линейной задачи наименьших квадратов, приведенное в предыдущем разделе, можно вычислить с помощью следующей итерации:
Сложность для шаги этого алгоритма , что на порядок быстрее, чем соответствующая сложность пакетного обучения. Требования к хранению на каждом этапе здесь для хранения матрицы , который является постоянным при . Для случая, когда не обратима, рассмотрим регуляризованную версию функции потерь задачи . Тогда легко показать, что тот же алгоритм работает с , и итерации продолжают давать . [1]
спуск Стохастический градиентный
Когда это
Однако размер шага необходимо тщательно выбирать для решения ожидаемой проблемы минимизации риска, как подробно описано выше. Выбирая затухающий размер шага можно доказать сходимость средней итерации . Этот параметр является частным случаем стохастической оптимизации , хорошо известной проблемы оптимизации. [1]
спуск стохастический Инкрементальный градиентный
На практике можно выполнить несколько проходов стохастического градиента (также называемых циклами или эпохами) над данными. Полученный таким образом алгоритм называется методом инкрементального градиента и соответствует итерации
Методы ядра [ править ]
Ядра можно использовать для расширения вышеуказанных алгоритмов до непараметрических моделей (или моделей, в которых параметры образуют бесконечномерное пространство). Соответствующая процедура больше не будет по-настоящему онлайновой и вместо этого будет включать сохранение всех точек данных, но все равно будет быстрее, чем метод грубой силы. Это обсуждение ограничивается случаем квадратичных потерь, хотя его можно распространить на любые выпуклые потери. Это можно показать с помощью простой индукции. [1] что если это матрица данных и это результат после шаги алгоритма SGD , то
Теперь, если общее ядро вместо этого вводится и пусть предиктор будет
Выпуклая онлайн-оптимизация [ править ]
Выпуклая онлайн-оптимизация (OCO) [4] это общая основа для принятия решений, которая использует выпуклую оптимизацию для создания эффективных алгоритмов. Основой является повторяющаяся игра следующим образом:
Для
- Учащийся получает вводные данные
- Результаты обучения из фиксированного выпуклого множества
- Природа возвращает выпуклую функцию потерь .
- Учащийся терпит потерю и обновляет свою модель
Цель состоит в том, чтобы минимизировать сожаление или разницу между совокупной потерей и потерей лучшей фиксированной точки. задним числом. В качестве примера рассмотрим случай онлайн-линейной регрессии по методу наименьших квадратов. Здесь весовые векторы взяты из выпуклого множества , и природа возвращает обратно выпуклую функцию потерь . Обратите внимание, что неявно отправляется с .
Однако некоторые проблемы онлайн-прогнозирования не могут уместиться в рамках OCO. Например, в онлайн-классификации область прогнозирования и функции потерь не являются выпуклыми. В таких сценариях два простых метода овыпукливания используются : рандомизация и суррогатные функции потерь. [ нужна ссылка ]
Вот некоторые простые онлайн-алгоритмы выпуклой оптимизации:
Следуй за лидером (FTL) [ править ]
Самое простое правило обучения — выбрать (на текущем этапе) гипотезу, имеющую наименьшие потери за все предыдущие раунды. Этот алгоритм называется «Следуй за лидером», и раунд просто дается:
Следуйте за регулярным лидером (FTRL) [ править ]
Это естественная модификация FTL, которая используется для стабилизации решений FTL и получения лучших границ сожаления. Функция регуляризации выбирается и обучение проводится в раунде t следующим образом:
Если вместо этого S — некоторое выпуклое подпространство , на S необходимо будет проецировать, что приведет к измененному правилу обновления
Онлайн-субградиентный спуск (OSD) [ править ]
Вышеупомянутое доказало ограничение сожаления для линейных функций потерь. . Чтобы обобщить алгоритм на любую выпуклую функцию потерь, субградиент из используется как линейное приближение к около , что приводит к онлайн-алгоритму субградиентного спуска:
Инициализировать параметр
Для
- Прогнозируйте, используя , получать от природы.
- Выбирать
- Если , обновить как
- Если , проецировать кумулятивные градиенты на т.е.
Можно использовать алгоритм OSD для получения границы сожаления для онлайн-версии SVM для классификации, в которой используются потери шарнира
Другие алгоритмы [ править ]
Квадратически регуляризованные алгоритмы FTRL приводят к алгоритмам ленивого проецирования градиента, как описано выше. Чтобы использовать вышеизложенное для произвольных выпуклых функций и регуляризаторов, используется онлайн-зеркальный спуск . Оглядываясь назад, оптимальную регуляризацию можно получить для линейных функций потерь, что приводит к алгоритму AdaGrad . Для евклидовой регуляризации можно показать границу сожаления , который можно дополнительно улучшить до для сильно выпуклых и эксп-вогнутых функций потерь.
Постоянное обучение [ править ]
Непрерывное обучение означает постоянное улучшение изученной модели путем обработки непрерывных потоков информации. [5] Возможности непрерывного обучения необходимы для программных систем и автономных агентов, взаимодействующих в постоянно меняющемся реальном мире. Однако непрерывное обучение является проблемой для моделей машинного обучения и нейронных сетей, поскольку постоянное получение постепенно доступной информации из нестационарных распределений данных обычно приводит к катастрофическому забыванию .
Интерпретации онлайн-обучения [ править ]
Парадигма онлайн-обучения имеет разные интерпретации в зависимости от выбора модели обучения, каждая из которых имеет различные последствия для качества прогнозирования последовательности функций. . Для этого обсуждения используется прототип алгоритма стохастического градиентного спуска. Как отмечалось выше, его рекурсия определяется выражением
Первая интерпретация рассматривает метод стохастического градиентного спуска применительно к задаче минимизации ожидаемого риска. определено выше. [6] Действительно, в случае бесконечного потока данных, поскольку примеры предполагается, что они взяты из распределения , последовательность градиентов в приведенной выше итерации представляют собой iid выборку стохастических оценок градиента ожидаемого риска. и поэтому можно применить результаты сложности для метода стохастического градиентного спуска, чтобы ограничить отклонение , где является минимизатором . [7] Эта интерпретация справедлива и в случае конечного обучающего набора; хотя при многократном проходе по данным градиенты больше не являются независимыми, в особых случаях все же можно получить результаты по сложности.
Вторая интерпретация применима к случаю конечного обучающего набора и рассматривает алгоритм SGD как пример метода постепенного градиентного спуска. [3] В этом случае вместо этого рассматривается эмпирический риск:
Реализации [ править ]
- Vowpal Wabbit : быстрая внеядерная онлайн-система обучения с открытым исходным кодом, которая отличается поддержкой ряда сокращений машинного обучения , взвешивания важности и выбора различных функций потерь и алгоритмов оптимизации. Он использует прием хеширования для ограничения размера набора функций независимо от объема обучающих данных.
- scikit-learn : Обеспечивает внеядерные реализации алгоритмов для
- Классификация: Персептрон , классификатор SGD , классификатор Наивного Байеса .
- Регрессия: SGD-регрессор, пассивно-агрессивный регрессор.
- Кластеризация: мини-пакетные k-средние .
- Извлечение функций: мини-пакетное обучение словарю , инкрементальный PCA .
См. также [ править ]
Парадигмы обучения
- Постепенное обучение
- Ленивое обучение
- Офлайн-обучение , противоположная модель
- Обучение с подкреплением
- Многорукий бандит
- Обучение под присмотром
Общие алгоритмы
Модели обучения
- Теория адаптивного резонанса
- Иерархическая временная память
- алгоритм k-ближайшего соседа
- Обучение векторному квантованию
- Персептрон
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с д и ж г Л. Росаско, Т. Поджо, Машинное обучение: подход к регуляризации, Конспект лекций MIT-9.520, рукопись, декабрь 2015 г. Глава 7 — Онлайн-обучение
- ^ Кушнер, Гарольд Дж.; Инь, Дж. Джордж (2003). Стохастическая аппроксимация и рекурсивные алгоритмы с приложениями (второе изд.). Нью-Йорк: Спрингер. стр. 8–12 . ISBN 978-0-387-21769-7 .
- ↑ Перейти обратно: Перейти обратно: а б Берцекас, Д.П. (2011). Инкрементный градиент, субградиент и проксимальные методы выпуклой оптимизации: обзор. Оптимизация для машинного обучения, 85.
- ^ Хазан, Элад (2015). Введение в онлайн-выпуклую оптимизацию (PDF) . Основы и тенденции оптимизации.
- ^ Паризи, Герман И.; Кемкер, Рональд; Парт, Хосе Л.; Кэнан, Кристофер; Вермтер, Стефан (2019). «Непрерывное обучение на протяжении всей жизни с помощью нейронных сетей: обзор» . Нейронные сети . 113 : 54–71. arXiv : 1802.07569 . дои : 10.1016/j.neunet.2019.01.012 . ISSN 0893-6080 .
- ^ Ботту, Леон (1998). «Онлайн-алгоритмы и стохастические аппроксимации». Онлайн-обучение и нейронные сети . Издательство Кембриджского университета. ISBN 978-0-521-65263-6 .
- ^ Алгоритмы и приложения стохастической аппроксимации , Гарольд Дж. Кушнер и Г. Джордж Инь, Нью-Йорк: Springer-Verlag, 1997. ISBN 0-387-94916-X ; 2-е изд., « Стохастическая аппроксимация, рекурсивные алгоритмы и приложения» , 2003 г., ISBN 0-387-00894-2 .