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


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,θ)=−12yTKy−1y−12log⁡(det(K))−n2log⁡(2π)
K
Kij=k(xi,xj)=b−1exp⁡(−12(xi−xj)TM(xi−xj))+a−1δij
M=lIa,bl

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

log⁡(y|X,θ)dθ=12trace(K−1dKdθ)+12(ydKdθK−1dKdθ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.