Ядро персептрона
Часть серии о |
Машинное обучение и интеллектуальный анализ данных |
---|
В машинном обучении перцептрон ядра — это вариант популярного алгоритма обучения перцептрона , который может изучать машины ядра , то есть нелинейные классификаторы , которые используют функцию ядра для вычисления сходства невидимых выборок с обучающими выборками. Алгоритм был изобретен в 1964 году. [ 1 ] что делает его первым учащимся классификации ядра. [ 2 ]
Предварительные сведения
[ редактировать ]Алгоритм перцептрона
[ редактировать ]Алгоритм персептрона — это алгоритм онлайн-обучения , который работает по принципу, называемому «обучение на основе ошибок». Он итеративно улучшает модель, запуская ее на обучающих выборках, а затем обновляя модель всякий раз, когда обнаруживает, что она выполнила неверную классификацию по отношению к контролируемому сигналу. Модель, изучаемая стандартным алгоритмом перцептрона, представляет собой линейный двоичный классификатор: вектор весов w (и, возможно, член-термин b , опущенный здесь для простоты), который используется для классификации вектора выборки x как класса «один» или класса «минус». один» согласно
где ноль произвольно отображается в единицу или минус единицу. (Шляпа на ŷ обозначает приблизительную стоимость.)
В псевдокоде алгоритм перцептрона задается следующим образом:
- Инициализируйте w нулевым вектором длины p , количества предикторов (функций).
- Для некоторого фиксированного количества итераций или до тех пор, пока не будет выполнен некоторый критерий остановки:
- Для каждого обучающего примера x i с основной меткой истинности y i ∈ {-1, 1 }:
- Пусть ŷ = sn( w Т х я ) .
- Если ŷ ≠ y i , обновить w ← w + y i x i .
- Для каждого обучающего примера x i с основной меткой истинности y i ∈ {-1, 1 }:
Методы ядра
[ редактировать ]В отличие от линейных моделей, изучаемых перцептроном, метод ядра [ 3 ] — это классификатор, который хранит подмножество своих обучающих примеров x i , связывает с каждым весовой коэффициент α i и принимает решения для новых образцов x' путем оценки
- .
Здесь K — некоторая функция ядра. Формально функция ядра — это неотрицательное полуопределенное ядро (см. условие Мерсера ), представляющее внутренний продукт между выборками в многомерном пространстве, как если бы выборки были расширены для включения дополнительных признаков с помощью функции Φ : K ( x , Икс' ) = Φ( Икс ) · Φ( Икс' ) . Интуитивно это можно рассматривать как функцию сходства между выборками, поэтому машина ядра устанавливает класс новой выборки путем взвешенного сравнения с обучающим набором. Каждая функция x' ↦ K ( x i , x' ) служит базовой функцией в классификации.
Алгоритм
[ редактировать ]Чтобы получить кернеризованную версию алгоритма персептрона, мы должны сначала сформулировать ее в двойной форме исходя из наблюдения, что весовой вектор w может быть выражен как линейная комбинация n , обучающих выборок. Уравнение для весового вектора:
где α i — количество раз, когда x i был неправильно классифицирован, что привело к обновлению w ← w + y i x i . Используя этот результат, мы можем сформулировать алгоритм двойного персептрона, который, как и раньше, проходит по выборкам, делая прогнозы, но вместо сохранения и обновления вектора весов w он обновляет вектор «счетчика ошибок» α . Мы также должны переписать формулу прогнозирования, чтобы избавиться от w :
Включение этих двух уравнений в цикл обучения превращает его в алгоритм двойного персептрона .
Наконец, мы можем заменить скалярное произведение в двойном перцептроне произвольной функцией ядра, чтобы получить эффект карты признаков Φ без явного вычисления Φ( x ) для любых выборок. В результате получается алгоритм ядра перцептрона: [ 4 ]
- Инициализируйте α вектором из всех нулей длины n , количества обучающих выборок.
- Для некоторого фиксированного количества итераций или до тех пор, пока не будет выполнен некоторый критерий остановки:
- Для каждого обучающего примера x j , y j :
- Позволять
- Если ŷ ≠ y j , выполните обновление, увеличив счетчик ошибок:
- α j ← α j + 1
- Для каждого обучающего примера x j , y j :
Варианты и расширения
[ редактировать ]Одна из проблем с перцептроном ядра, представленная выше, заключается в том, что он не обучает разреженным машины с ядром. Первоначально все α i равны нулю, так что оценка функции решения для получения ŷ вообще не требует вычислений ядра, но каждое обновление увеличивает одно α i , что делает оценку все более дорогостоящей. Более того, когда перцептрон ядра используется в онлайн- режиме, количество ненулевых α i и, следовательно, стоимость оценки растут линейно с количеством примеров, представленных алгоритму.
Для решения этой проблемы был предложен вариант забытого ядра перцептрона. Он поддерживает активный набор примеров с ненулевым α i , удаляя («забывая») примеры из активного набора, когда он превышает заранее определенный бюджет, и «сжимая» (снижая вес) старые примеры по мере продвижения новых. до ненулевого α i . [ 5 ]
Другая проблема с перцептроном ядра заключается в том, что он не регуляризуется , что делает его уязвимым для переобучения . Алгоритм онлайн-обучения ядра NORMA можно рассматривать как обобщение алгоритма ядра-персептрона с регуляризацией. [ 6 ] Алгоритм последовательной минимальной оптимизации (SMO), используемый для обучения машин опорных векторов, также можно рассматривать как обобщение ядра перцептрона. [ 6 ]
Алгоритм проголосованного перцептрона Фрейнда и Шапира также распространяется на ядерный случай: [ 7 ] давая границы обобщения, сравнимые с ядром SVM. [ 2 ]
Ссылки
[ редактировать ]- ^ Айзерман, Массачусетс; Браверман, Эммануэль М.; Розонер, Л.И. (1964). «Теоретические основы метода потенциальных функций в обучении распознаванию образов». Автоматизация и дистанционное управление . 25 : 821–837. Цитируется в Гийон, Изабель; Бозер, Б.; Вапник, Владимир (1993). Автоматическая настройка производительности очень больших классификаторов VC-размерности . Достижения в области нейронных систем обработки информации. CiteSeerX 10.1.1.17.7215 .
- ^ Перейти обратно: а б Борд, Антуан; Эртекин, Сейда; Уэстон, Джейсон; Ботту, Леон (2005). «Быстрые классификаторы ядра с онлайн-активным обучением». JMLR . 6 : 1579–1619.
- ^ Шёлкопф, Бернхард; и Смола, Александр Дж.; Обучение с помощью ядер , MIT Press, Кембридж, Массачусетс, 2002. ISBN 0-262-19475-9
- ^ Шоу-Тейлор, Джон; Кристианини, Нелло (2004). Ядерные методы анализа закономерностей . Издательство Кембриджского университета. стр. 241–242.
- ^ Декель, Офер; Шалев-Шварц, Шай; Певец, Йорам (2008). «Забывчивый: бюджетный персептрон на базе ядра» (PDF) . SIAM Journal по вычислительной технике . 37 (5): 1342–1372. CiteSeerX 10.1.1.115.568 . дои : 10.1137/060666998 .
- ^ Перейти обратно: а б Кивинен, Юрки; Смола, Александр Дж.; Уильямсон, Роберт С. (2004). «Онлайн-обучение с ядрами». Транзакции IEEE по обработке сигналов . 52 (8): 2165–2176. CiteSeerX 10.1.1.578.5680 . дои : 10.1109/TSP.2004.830991 .
- ^ Фройнд, Ю .; Шапире, RE (1999). «Классификация с большой маржой с использованием алгоритма перцептрона» (PDF) . Машинное обучение . 37 (3): 277–296. дои : 10.1023/А:1007662407062 .