Як ви вже згадували, для зберігання матриці ядра потрібна пам'ять, яка масштабується квадратично з кількістю точок даних. Час навчання традиційних алгоритмів SVM також масштабується надлінійно з кількістю точок даних. Отже, ці алгоритми недоцільні для великих наборів даних.
Один з можливих прийомів - переформулювати кернелізований SVM як лінійний SVM. Кожен елемент матриці ядра представляє крапковий добуток між точками даних та після відображення їх (можливо, нелінійно) в простір функцій: . Зображення простору функційKijxixjKij=Φ(xi)⋅Φ(xj)Φвизначається неявно функцією ядра, і kernelized SVM не чітко обчислює представлення простору функцій. Це обчислювально ефективно для наборів даних малого та середнього розміру, оскільки простір можливостей може бути дуже великим або навіть нескінченним. Але, як зазначено вище, це стає нездійсненним для великих наборів даних. Натомість ми можемо чітко відображати дані нелінійно у просторі функцій, а потім ефективно тренувати лінійну SVM на представленнях простору функцій. Зображення простору функцій може бути побудоване для наближення даної функції ядра, але використовувати менші розміри, ніж "повне" відображення простору функцій. Для великих наборів даних це все ще може дати нам багаті представлення простору функцій, але з набагато меншими розмірами, ніж точки даних.
Один із підходів до наближення ядра використовує наближення Ністрьома (Williams і Seeger 2001). Це спосіб наближення власних значень / власних векторів великої матриці за допомогою меншої підматриці. Інший підхід використовує рандомізовані функції і його іноді називають «випадковими кухонними мийками» (Rahimi and Recht 2007).
Ще один трюк для навчання SVM на великих наборах даних - наближення проблеми оптимізації за допомогою набору менших підпроблем. Наприклад, використання стохастичного градієнтного спуску для первинної проблеми є одним із підходів (серед багатьох інших). На фронті оптимізації було зроблено багато робіт. Менон (2009) дає хороше опитування.
Список літератури
Вільямс і Зеєгер (2001). Використання методу Nystroem для прискорення роботи ядер.
Рахімі і Рехт (2007). Випадкові функції для масштабних машин ядра.
Менон (2009) . Масштабні підтримуючі векторні машини: Алгоритми та теорія.