Ядрові методи

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

В машинному навчанні ядрові методи (англ. kernel methods) — це клас алгоритмів для розпізнавання образів, найвідомішим представником якого є метод опорних векторів (англ. support vector machine, SVM). Загальна задача розпізнавання образів полягає у знаходженні та вивченні основних типів відношень (наприклад, кластерів, ранжування, головних компонент, кореляцій, класифікацій) у наборах даних. Для багатьох алгоритмів, які розв'язують ці задачі, дані в сирому представленні має бути явним чином перетворено на представлення у вигляді векторів ознак через визначене користувачем відображення ознак (англ. feature map): на противагу цьому ядрові методи вимагають лише вказаного користувачем ядра (англ. kernel), тобто, функції подібності над парами точок даних у сирому представленні.

Ядрові методи завдячують своєю назвою застосуванню ядрових функцій[en], які дозволяють їм діяти в неявному просторі ознак високої вимірності навіть без обчислення координат даних у цьому просторі, натомість просто обчислюючи скалярний добуток[en] зображень всіх пар даних у цьому просторі ознак. Ця операція часто є обчислювально менш витратною, ніж явне обчислення координат. Цей підхід називають ядровим трюком (англ. kernel trick).[1] Ядрові функції було представлено для даних послідовностей, графів[en], текстів, зображень, як і для векторів.

До алгоритмів, здатних працювати з ядрами, належать ядровий перцептрон[en], метод опорних векторів (англ. support vector machines, SVM), ґаусові процеси, метод головних компонент (англ. principal components analysis, PCA), канонічно-кореляційний аналіз, гребенева регресія, спектральне кластерування, лінійні адаптивні фільтри та багато інших. Будь-яку лінійну модель[en] може бути перетворено на нелінійну шляхом застосування до неї ядрового трюку: заміни її ознак (провісників) ядровою функцією.[джерело?]

Більшість ядрових алгоритмів ґрунтуються на опуклій оптимізації або власних векторах, і є статистично обґрунтованими. Як правило, їхні статистичні властивості аналізують за допомогою теорії статистичного навчання (наприклад, за допомогою складності Радемахера[en]).

Обґрунтування та неформальне пояснення[ред. | ред. код]

Ядрові методи можливо розглядати як навчання на прикладах: замість навчання якогось фіксованого набору параметрів, які відповідають ознакам їхніх входів, вони натомість «запам'ятовують» -тий тренувальний зразок та навчаються відповідної йому ваги . Для даних, відсутніх у тренувальному наборі, передбачення здійснюється застосуванням функції подібності , яку називають ядром (англ. kernel), до неміченого входу та кожного із тренувальних входів . Наприклад, ядрований бінарний класифікатор зазвичай обчислює зважену суму подібностей

,

де

  • є передбаченою ядрованим бінарним класифікатором міткою для неміченого входу , справжня прихована мітка якого нас і цікавить;
  • є ядровою функцією, яка вимірює подібність будь-якої пари входів ;
  • сума пробігає n мічених зразків тренувального набору класифікатора, де ;
  • є вагами тренувальних зразків, визначеними згідно алгоритму навчання;
  • функція знаку визначає, чи виходить передбачена класифікація позитивною, чи негативною.

Ядрові класифікатори було описано ще в 1960-х роках із винайденням ядрового перцептрону[en].[2] Вони досягли великого піднесення разом з популярністю опорно-векторних машин (ОВМ) у 1990-х роках, коли було виявлено, що ОВМ є конкурентноздатними в порівнянні зі нейронними мережами на таких задачах як розпізнавання рукописного введення.

Математика: ядровий трюк[ред. | ред. код]

ОВМ з ядром, заданим φ((a, b)) = (a, b, a2 + b2), і відтак K(x, y) = xy + x2 y2. Тренувальні точки відображено до 3-вимірного простору, де легко знайти розділову гіперплощину.

Ядровий трюк уникає явного відображення, потрібного для тощо, щоби лінійні алгоритми навчання навчалися нелінійної функції або межі рішень[en]. Для всіх та у вхідному просторі певні функції може бути виражено як внутрішній добуток в іншому просторі . Функцію часто називають ядром або ядровою функцією[en]. Слово «ядро» використовують в математиці для позначення зважувальної функції зваженої суми або інтегралу.

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

Ключовим обмеженням є те, що мусить бути власним внутрішнім добутком. З іншого боку, явне представлення не є необхідним, поки є простором з внутрішнім добутком[en]. Ця альтернатива випливає з теореми Мерсера[en]: неявно визначена функція існує тоді, коли простір може бути споряджено придатною мірою, яка забезпечувала би, щоби функція задовольняла умову Мерсера[en].

Теорема Мерсера є подібною до узагальнення того наслідку з лінійної алгебри, що пов'язує внутрішній добуток із будь-якою додатноозначеною матрицею. Фактично, умову Мерсера може бути зведено до цього простішого прояву. Якщо ми оберемо як нашу міру лічильну міру для всіх , яка лічить число точок всередині множини , то інтеграл у теоремі Мерсера зводиться до підсумовування

Якщо це підсумовування виконується для всіх скінченних послідовностей точок в і всіх варіантів вибору дійснозначних коефіцієнтів (пор. додатноозначене ядро[en]), то функція задовольняє умову Мерсера.

Деякі алгоритми, які залежать від довільних взаємозв'язків у рідному просторі , фактично мають лінійну інтерпретацію за іншої постановки: області значень . Лінійна інтерпретація дає нам прояснення алгоритму. Понад те, часто немає потреби під час обчислень обчислювати безпосередньо, як у випадку методу опорних векторів. Деякі дослідники посилаються на цю раціоналізацію часу як на головну перевагу. Дослідники також використовують її для обґрунтування сенсу та властивостей наявних алгоритмів.

Теоретично, матриця Грама по відношенню до (яку іноді також називають «ядровою матрицею», англ. "kernel matrix"[3]), мусить бути додатно напівозначеною.[4] Емпірично, для евристик машинного навчання варіанти обрання функції , які не задовольняють умову Мерсера, все ще можуть працювати прийнятно, якщо щонайменше наближує інтуїтивне уявлення про подібність.[5] Незалежно від того, чи є мерсеровим ядром, все одно можуть називати «ядром».

Якщо ядрова функція є також і функцією коваріації[en], як при застосуванні в ґаусових процесах, то матриця Грама можуть також називати коваріаційною матрицею.[6]

Застосування[ред. | ред. код]

Сфери застосування ядрових методів є різноманітними, до них належать геостатистика,[7] кригінг, зважування зворотних відстаней[en], об'ємна відбудова, біоінформатика, хемоінформатика, витягування інформації та розпізнавання рукописного введення.

Популярні ядра[ред. | ред. код]

Див. також[ред. | ред. код]

Джерела[ред. | ред. код]

Цитати[ред. | ред. код]

  1. Theodoridis, Sergios (2008). Pattern Recognition. Elsevier B.V. с. 203. ISBN 9780080949123. (англ.)
  2. Aizerman, M. A.; Braverman, Emmanuel M.; Rozoner, L. I. (1964). Theoretical foundations of the potential function method in pattern recognition learning. Automation and Remote Control. 25: 821—837. Процитовано в Guyon, Isabelle; Boser, B.; Vapnik, Vladimir (1993). Automatic capacity tuning of very large VC-dimension classifiers. Advances in neural information processing systems. CiteSeerX: 10.1.1.17.7215. (англ.)
  3. Kernel Methods in Machine Learning. — 2008. — 23 квітня. (англ.)
  4. Mohri, Mehryar; Rostamizadeh, Afshin; Talwalkar, Ameet (2012). Foundations of Machine Learning (англ.). USA, Massachusetts: MIT Press. ISBN 9780262018258.
  5. Sewell, Martin. Support Vector Machines: Mercer's Condition. www.svms.org. Архів оригіналу за 15 жовтня 2018. Процитовано 16 жовтня 2016. (англ.)
  6. Gaussian Processes for Machine Learning. — 2006. — 23 квітня. (англ.)
  7. Honarkhah, M.; Caers, J. (2010). Stochastic Simulation of Patterns Using Distance-Based Pattern Modeling. Mathematical Geosciences[en]. 42: 487—517. doi:10.1007/s11004-010-9276-7. (англ.)

Література[ред. | ред. код]

Книги

Посилання[ред. | ред. код]