Налаштування гіперпараметра в регресії Гауссового процесу


13

Я намагаюся налаштувати гіперпараметри алгоритму регресії гауссового процесу, який я реалізував. Я просто хочу максимально збільшити граничну ймовірність журналу, задану формулою де K - матриця коваріації з елементи K_ {ij} = k (x_i, x_j) = b ^ {- 1} \ exp (- \ frac {1} {2} (x_i-x_j) ^ TM (x_i-x_j)) + a ^ {- 1 } \ delta_ {ij} де M = lI і a, b і l - гіперпараметри.

log(y|X,θ)=12yTKy1y12log(det(K))n2log(2π)
K
Kij=k(xi,xj)=b1exp(12(xixj)TM(xixj))+a1δij
M=lIa,bl

часткова похідна граничних параметрів wrt граничної ймовірності задається наступними

log(y|X,θ)dθ=12trace(K1dKdθ)+12(ydKdθK1dKdθy)

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


Я мав успіх у використанні HMC для вибірки гіпер-параметрів GP для скромних наборів даних.
Sycorax повідомляє про відновлення Моніки

Привіт @Sycorax, скажіть, будь ласка, як ви використовували цю техніку для вирішення цього питання? У мене така ж проблема, як запитувала ОП, і я думала про те, щоб використовувати MCMC для її вирішення, але ще не знаю, як це зробити.
Вілліан Фукс

Я щойно зашифрував терапевта в Стен. Гіперпараметри GP були оголошені як параметри моделі та зроблені відповідно. Це створило один набір прогнозів для кожної ітерації HMC. Гельман ілюструє, як це все працює в BDA3.
Sycorax каже, що поверніть Моніку

Відповіді:


6

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

Моя пропозиція полягає у використанні методів без градієнтів для налаштування гіперпараметрів, таких як пошук в сітці, випадковий пошук або пошук на основі байєвської оптимізації . Ці методи широко застосовуються для оптимізації гіперпараметрів інших алгоритмів машинного навчання, наприклад, SVM.

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

Пошук сітки призведе до неоптимального набору гіперпараметрів, і вам потрібно вказати сітку самостійно. (Підказка: зробити сітку в масштабі журналу), але для обчислення потрібно набагато менше. (і вам не потрібен градієнт!)

Якщо ви не знайомі з пошуком сітки, ви можете знайти Вікіпедію: Оптимізація гіперпараметрів - пошук сітки

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