Полиномиальное ядро - Polynomial kernel
В машинном обучении , то полиномиальное ядро является функцией ядра обычно используется с опорных векторов (SVM) и других kernelized моделей, что представляет собой подобие векторов (подготовка образцов) в художественном пространстве над многочленами исходных переменных, что позволяет изучение Неправительственный -линейные модели.
Интуитивно полиномиальное ядро смотрит не только на заданные особенности входных выборок, чтобы определить их сходство, но и на их комбинации. В контексте регрессионного анализа такие комбинации известны как функции взаимодействия. Пространство (неявных) признаков полиномиального ядра эквивалентно пространству полиномиальной регрессии , но без комбинаторного увеличения количества параметров, которые необходимо изучить. Когда входные функции имеют двоичные значения (логические значения), тогда эти функции соответствуют логическим соединениям входных функций.
Определение
Для многочленов степени d ядро многочлена определяется как
где x и y - векторы во входном пространстве , т. е. векторы признаков, вычисленные из обучающих или тестовых выборок, а c ≥ 0 - свободный параметр, позволяющий компенсировать влияние членов более высокого порядка и членов более низкого порядка в полиноме. Когда c = 0 , ядро называется однородным. (Дальнейшее обобщенное многоядерное ядро делит x T y на указанный пользователем скалярный параметр a .)
В качестве ядра K соответствует внутреннему продукту в пространстве признаков на основе некоторого отображения φ :
Природу φ можно увидеть на примере. Пусть d = 2 , так что мы получаем частный случай квадратичного ядра. После использования полиномиальной теоремы (дважды - внешнее приложение - биномиальная теорема ) и перегруппировки,
Из этого следует, что карта характеристик задается:
Практическое использование
Хотя ядро RBF более популярно в классификации SVM, чем полиномиальное ядро, последнее довольно популярно в обработке естественного языка (NLP). Чаще всего используется степень d = 2 (квадратичная), поскольку более высокие степени имеют тенденцию к переобучению при решении задач НЛП.
Различные способы вычисления полиномиального ядра (как точные, так и приближенные) были разработаны в качестве альтернативы обычным нелинейным алгоритмам обучения SVM, включая:
- полное расширение ядра перед обучением / тестированием с помощью линейной SVM, т.е. полное вычисление отображения φ, как в полиномиальной регрессии;
- поиск корзины (с использованием варианта априорного алгоритма ) для наиболее часто встречающихся конъюнкций признаков в обучающем наборе для получения приблизительного расширения;
- инвертированная индексация опорных векторов.
Одна из проблем с полиномиальным ядром заключается в том, что оно может страдать от числовой нестабильности : когда x T y + c <1 , K ( x , y ) = ( x T y + c ) d стремится к нулю с увеличением d , тогда как при x T y + c > 1 , K ( x , y ) стремится к бесконечности.
Ссылки
- ^ a b c Йоав Голдберг и Майкл Эльхадад (2008). splitSVM: быстрое, экономичное, неэвристическое, полиномиальное вычисление ядра для приложений NLP. Proc. ACL-08: HLT.
- ^ «Архивная копия» (PDF) . Архивировано из оригинального (PDF) на 2013-04-15 . Проверено 12 ноября 2012 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ Shashua Амнон (2009). «Введение в машинное обучение: заметки 67577». arXiv : 0904.3664v1 [ cs.LG ].
- ^ а б Лин, Чи-Джен (2012). Программное обеспечение для машинного обучения: проектирование и практическое использование (PDF) . Летняя школа машинного обучения. Киото.
- ^ а б Чанг, Инь-Вэнь; Се, Чо-Джуй; Чанг, Кай-Вэй; Ринггаард, Майкл; Линь, Чи-Джен (2010). «Обучение и тестирование полиномиальных отображений данных низкой степени с помощью линейной SVM» . Журнал исследований машинного обучения . 11 : 1471–1490.
- ^ а б Кудо, Т .; Мацумото, Ю. (2003). Быстрые методы анализа текста на основе ядра . Proc. ACL.