Які обмеження методів ядра та коли використовувати методи ядра?


10

Методи ядра дуже ефективні у багатьох контрольованих завданнях класифікації. Отже, які обмеження є методами ядра та коли використовувати методи ядра? Особливо в епоху даних великого масштабу, якими є досягнення ядерних методів? Яка різниця між методами ядра та навчанням з кількома примірниками? Якщо дані є 500x10000, чи 500є кількість вибірок і 10000є розмір кожної ознаки, то в цій обставині ми можемо використовувати методи ядра?

Відповіді:


16

Методи ядра можуть бути використані для проблем, що контролюються і не контролюються. Добре відомими прикладами є векторна машина підтримки та спектральне кластеризація ядра відповідно.

Методи ядра забезпечують структурований спосіб використання лінійного алгоритму в трансформованому просторі функцій, для якого перетворення, як правило, нелінійне (і до простору більш високого розміру). Основна перевага цього так званого фокусу ядра полягає в тому, що нелінійні візерунки можна знайти за розумною обчислювальною ціною.

Зауважимо, що я сказав, що обчислювальна вартість є розумною, але не незначною. Методи ядра зазвичай будують матрицю ядра з кількістю навчальних екземплярів. Отже, складність методів ядра є функцією кількості навчальних екземплярів, а не кількості вхідних розмірів. Наприклад, підтримуючі векторні машини мають складну підготовку між і . Для проблем з дуже великим ця складність наразі є надмірною.KRN×NNO(N2)O(N3)N

Це робить методи ядра дуже цікавими з обчислювальної точки зору, коли кількість розмірів велике і кількість зразків порівняно невелике (скажімо, менше 1 мільйона).

Пов'язане: Лінійне ядро ​​та нелінійне ядро ​​для підтримуючої векторної машини?

SVM для великих масштабних проблем

Для дуже високих задач щодо розмірів, таких як 10000розміри, про які ви згадуєте у запитанні, часто не потрібно відображати простір вищих розмірних характеристик. Вхідний простір вже досить хороший. Для таких проблем лінійні методи набирають порядок швидше з майже однаковими прогнозними показниками. Приклади цих методів можна знайти в LIBLINEAR або Vowpal Wabbit .

Лінійні методи особливо цікаві, коли у вас є багато зразків у просторі вхідного простору. Якщо у вас всього зразків, використання методу нелінійного ядра також буде дешевим (оскільки малий). Якби у вас було, скажімо, зразків у розмірах , методи ядра були б нездійсненними.500N5.000.00010.000

Для низькомірних задач з багатьма навчальними екземплярами (так звані великі малих задач) лінійні методи можуть дати низьку точність прогнозування. Для таких проблем ансамблеві методи, такі як EnsembleSVM, забезпечують нелінійні межі рішення при значно знижених обчислювальних витратах порівняно зі стандартними SVM.Np


Дуже дякую за такі детальні відповіді, сер. Я виявив, що в обставинах високих розмірів, якщо я використовую RBFядро libsvm, воно завжди переозброєне, класифікатор досягає високої точності, але низької точності в тестовому наборі. І якщо я знижую розмір перед класифікатором, а зменшені розміри наближаються до кількості навчальних зразків, класифікатор, можливо, досягну непоганого прибутку між навчальним і тестовим набором. Чи відповідають результати найбільш емпіричним результатам? Дякую.
видобуток

Методи ядра досить надійні проти великої вхідної розмірності. Зазвичай вам не потрібно зменшувати розмірність перед їх використанням. Дуже важливо налаштувати всі параметри, особливо gammaдля ядра RBF. Оптимальне значення для gammaпов'язане з кількістю вхідних розмірів. Найпоширеніший підхід до налаштування - це перехресне підтвердження. Якщо ви використовували те саме значення для gammaі без зменшення розмірності, ви, ймовірно, помиляєтесь.
Marc Claesen

Так, сер. Я зазвичай використовую grid.pyв libsvmпакеті , щоб зробити крос-перевірки. І в більшості випадків для даних високих розмірів gammaзавжди дуже малий, наприклад 0.00001, цей рівень.
видобуток

Привіт, пане, я перевірив ваш проект з відкритим кодом EnsembleSVM, чи потрібно, щоб процедура перехресної перевірки була багатопоточною? І я думаю, що на етапі прогнозування буде добре, що передбачити величезні дані в партіях і багатопотокових чи багатомашинних машинах?
видобуток

Використання багатопотокових записів необов’язково в EnsembleSVM, але за умовчанням увімкнено в esvm-trainі esvm-predict. Щоб відключити многопоточность, використовуйте наступний прапор в цих інструментах: -threads 1.
Marc Claesen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.