ГАУССОВЫ ПРОЦЕССЫ ДЛЯ НОВИЧКОВ

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Сегодня студентам читал Байесовские методы в машинном обучении. Есть очень интересный метод, называется Гауссовы процессы (https://en.wikipedia.org/wiki/Gaussian_process). Вообще про него я рассказать не успел, но пока готовился нашел очень неплохое объяснение, что это за метод машинного обучения. Смотрите в самом низу. В нем не только объяснение самого метода, но еще и код на Питоне, чтобы самому реализовать метод и поиграться с ним.

Скажу кратко самое важное в этом методе:

- метод регрессионный (есть и классификация, но медленная - под нее не заточен)

- имплементирован в sklearn (http://scikit-learn.org/stable/modules/gaussian_process.html)

- он основан на трюке с ядрами (kernel-based), поэтому работает не сильно хуже, чем другие ядерные методы, типа регрессии на опорных векторах (SVR). Обычно немного уступает Random Forest, но не сильно. Интересно то, что формула для предсказания предсказываемой характеристики совпадает у него с Kernel Ridge Regression, хотя и выводится из других принципов. Правда вместе с этим наследуются и все недостатки ядерных методов: модель весит много и годится для не очень больших обучающих выборок (нужно хранить всю обучающую выборку).

- метод Байесовский, поэтому если вы неплохо соображаете в математике - это можно использовать - возвращать или модифицировать всякие вероятности.

- самое в нем интересное, что в отличие от большинства других регресионных методов, он, вообще говоря, возвращает распределение вероятности предсказываемой характеристики (технически - среднее и дисперсию гауссового распределения для предсказываемой характеристики). А проще говоря, он дает саму величину, которую вы ищете и ее дисперсию, то есть можно рассчитать доверительный интервал. Получается вы можете оценить ошибку предсказания! Очень удобно! Мы используем это для расчета Домена применимости модели (Applicability Domain). Работает неплохо. Пробовали. Он у нас часто один из лучших доменов применимости. Допишем статью когда - дам тут ссылку.

Если будуте использовать - помните, что дескрипторы и саму предсказываемую характеристику нужно нормировать на нулевое среднее и единичную дисперсию. Иначе получите всякую бяку. На это не всегда обращают внимание. В sklearn почему-то не написано. И когда подбираете гиперпараметры берите гауссов кернел и модифицируйте гамму и альфу (последнее - это вклад от единичного кернела, называют также шумом или регуляризацией). Скорее всего будет хорошо. Если все сделаете правильно будет работать на уровне SVR или немного хуже.

Если заинтересовал и хотите покопаться поглубже - читайте также отличную книгу Расмусена и Вильямса:

http://www.gaussianprocess.org/gpml/

В книге дается также обзор модификаций метода, которые позволят его использовать для больших объемов данных, в трансдуктивном обучении и пр. Я таких работ не видел. Хотя есть альтернативы более распространенные, конечно.

Простое объяснение метода:

http://katbailey.github.io/post/gaussian-processes-for-dummies/


Источник: katbailey.github.io

Комментарии: