Исследование скорости сходимости параметров и гиперпараметров (пример)
Материал из MachineLearning.
(→Постановка задачи) |
|||
Строка 7: | Строка 7: | ||
<center><tex>\mathbf{y} = f(\mathbf{x}, \mathbf{w}) + \mathbf{\varepsilon}</tex></center> | <center><tex>\mathbf{y} = f(\mathbf{x}, \mathbf{w}) + \mathbf{\varepsilon}</tex></center> | ||
- | Пусть случайная величина <tex>\mathbf{\varepsilon}</tex> имеет нормальное распределение <tex>\mathbf{\varepsilon} \in N(0, \sigma^2)</tex>. | + | Пусть случайная величина <tex>\mathbf{\varepsilon}</tex> имеет нормальное распределение <tex>\mathbf{\varepsilon} \in N(0, \sigma^2)</tex>. При этом будем обозначать <tex>\mathbf{\beta}=\frac1{\sigma^2}</tex>. |
- | Вектор | + | Вектор <tex>\mathbf{w}</tex> называется параметрами модели и рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения <tex>N(\mathbf{0}, A)</tex> с матрицей ковариации <tex>A</tex>. В данном примере будут рассматриваться 2 случая: <tex>A^{-1}=diag(\alpha_1, \alpha_2, \dots, \alpha_W)=diag(\mathbf{\alpha})</tex>, где <tex>W</tex> - число параметров модели, и <tex>A^{-1}=\alpha I_W</tex>, где <tex>I_W</tex> - единичная матрица размерности <tex>W</tex>. |
- | + | Величины <tex>\mathbf{\beta}</tex> и <tex>\mathbf{\alpha}</tex> называются гиперпараметрами модели. | |
+ | |||
+ | Для нескольких фиксированных функций <tex>f</tex>, задающих модель, через двухуровневый байесовский вывод происходит настройка параметров и гиперпараметров. Требуется проанализировать изменение параметров и гиперпараметров по мере настройки. | ||
+ | |||
+ | |||
+ | =Алгоритм настройки регрессионной модели (двухуровневый байесовский вывод)= | ||
+ | Настройка модели происходит через двухуровневый байесовский вывод. | ||
+ | |||
+ | ==Описание метода== | ||
+ | Т.к. <tex>\mathbf{\varepsilon} \in N(0, \beta^{-2})</tex>, то для фиксированной модели f плотность вероятности появления данных | ||
+ | |||
+ | <center><tex>P(y|\,\mathbf{x},\mathbf{w}, \beta, f)\equiv P(D|\, \mathbf{w}, \beta, f)=(\frac{2 \pi}\beta)^{-\frac{N}2}\, \exp(-\beta E_D)</tex>,</center> | ||
+ | где | ||
+ | <center> <tex>E_D = \frac12 \sum_{n=1}^N (f(\mathbf{w},\mathbf{x}_n)-y_n)^2</tex></center> | ||
+ | |||
+ | Т.к. <tex>\mathbf{w} \in N(\mathbf{0}, A)</tex>, то | ||
+ | |||
+ | <center><tex>P(\mathbf{w}|\, A, f)=\frac{1}{(2 \pi)^{\frac{W}2}{|A|}^{\frac12}}\,\exp(-E_W)</tex>,</center> | ||
+ | где | ||
+ | <center><tex>E_W = \frac12 \mathbf{w}^T A^{-1}\mathbf{w}</tex></center> | ||
+ | |||
+ | Тогда, если обозначить <tex> S(\mathbf{w})=E_W + \beta E_D = \frac12 \mathbf{w}^T A^{-1}\mathbf{w} + \beta E_D</tex>, то | ||
+ | |||
+ | <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>\mathbf{w}^*</tex> функционал <tex> S(\mathbf{w})</tex> представим в виде: | ||
+ | |||
+ | <center><tex> S(\mathbf{w}) = S(\mathbf{w}^*) + \frac12 \Delta\mathbf{w}^T H \Delta\mathbf{w}</tex>, где | ||
+ | <tex>H=-\nabla\nabla S(w)|_{w=w^*}</tex> - гессиан функции ошибок,</center> | ||
+ | |||
+ | получаем, что логарифм функции правдоподобия равен | ||
+ | |||
+ | <center><tex>ln P(D|\,\mathbf{\alpha}, \mathbf{\beta})= - \frac12 ln|A| - \frac{N}2 ln 2\pi + \frac{N}2 ln \beta - \beta E_D - E_W -\frac12 ln|H| </tex></center> | ||
+ | |||
+ | |||
+ | |||
+ | Гиперпараметры <tex>\mathbf{\beta}</tex> и <tex>\mathbf{\alpha}</tex> находятся из условия максимизации полученной функции правдоподобия: | ||
+ | |||
+ | При <tex>A^{-1}=diag(\mathbf{\alpha})</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>\beta= \frac{N-\gamma}2</tex>, где <tex>\gamma=\sum^W_{j=1}\frac{\lambda_j}{\lambda_j+a_j}</tex> | ||
+ | |||
+ | |||
+ | |||
+ | ==Алгоритм== | ||
+ | 1) Задаем начальные значения <tex>\mathbf{w_0}</tex>, <tex>\mathbf{\alpha_0}</tex> и <tex>\mathbf{\beta_0}</tex> | ||
+ | |||
+ | 2) Ищем локальный минимум функции ошибки <tex> S(\mathbf{w})</tex> по <tex>\mathbf{w}</tex> | ||
+ | |||
+ | 3) Ищем локальный максимум функции правдоподобия гиперпараметров <tex>P(D|\,\mathbf{\alpha}, \mathbf{\beta})</tex> по <tex>\mathbf{\alpha}, \mathbf{\beta}</tex> | ||
+ | |||
+ | 4) Повторяем шаги 2 и 3 до сходимости функционала <tex> S(\mathbf{w})</tex> | ||
+ | |||
+ | =Вычислительный эксперимент= | ||
+ | Рассматриваются 6 типов моделей: | ||
1) модель полиномиальной регрессии <tex>y=\sum_{i=1}^na_ix^{i-1}</tex> | 1) модель полиномиальной регрессии <tex>y=\sum_{i=1}^na_ix^{i-1}</tex> | ||
Строка 24: | Строка 86: | ||
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> | ||
- | |||
- | |||
- |
Версия 17:46, 21 декабря 2010
|
Для фиксированной регрессионной модели исследуется скорость сходимости параметров и гиперпараметров при ее настройке через двухуровневый байесовский вывод.
Постановка задачи
Рассмотрим следующую модель регрессии, описывающую связь между свободной и зависимой переменными:
Пусть случайная величина имеет нормальное распределение . При этом будем обозначать .
Вектор называется параметрами модели и рассматривается как многомерная случайная величина. Пусть плотность распределения параметров имеет вид многомерного нормального распределения с матрицей ковариации . В данном примере будут рассматриваться 2 случая: , где - число параметров модели, и , где - единичная матрица размерности .
Величины и называются гиперпараметрами модели.
Для нескольких фиксированных функций , задающих модель, через двухуровневый байесовский вывод происходит настройка параметров и гиперпараметров. Требуется проанализировать изменение параметров и гиперпараметров по мере настройки.
Алгоритм настройки регрессионной модели (двухуровневый байесовский вывод)
Настройка модели происходит через двухуровневый байесовский вывод.
Описание метода
Т.к. , то для фиксированной модели f плотность вероятности появления данных
где
Т.к. , то
где
Тогда, если обозначить , то
Таким образом, минимизация по дает максимум априорной плотности распределения параметров на выборке .
Считая, что в точке минимума функционал представим в виде:
получаем, что логарифм функции правдоподобия равен
Гиперпараметры и находятся из условия максимизации полученной функции правдоподобия:
При
, где
- собственные числа матрицы - части Гессиана, не зависящей от .
, где
Алгоритм
1) Задаем начальные значения , и
2) Ищем локальный минимум функции ошибки по
3) Ищем локальный максимум функции правдоподобия гиперпараметров по
4) Повторяем шаги 2 и 3 до сходимости функционала
Вычислительный эксперимент
Рассматриваются 6 типов моделей:
1) модель полиномиальной регрессии
2) модель
3) модель
4) модель
5) модель трехпараметрического распределения Вейбулла
6) модель с тригонометрическими функциями