Що таке ядро ​​і що відрізняє його від інших функцій


13

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


5
Я б не сказав, що NN покладаються на функції ядра - вони покладаються на функцію передачі для досягнення нелінійності, але це не те саме, що функція ядра
tdc

Відповіді:


11

Для x, y на S певні функції K (x, y) можуть бути виражені як внутрішній добуток (зазвичай в іншому просторі). K часто називають ядром або функцією ядра. Слово ядро ​​використовується по-різному в математиці, але це найбільш поширене використання в машинному навчанні.

Трюк ядра - це спосіб відображення спостережень із загального набору S у внутрішній простір V (оснащений його природною нормою), не потребуючи явного обчислення відображення, сподіваючись, що спостереження набудуть значущої лінійної структури в V Це важливо з точки зору ефективності (обчислення точкових продуктів у дуже великому просторовому просторі дуже швидко) та практичності (ми можемо перетворити лінійні алгоритми ML в нелінійні алгоритми ML).

Щоб функцію K вважати допустимим ядром, вона повинна задовольняти умовам Мерсера . Це на практиці означає, що нам потрібно забезпечити, щоб матриця ядра (обчислення продукту ядра кожної точки даних) завжди була напіввизначеною. Це забезпечить випуклу функцію навчальної мети, дуже важливу властивість.


Дякую @carlosdc, але я боюся, що ти намагаєшся навчити цю стару собаку новим хитрощам. Дуже багато цього є через мою голову. Я читаю умови Мерсера, але їх значення в реальному світі втрачається на мені. З вищесказаного я припускаю, що інтеграл ядра повинен обмежуватися кінцевим значенням. Чи правильно це припущення?

1
Частина, що мета опукла, якщо матриця ядра є PSD, залежить від мети. Це справедливо для SVM, але для Гауссових процесів справа в тому, що матриця Ядра є дійсною матрицею коваріації і, таким чином, неперевернена.
байерж

2

Від Вільямса, Крістофера К.І. та Карла Едварда Расмуссена. " Гауссові процеси для машинного навчання ". MIT Press 2, вип. 3 (2006). Сторінка 80 .

kernel = функція двох аргументів, які відображають пару входів , в .x X RxXxXR

Також ядро ​​= функція ядра.

Ядра, що використовуються в алгоритмах машинного навчання, як правило, задовольняють більше властивостей, таких як позитивний напівфініт.


2

Збираюся спробувати менш технічне пояснення.

Спочатку почніть з крапкового добутку між двома векторами. Це говорить вам про те, наскільки "схожі" вектори. Якщо вектори представляють точки у вашому наборі даних, точковий виріб повідомляє, чи вони подібні чи ні.

Але в деяких (багатьох) випадках крапковий добуток не є найкращою метрикою подібності. Наприклад:

  • Можливо, точки з низькою точкою продуктів схожі з деяких інших причин.
  • У вас можуть бути елементи даних, які недостатньо представлені у вигляді балів.

Отже, замість того, щоб використовувати крапковий продукт, ви використовуєте "ядро", яке є лише функцією, яка займає два моменти і дає вам міру їх подібності. Я не на 100% впевнений, яким технічним умовам повинна відповідати функція, щоб технічно бути ядром, але це ідея.

Дуже приємно, що ядро ​​може допомогти вам поставити свої доменні знання в проблему в тому сенсі, що ви можете сказати, що два моменти однакові через причину xyz, яка надходить у форму, яку ви знаєте про домен.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.