Исследование скорости сходимости параметров и гиперпараметров (пример)
Материал из MachineLearning.
(→Литература) |
(→Исходный код) |
||
(2 промежуточные версии не показаны) | |||
Строка 112: | Строка 112: | ||
[[Изображение:6ParamConvergence(AlphaConst).png|border|500x420px]] | [[Изображение:6ParamConvergence(AlphaConst).png|border|500x420px]] | ||
[[Изображение:6ParamConvergence(AlphaVariable).png|border|500x420px]] | [[Изображение:6ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
+ | |||
+ | {{tip|Код требует дополнительной проверки: очень быстрая сходимость в большинстве вариантов.}} | ||
== Литература == | == Литература == | ||
Строка 118: | Строка 120: | ||
== Исходный код == | == Исходный код == | ||
- | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/ | + | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/MIPT2006-2010OldProj/Sintsova2010Bayesian/ Sintsova2010Bayesian] |
{{ЗаданиеВыполнено|Валентина Синцова|В.В.Стрижов|24 декабря 2010||Strijov}} | {{ЗаданиеВыполнено|Валентина Синцова|В.В.Стрижов|24 декабря 2010||Strijov}} | ||
[[Категория:Практика и вычислительные эксперименты]] | [[Категория:Практика и вычислительные эксперименты]] |
Текущая версия
|
Для фиксированной регрессионной модели исследуется скорость сходимости параметров и гиперпараметров при ее настройке через двухуровневый байесовский вывод.
Постановка задачи
Рассмотрим следующую модель регрессии, описывающую связь между свободной и зависимой переменными:
Пусть случайная величина имеет нормальное распределение . При этом будем обозначать .
Вектор называется параметрами модели и рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения с матрицей ковариации . В данном примере будут рассматриваться 2 случая: , где - число параметров модели, и , где - единичная матрица размерности .
Величины и называются гиперпараметрами модели.
Для нескольких фиксированных функций , задающих модель, через двухуровневый байесовский вывод происходит настройка параметров и гиперпараметров. Требуется проанализировать изменение параметров и гиперпараметров по мере настройки.
Алгоритм настройки регрессионной модели (двухуровневый байесовский вывод)
Настройка модели происходит через двухуровневый байесовский вывод.
Описание метода
Т.к. , то для фиксированной модели f плотность вероятности появления данных
где
Т.к. , то
где
Тогда, если обозначить , то
Таким образом, минимизация по дает максимум априорной плотности распределения параметров на выборке . Минимизация осуществляется алгоритмом Левенберга-Марквардта.
Считая, что в точке минимума функционал представим в виде:
получаем, что логарифм функции правдоподобия равен
Гиперпараметры и находятся итерационно из условия максимизации полученной функции правдоподобия:
При
- , где - собственные числа матрицы - части Гессиана, не зависящей от .
- , где
При
- , где
- , где
Алгоритм
1) Задаем начальные значения , и
2) Ищем локальный минимум функции ошибки по
3) Ищем локальный максимум функции правдоподобия гиперпараметров по
4) Повторяем шаги 2 и 3 до сходимости функционала
Вычислительный эксперимент
Эксперименты проводятся на 6 моделях, для каждой из которых рассматриваются 2 случая: (alpha variable) и (alpha constant).
Для каждого случая проводится настройка модели по описанному алгоритму. Затем строятся графики изменения параметров и гиперпараметров по шагам алгоритма (величины параметров и гиперпараметров нормированы).
Рассматриваемые модели:
1) модель полиномиальной регрессии
2) модель
3) модель
4) модель
5) модель трехпараметрического распределения Вейбулла
6) модель с тригонометрическими функциями
Код требует дополнительной проверки: очень быстрая сходимость в большинстве вариантов. |
Литература
- Стрижов В. В. Методы индуктивного порождения регрессионных моделей. М.: ВЦ РАН. 2008. 55 с. Брошюра, PDF.
- Стрижов В. В., Сологуб Р.А. Алгоритм выбора нелинейных регрессионных моделей с анализом гиперпараметров. Всероссийская конференция «Математические методы распознавания образов» (ММРО-14). 2009. стр. 184-187
Исходный код
Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |