Гауссові процеси: як використовувати GPML для багатовимірного виводу


13

Чи є спосіб провести регресію Гаусса на багатовимірному виході (можливо, корельованому) за допомогою GPML ?

У демо-скрипті я міг знайти лише 1D приклад.

Аналогічне питання про те , що CV талі випадок багатовимірного введення.


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

Я досі не знаю, як я можу включити будь-яку з цих ідей у ​​рамку GPML.


Також, чи є інші бібліотеки / рамки GP, які підтримують багатовимірний вихід?


"Прогнозування структурованих даних" розповідає про використання SVM в однокласному випадку (оцінка щільності ядра) на спільних ядрах між входом і виходом. З огляду на те, що вони обидві машини ядра, такий підхід повинен працювати. Я знайшов один документ, де згадується щось подібне. datamin.ubbcluj.ro/tr/2011/sogp.pdf мої спроби впорядкувати структуровані алгоритми навчання були досить неприйнятними, тому я не впевнений, як це складається.
Джессіка Коллінз

Відповіді:


7

Я вважаю, що Twin Gaussian Proces - це саме те, що ви шукаєте. Я не можу описати модель краще, ніж абстрактний документ, тому я просто скопіюю його:

Опишемо процеси близнюків Гаусса (TGP) 1, загальний структурований метод прогнозування, який використовує пріори Гаусса (GP) [2] як для коваріатів, так і для відповідей, як багатоваріантних, так і оцінює результати, мінімізуючи розбіжність Куллбека-Лейблера між двома ГП, модельованими як звичайні розподіли за кінцевими наборами індексів навчання та приклади тестування, підкреслюючи мету, що подібні вкладення повинні створювати подібні уявлення, і це повинно містити в середньому між їх граничними розподілами. TGP фіксує не тільки взаємозалежності між коваріатами, як у типових загальних групах, але й відповіді між відповідями, тому кореляції між входами та виходами враховуються. TGP є прикладом із перспективними результатами для реконструкції 3d поз людини від монокулярних та багатокамерних відеопослідовностей у нещодавно представленому еталоні HumanEva, де ми досягаємо в середньому 5 см помилки на 3d-маркер для моделей, що навчаються спільно, використовуючи дані декількох людей та багато видів діяльності. Метод швидкий і автоматичний: він не вимагає ручного складання початкової пози, параметрів калібрування камери або наявності 3D-моделі тіла, пов'язаної з людьми, що використовуються для тренувань чи тестування.

Для початку роботи автори щедро надали набори кодів та зразків даних.


Ласкаво просимо на сайт, @caoy. Ви б не хотіли надати трохи інформації про те, що знаходиться за цим посиланням? Таким чином, читачі могли б знати, чи варто за ними домагатися, і це означатиме, що тут все-таки є щось цінне у випадку майбутнього зв’язку.
gung - Відновіть Моніку

@gung, thx, сподіваюсь, що конспект робить свою роботу.
Яншуай Чао

@caoy ... Чи можете ви, будь ласка, детальніше розповісти про середнє значення прогнозування розподілу та дисперсію результатів у процесах Twin Gaussian?
Сандіпан Кармакар

3

Коротка відповідь Регресія для багатовимірного виведення є дещо складною, і за моїм сучасним рівнем знань, безпосередньо не включеним у панель інструментів GPML.

Довга відповідь Ви можете розбити проблему багатовимірної регресії виводу на 3 різні частини.

  1. Виходи не пов'язані один з одним - просто регресуйте результати окремо, як демонстраційний сценарій для 1d випадку.
  2. Виходи пов'язані між собою, але не знають співвідношення між ними. Ви в основному хотіли б дізнатися внутрішні відносини між результатами. Як згадується в книзі coKriging - це хороший спосіб почати. Існують інші програмні засоби, крім GPML, які можуть безпосередньо дозволяти виконувати копіювання, наприклад. ooDace
  3. Вихідні дані пов'язані, і ви знаєте відношення між ними. Виконайте регулярне кокрігування, але ви можете застосувати жорсткі обмеження між виходами або застосувавши обмеження в оптимізаторі (у той час як ви мінімізуєте граничну ймовірність журналу), як це сказали Hall & Huang 2001 або застосувати відносини у попередній функції, як сказано Константинеску та Анітеску 2013 .

Я сподіваюся, що це допомагає :)


2

Це модуль від scikit-learn, який для мене працював на диво добре:

http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html

# Instanciate a Gaussian Process model
gp = GaussianProcess(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1e-1,
                     random_start=100)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(x, eval_MSE=True)
sigma = np.sqrt(MSE)

1

Я шукав багатовиробничі Гауссові процеси і знайшов багато способів діяти з нею, наприклад, методом згортки, методом моделювання змішаних ефектів і останнім цим процесом Twin Gaussian (TGP).

У мене виникають сумніви в концепції Twin Gaussian Proces (TGP). Чи може мені хтось у цьому допомогти?

y^p(y|y)(μ,σ2)σ2yy^y

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