Машинное обучение онлайн
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
В информатике . онлайн-машинное обучение — это метод машинного обучения , при котором данные становятся доступными в последовательном порядке и используются для обновления лучшего предсказателя для будущих данных на каждом этапе, в отличие от методов пакетного обучения, которые генерируют лучший предиктор путем обучения по всему набору обучающих данных сразу . Онлайн-обучение — это распространенный метод, используемый в областях машинного обучения, где вычислительно невозможно обучить весь набор данных, что требует использования внешних алгоритмов. Он также используется в ситуациях, когда алгоритму необходимо динамически адаптироваться к новым закономерностям в данных или когда сами данные генерируются как функция времени, например, при прогнозировании цен на акции . Алгоритмы онлайн-обучения могут быть подвержены катастрофическим помехам — проблеме, которую можно решить с помощью подходов постепенного обучения .
Введение
[ редактировать ]В условиях контролируемого обучения функция предстоит узнать, где рассматривается как пространство входов и как пространство результатов, которое хорошо прогнозирует случаи, полученные из совместного распределения вероятностей. на . В действительности учащийся никогда не знает истинного распределения над экземплярами. Вместо этого учащийся обычно имеет доступ к обучающему набору примеров. . В этом случае функция потерь задается как , такой, что измеряет разницу между прогнозируемым значением и истинная стоимость . Идеальная цель – выбрать функцию , где представляет собой пространство функций, называемое пространством гипотез, так что некоторое понятие общих потерь сведено к минимуму. В зависимости от типа модели (статистической или состязательной) можно разработать разные понятия потерь, которые приводят к разным алгоритмам обучения.
Статистический обзор онлайн-обучения
[ редактировать ]В статистических моделях обучения обучающая выборка предполагается, что они взяты из истинного распределения и цель состоит в том, чтобы минимизировать ожидаемый «риск» Обычной парадигмой в этой ситуации является оценка функции посредством минимизации эмпирического риска или регуляризованной минимизации эмпирического риска (обычно регуляризация Тихонова ). Выбор функции потерь здесь приводит к использованию нескольких известных алгоритмов обучения, таких как регуляризованные методы наименьших квадратов и машины опорных векторов . Чисто онлайн-модель в этой категории будет обучаться только на основе новых данных. , текущий лучший предсказатель и некоторую дополнительную хранимую информацию (обычно ожидается, что требования к хранению не зависят от размера обучающих данных). Для многих формулировок, например нелинейных методов ядра , истинное онлайн-обучение невозможно, хотя там, где можно использовать форму гибридного онлайн-обучения с рекурсивными алгоритмами. разрешено зависеть от и все предыдущие точки данных . В этом случае требования к пространству больше не гарантируются постоянными, поскольку требуется сохранение всех предыдущих точек данных, но вычисление решения может занять меньше времени с добавлением новой точки данных по сравнению с методами пакетного обучения.
Общая стратегия решения вышеуказанных проблем заключается в использовании мини-пакетов, которые обрабатывают небольшую партию данных. точки данных одновременно, это можно рассматривать как псевдо-онлайн-обучение для намного меньше общего количества тренировочных очков. Мини-пакетные методы используются с повторной передачей обучающих данных для получения оптимизированных внеядерных версий алгоритмов машинного обучения, например, стохастического градиентного спуска . В сочетании с обратным распространением ошибки в настоящее время это фактический метод обучения искусственных нейронных сетей .
Пример: линейный метод наименьших квадратов
[ редактировать ]Простой пример линейного метода наименьших квадратов используется для объяснения различных идей онлайн-обучения. Идеи достаточно общие, чтобы их можно было применить к другим настройкам, например, к другим функциям выпуклых потерь.
Пакетное обучение
[ редактировать ]Рассмотрите возможность контролируемого обучения с будучи линейной функцией, которую нужно изучить: где представляет собой вектор входных данных (точек данных) и — вектор линейного фильтра. Цель состоит в том, чтобы вычислить вектор фильтра . С этой целью квадратичная функция потерь используется для вычисления вектора что минимизирует эмпирические потери где
Позволять быть матрица данных и — вектор-столбец целевых значений после прибытия первого точки данных. Предполагая, что ковариационная матрица обратима (в противном случае предпочтительнее поступить аналогично тихоновской регуляризации), лучшее решение к линейной задаче наименьших квадратов определяется выражением
Теперь вычисляем ковариационную матрицу требует времени , инвертируя матрица требует времени , а остальная часть умножения занимает время , что дает общее время . Когда есть общее количество точек в наборе данных для повторного расчета решения после прибытия каждой точки данных. , наивный подход будет иметь полную сложность . Обратите внимание, что при сохранении матрицы , то для его обновления на каждом шаге достаточно лишь добавить , что занимает время, сокращая общее время до , но с дополнительным местом для хранения хранить . [ 1 ]
Онлайн-обучение: рекурсивный метод наименьших квадратов
[ редактировать ]Алгоритм рекурсивного метода наименьших квадратов (RLS) рассматривает онлайн-подход к задаче наименьших квадратов. Можно показать, что инициализируя и , решение линейной задачи наименьших квадратов, приведенное в предыдущем разделе, можно вычислить с помощью следующей итерации: Приведенный выше итерационный алгоритм можно доказать с помощью индукции по . [ 2 ] Доказательство также показывает, что . RLS можно рассматривать и в контексте адаптивных фильтров (см. RLS ).
Сложность для шаги этого алгоритма , что на порядок быстрее, чем соответствующая сложность пакетного обучения. Требования к хранению на каждом этапе здесь для хранения матрицы , который является постоянным при . Для случая, когда не обратима, рассмотрим регуляризованную версию функции потерь задачи . Тогда легко показать, что тот же алгоритм работает с , и итерации продолжают давать . [ 1 ]
Стохастический градиентный спуск
[ редактировать ]Когда это заменяется на или к , это становится алгоритмом стохастического градиентного спуска. В этом случае сложность шагов этого алгоритма сводится к . Требования к хранению на каждом этапе постоянны в .
Однако размер шага необходимо тщательно выбирать для решения ожидаемой проблемы минимизации риска, как подробно описано выше. Выбирая затухающий размер шага можно доказать сходимость средней итерации . Этот параметр является частным случаем стохастической оптимизации , хорошо известной проблемы оптимизации. [ 1 ]
Инкрементный стохастический градиентный спуск
[ редактировать ]На практике можно выполнить несколько проходов стохастического градиента (также называемых циклами или эпохами) над данными. Полученный таким образом алгоритм называется методом инкрементального градиента и соответствует итерации Основное отличие от метода стохастического градиента состоит в том, что здесь последовательность выбирается, чтобы решить, какую точку обучения посетить в -й шаг. Такая последовательность может быть стохастической или детерминированной. Затем количество итераций отделяется от количества точек (каждая точка может рассматриваться более одного раза). Можно показать, что метод дополнительных градиентов минимизирует эмпирический риск. [ 3 ] Инкрементные методы могут оказаться полезными при рассмотрении целевых функций, состоящих из суммы многих членов, например, эмпирической ошибки, соответствующей очень большому набору данных. [ 1 ]
Методы ядра
[ редактировать ]Ядра можно использовать для расширения вышеуказанных алгоритмов до непараметрических моделей (или моделей, в которых параметры образуют бесконечномерное пространство). Соответствующая процедура больше не будет по-настоящему онлайновой и вместо этого будет включать сохранение всех точек данных, но все равно будет быстрее, чем метод грубой силы. Это обсуждение ограничивается случаем квадратичных потерь, хотя его можно распространить на любые выпуклые потери. Это можно показать с помощью простой индукции. [ 1 ] что если это матрица данных и это результат после шаги алгоритма SGD , то где и последовательность удовлетворяет рекурсии: и Обратите внимание, что здесь это просто стандартное ядро , а предиктор имеет вид
Теперь, если общее ядро вместо этого вводится и пусть предиктор будет
то то же доказательство также покажет, что предиктор, минимизирующий потери по методу наименьших квадратов, получается путем замены приведенной выше рекурсии на
Приведенное выше выражение требует сохранения всех данных для обновления. . Общая временная сложность рекурсии при оценке -я точка данных , где — стоимость оценки ядра по одной паре точек. [ 1 ] Таким образом, использование ядра позволило выйти из конечномерного пространства параметров к возможно бесконечномерному объекту, представленному ядром вместо этого выполняя рекурсию в пространстве параметров , размерность которого равна размеру набора обучающих данных. В общем, это следствие теоремы о представителе . [ 1 ]
Онлайн-выпуклая оптимизация
[ редактировать ]Выпуклая онлайн-оптимизация (OCO) [ 4 ] это общая основа для принятия решений, которая использует выпуклую оптимизацию для создания эффективных алгоритмов. Основой является повторяющаяся игра следующим образом:
Для
- Учащийся получает вводные данные
- Результаты обучения из фиксированного выпуклого множества
- Природа возвращает выпуклую функцию потерь .
- Учащийся терпит потерю и обновляет свою модель
Цель состоит в том, чтобы минимизировать сожаление или разницу между совокупной потерей и потерей лучшей фиксированной точки. задним числом. В качестве примера рассмотрим случай онлайн-линейной регрессии по методу наименьших квадратов. Здесь весовые векторы взяты из выпуклого множества , и природа возвращает обратно выпуклую функцию потерь . Обратите внимание, что неявно отправляется с .
Однако некоторые проблемы онлайн-прогнозирования не могут уместиться в рамках OCO. Например, в онлайн-классификации область прогнозирования и функции потерь не являются выпуклыми. В таких сценариях два простых метода овыпуклости используются : рандомизация и суррогатные функции потерь. [ нужна ссылка ]
Вот некоторые простые онлайн-алгоритмы выпуклой оптимизации:
Следуй за лидером (FTL)
[ редактировать ]Самое простое правило обучения — выбрать (на текущем этапе) гипотезу, имеющую наименьшие потери за все предыдущие раунды. Этот алгоритм называется «Следуй за лидером», и раунд просто дается: Таким образом, этот метод можно рассматривать как жадный алгоритм . В случае онлайн-квадратичной оптимизации (где функция потерь равна ), можно показать границу сожаления, которая растет по мере . Однако аналогичные оценки невозможно получить для алгоритма FTL для других важных семейств моделей, таких как линейная онлайн-оптимизация. Для этого модифицируют FTL, добавляя регуляризацию.
Следуйте за регуляризованным лидером (FTRL)
[ редактировать ]Это естественная модификация FTL, которая используется для стабилизации решений FTL и получения лучших границ сожаления. Функция регуляризации выбирается и обучение проводится в раунде t следующим образом: В качестве особого примера рассмотрим случай онлайн-линейной оптимизации, т. е. когда природа отправляет обратно функции потерь вида . Кроме того, пусть . Предположим, что функция регуляризации выбирается для некоторого положительного числа . Затем можно показать, что итерация, минимизирующая сожаление, становится Обратите внимание, что это можно переписать как , который выглядит точно так же, как онлайн-градиентный спуск.
Если вместо этого S — некоторое выпуклое подпространство , на S необходимо будет проецировать, что приведет к измененному правилу обновления Этот алгоритм известен как ленивое проецирование, поскольку вектор накапливает градиенты. Он также известен как алгоритм двойного усреднения Нестерова. В этом сценарии линейных функций потерь и квадратичной регуляризации сожаление ограничено , и, таким образом, среднее сожаление становится равным 0 , как и хотелось.
Онлайн-субградиентный спуск (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 .