Исследование скорости сходимости параметров и гиперпараметров (пример)
Материал из MachineLearning.
(→Исходный код) |
|||
(9 промежуточных версий не показаны.) | |||
Строка 36: | Строка 36: | ||
<center><tex>P(\mathbf{w}|\,D, A, \beta, f)= \frac{P(D|\, \mathbf{w}, \beta, f) P(\mathbf{w}|\, A, f)}{P(D|\, A, \beta, f)} \propto \exp(-S(\mathbf{w}))</tex></center> | <center><tex>P(\mathbf{w}|\,D, A, \beta, f)= \frac{P(D|\, \mathbf{w}, \beta, f) P(\mathbf{w}|\, A, f)}{P(D|\, A, \beta, f)} \propto \exp(-S(\mathbf{w}))</tex></center> | ||
- | Таким образом, минимизация <tex> S(\mathbf{w})</tex> по <tex>\mathbf{w}</tex> дает максимум априорной плотности распределения параметров <tex>\mathbf{w}</tex> на выборке <tex>D</tex>. | + | Таким образом, минимизация <tex> S(\mathbf{w})</tex> по <tex>\mathbf{w}</tex> дает максимум априорной плотности распределения параметров <tex>\mathbf{w}</tex> на выборке <tex>D</tex>. Минимизация осуществляется алгоритмом Левенберга-Марквардта. |
Строка 51: | Строка 51: | ||
- | Гиперпараметры <tex>\mathbf{\beta}</tex> и <tex>\mathbf{\alpha}</tex> находятся из условия максимизации полученной функции правдоподобия: | + | Гиперпараметры <tex>\mathbf{\beta}</tex> и <tex>\mathbf{\alpha}</tex> находятся итерационно из условия максимизации полученной функции правдоподобия: |
- | При <tex>A^{-1}=diag(\mathbf{\alpha})</tex> | + | При <tex>A^{-1}=diag(\mathbf{\alpha})=diag(\alpha_1, \alpha_2, \dots, \alpha_W)</tex> |
+ | :<tex>\alpha_i= \frac{-\lambda_i + \sqrt{\lambda_i^2 + 4 \frac{\lambda_i}{w_i^2}}}2</tex>, где <tex>\lambda_i</tex> - собственные числа матрицы <tex>H_D</tex> - части Гессиана, не зависящей от <tex>A</tex>. | ||
- | <tex>\ | + | :<tex>\beta= \frac{N-\gamma}{2 E_D}</tex>, где <tex>\gamma=\sum^W_{j=1}\frac{\lambda_j}{\lambda_j+a_j}</tex> |
- | <tex>\ | + | |
- | |||
+ | При <tex>A^{-1}=\alpha I_W</tex> | ||
+ | :<tex>\alpha = \frac{W-\delta}{\mathbf{w}^T \mathbf{w}}</tex>, где <tex>\delta=\sum^W_{j=1}\frac{\alpha}{\lambda_j+\alpha}</tex> | ||
+ | |||
+ | :<tex>\beta= \frac{N-\gamma}{2 E_D}</tex>, где <tex>\gamma=\sum^W_{j=1}\frac{\lambda_j}{\lambda_j+\alpha}</tex> | ||
==Алгоритм== | ==Алгоритм== | ||
Строка 73: | Строка 76: | ||
=Вычислительный эксперимент= | =Вычислительный эксперимент= | ||
- | + | Эксперименты проводятся на 6 моделях, для каждой из которых рассматриваются 2 случая: <tex>A^{-1}=diag(\mathbf{\alpha})</tex> (alpha variable) и <tex>A^{-1}=\alpha I_W</tex> (alpha constant). | |
- | + | Для каждого случая проводится настройка модели по описанному алгоритму. Затем строятся графики изменения параметров и гиперпараметров по шагам алгоритма (величины параметров и гиперпараметров нормированы). | |
- | + | '''Рассматриваемые модели''': | |
- | + | 1) модель полиномиальной регрессии <tex>y=\sum_{i=1}^4 w_i x^{i-1}</tex> | |
- | + | [[Изображение:1ParamConvergence(AlphaConst).png|border|500x420px]] | |
+ | [[Изображение:1ParamConvergence(AlphaVariable).png|border|530x500px]] | ||
- | 5) модель трехпараметрического распределения Вейбулла <tex>y= | + | |
+ | 2) модель <tex>y = w_1 + w_2\, ln x</tex> | ||
+ | |||
+ | [[Изображение:2ParamConvergence(AlphaConst).png|border|500x420px]] | ||
+ | [[Изображение:2ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
+ | |||
+ | 3) модель <tex>y = w_1 + \frac{w_2}{x}</tex> | ||
+ | |||
+ | [[Изображение:3ParamConvergence(AlphaConst).png|border|500x420px]] | ||
+ | [[Изображение:3ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
+ | |||
+ | 4) модель <tex>y = w_1 + w_2\, e^{-w_3x}</tex> | ||
+ | |||
+ | [[Изображение:4ParamConvergence(AlphaConst).png|border|500x420px]] | ||
+ | [[Изображение:4ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
+ | |||
+ | 5) модель трехпараметрического распределения Вейбулла <tex>y=w_1 w_2 x^{w_2-1}\exp(-w_1(x-w_3)^{w_2})</tex> | ||
+ | |||
+ | [[Изображение:5ParamConvergence(AlphaConst).png|border|500x420px]] | ||
+ | [[Изображение:5ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
6) модель с тригонометрическими функциями <tex>y=a_0+\sum_{i=1}^n\bigl(a_i\cos(i\omega{x})+b_i\sin(i\omega{x})\bigr)</tex> | 6) модель с тригонометрическими функциями <tex>y=a_0+\sum_{i=1}^n\bigl(a_i\cos(i\omega{x})+b_i\sin(i\omega{x})\bigr)</tex> | ||
+ | |||
+ | [[Изображение:6ParamConvergence(AlphaConst).png|border|500x420px]] | ||
+ | [[Изображение:6ParamConvergence(AlphaVariable).png|border|500x420px]] | ||
+ | |||
+ | {{tip|Код требует дополнительной проверки: очень быстрая сходимость в большинстве вариантов.}} | ||
+ | |||
+ | == Литература == | ||
+ | * Стрижов В. В. Методы индуктивного порождения регрессионных моделей. М.: ВЦ РАН. 2008. 55 с. [[Media:strijov08ln.pdf|Брошюра, PDF]]. | ||
+ | * Стрижов В. В., Сологуб Р.А. Алгоритм выбора нелинейных регрессионных моделей с анализом гиперпараметров. Всероссийская конференция «Математические методы распознавания образов» (ММРО-14). 2009. стр. 184-187 | ||
+ | |||
+ | == Исходный код == | ||
+ | [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/MIPT2006-2010OldProj/Sintsova2010Bayesian/ Sintsova2010Bayesian] | ||
+ | |||
+ | {{ЗаданиеВыполнено|Валентина Синцова|В.В.Стрижов|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 в учебном процессе. |