Перейти к содержимому

#166 PTGP: новая библиотека гауссовских процессов, с Биллом Энгельсом и Джесси Грабовски

Learning Bayesian Statistics

0:00 / 0:00

#166 PTGP: новая библиотека гауссовских процессов, с Биллом Энгельсом и Джесси Грабовски

833 просмотра · 1 мес. назад
Learning Bayesian Statistics
5,81 тыс. подписчиков
833 просмотра · 1 мес. назад
Поддержка и ресурсы → Поддержите шоу на Patreon:   / learnbayesstats   → Курс по байесовскому моделированию (первые 2 урока бесплатно): https://topmate.io/alex_andorra/1011122 Наша музыкальная тема — «Good Bayesian» Бабы Бринкмана (при участии MC Lars и Mega Ran). Ознакомьтесь с его потрясающими работами на https://bababrinkman.com/ ! Основные моменты: В: Что такое PTGP и почему Билл и Джесси создали его? О: PTGP — это новая библиотека гауссовых процессов, построенная на PyTensor и PyMC, ориентированная на практиков, а не на исследователей, разрабатывающих собственные методы гауссовых процессов на основе научных статей. Билл Энгельс, написавший оригинальный подмодуль GP для PyMC во время программы Google Summer of Code, создал его потому, что большинство библиотек GP хорошо реализуют один метод, но дают мало указаний о том, когда его использовать или как исправить ошибки. PTGP по своей сути имеет свои особенности: он выбирает проверенные алгоритмы, указывает, какой из них подходит для вашего размера данных, и предоставляет информацию для отладки вместе с кодом. В: Почему гауссовские процессы описываются как находящиеся на пересечении статистики и машинного обучения? О: Гауссовский процесс начинается с простой идеи: объекты, близкие во входном пространстве, должны быть близки и в выходном пространстве, а функция ядра точно определяет, что означает «близость» для вашей задачи. Это делает GP похожими на машинное обучение (пусть данные говорят сами за себя через гибкую функцию), оставаясь при этом полностью интерпретируемыми после выбора ядра, поскольку наблюдение за данными сводит процесс к обычному многомерному нормальному распределению. В: Что на самом деле контролируют длина, масштаб и амплитуда ядра? А: Масштаб длины изменяет масштаб входного пространства: две точки, расположенные на расстоянии пяти единиц друг от друга, кажутся близкими, если масштаб длины равен 100, но кажутся совершенно не связанными, если масштаб длины равен 0,001. Он ведет себя как параметр памяти: короткий — для быстро меняющихся функций, длинный — для медленно меняющихся, и может даже быть периодическим (годовой масштаб длины для чего-то, о чем вы думаете только раз в год, например, налоги). Амплитуда — это масштабирующий фактор на выходе: высокая амплитуда позволяет функции резко колебаться, низкая амплитуда сохраняет ее спокойной и ограниченной. В: Что такое HSGP и почему он стал переломным моментом для практикующих гауссовых процессов? А: HSGP (аппроксимация гауссового процесса в гильбертовом пространстве) переписывает гауссовый процесс как линейную модель над набором базисных функций, поэтому он производит выборку как регрессия, а не требует дорогостоящего обращения матрицы. Он хорошо работает с низкоразмерными входными данными (примерно от одного до трех измерений) и легко интегрируется с иерархической структурой, поэтому вы можете построить гауссовский процесс, например, на основе возрастных эффектов у разных игроков, и позволить каждому игроку иметь свой собственный гауссовский процесс, вложенный под процесс на уровне популяции. В: Почему гауссовские процессы так ресурсоемки с точки зрения вычислений? О: Подгонка гауссовского процесса означает обращение ковариационной матрицы (n x n) для вычисления многомерной нормальной функции правдоподобия, что стоит примерно O(n^3) и требует O(n^2) памяти только для хранения матрицы. Набор данных из 10 000 точек управляем, но набор данных из миллиона точек — нет. Это узкое место объясняет, почему библиотеки гауссовых процессов тратят так много усилий на специализированную линейную алгебру, например, заменяя явное обратное преобразование матрицы разложением Холецкого и парой треугольных решений, и почему вообще существуют методы аппроксимации. Полный текст доступен по ссылке: https://learnbayesstats.com/episode/g... Главы: 05:51 Где на практике используются гауссовские процессы? 09:07 Что на самом деле контролируют длина, масштаб и амплитуда ядра? 11:58 Что такое HSGP и как он сочетается с иерархическими моделями? 14:51 Какое место занимает PTGP в современном рабочем процессе анализа данных? 21:01 Являются ли гауссовские процессы интерпретируемыми или это «черный ящик»? 27:49 Почему гауссовские процессы до сих пор не используются повсеместно? 32:44 Что на самом деле говорит вам функция ядра о ваших данных? 46:33 Что такое PyTensor и чем он отличается от других бэкендов? 50:54 Как построить модель гауссова процесса в PyTensor? 52:09 Почему подгонка гауссова процесса требует таких больших вычислительных затрат? 56:00 Как система перезаписи PyTensor ускоряет математические вычисления в гауссовском процессе? 59:54 Как восьмистрочная переработка заменила обратную матрицу в PTGP? 01:01:10 В какие бэкенды PyTensor может скомпилировать ваш гауссовский процесс? 01:11:27 Что такое индуцированные точки и когда их следует использовать? 01:22:09 Что идет не так при подгонке аппроксимации...