Аппроксимация Лапласа (пример)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Постановка задачи)
(Пример 1)
Строка 23: Строка 23:
Используя '''МНК''' находим оптимальное значение <tex>w_1_{opt}</tex> и <tex>w_2_{opt}</tex> (при которых ''SSE'' минимально).
Используя '''МНК''' находим оптимальное значение <tex>w_1_{opt}</tex> и <tex>w_2_{opt}</tex> (при которых ''SSE'' минимально).
-
'''При фиксированном''' <tex>w_1=w_1_{opt}</tex> задем произвольное значение <tex>w_2</tex> (500 значений на отрезке [-1;2]) и строим зависимость:
+
'''При фиксированном''' <tex>w_1=w_1_{opt}</tex> задаем различные значение <tex>w_2</tex> (500 рандомных значений на отрезке [-1;2]) и строим зависимость:
[[Изображение:Sse(w2)_1.png|center|frame]]
[[Изображение:Sse(w2)_1.png|center|frame]]
-
<tex>D_{kl}(p_{SSE},p_{lap})=0.0085</tex>
+
<tex>D_{kl}(p_{SSE},p_{lap})=0.0085</tex>.
-
'''Повторим эксперимент''', только теперь варируем сразу оба параметра <tex>w_1</tex> и <tex>w_2</tex>
+
'''Повторим эксперимент''', только теперь варируем сразу оба параметра <tex>w_1</tex> и <tex>w_2</tex>:
[[Изображение:Sse(w1,w2).png|center|frame|РИС.1.]]
[[Изображение:Sse(w1,w2).png|center|frame|РИС.1.]]
[[Изображение:Sse(w1,w2)_axle_up.png|center|frame|РИС.2. Ось log(p) направлена вверх.]]
[[Изображение:Sse(w1,w2)_axle_up.png|center|frame|РИС.2. Ось log(p) направлена вверх.]]
-
апроксимация лапласса
+
апроксимация лапласса:
[[Изображение:Sse(w1,w2)_laplas.png|center|frame|Laplace approximation]]
[[Изображение:Sse(w1,w2)_laplas.png|center|frame|Laplace approximation]]

Версия 19:58, 16 ноября 2010

Аппроксимация Лапласа - простой, но широко используемый способ нахождения нормального (Гауссово) распределения для апроксимации заданой плотности вероятности.

Содержание

Сэмплирование

Сэмплирование – процесс выбора подмножества наблюдаемых величин из данного множества, для дальнейшего его анализа. Одно из основных приминений методов сэмплирования заключается в оценке мат. ожидания сложных вероятностных распределений: E[f]=\int f(z)p(z) dz, для которых тяжело делать выборку непосредственно из распределения p(z). Однако, можно подсчитать значение p(z) в любой точке z. Один из наиболее простых методов подсчета мат. ожидаия – разбить ось z на равномерную сетку и подсчитать интеграл как сумму E[f]\sum_{l=1}^{L} f(z^{(l)})p(z^{(l)}) dz. Существует несколько методов сэмплирования для создания подходящей выборки длинны L ???.

Постановка задачи

Задана выборка — множество X^N=\{{x}_1,\ldots,{x}_N|x\in\R^M\} значений свободных переменных и множество \{y_1,\ldots, y_N| y\in\R\} соответствующих им значений зависимой переменной. Необходимо для выбранной регрессионной модели f(\mathbf{w},\mathbf{x})показать зависимость среднеквадратичной ошибки от значений параметров модели: SSE=SSE(w); построить график и сделать апроксимацию Лапласа для него; найти расстояния между получеными зависимостями, используя метрику Кульбака - Лейблера.

Описание алгоритма

метрика Кульбака - Лейблера: D_{kl}(p,q)=\sum\limits_{x\in \mathcal{X}} p(x) \ln \frac{p(x)}{q(x)}

Вычислительный эксперимент

Обозначим плоность распределения SSE как  p_{SSE}, а его апроксимация лапласса  p_{lap}

Пример 1

Задуманная функция y=x + sin3x. Берем линейную регрессионную модель с 2-мя параметрами: y(x)=w_1+w_2x. Используя МНК находим оптимальное значение w_1_{opt} и w_2_{opt} (при которых SSE минимально).

При фиксированном w_1=w_1_{opt} задаем различные значение w_2 (500 рандомных значений на отрезке [-1;2]) и строим зависимость:

D_{kl}(p_{SSE},p_{lap})=0.0085.

Повторим эксперимент, только теперь варируем сразу оба параметра w_1 и w_2:

РИС.1.
РИС.1.
РИС.2. Ось log(p) направлена вверх.
РИС.2. Ось log(p) направлена вверх.

апроксимация лапласса:

Laplace approximation
Laplace approximation

D_{kl}(p_{SSE},p_{lap})=1.4616

На рис.2 наблюдается зависимость между коэффициентами w_1 и w_2. Следовательно, ковариационная матрица cov(w_1,w_2) не будет диагональной.

Личные инструменты