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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Постановка задачи)
Строка 1: Строка 1:
-
'''Аппроксимация Лапласа''' - простой, но широко используемый способ нахождения нормального (Гауссово) распределения для апроксимации заданой плотности вероятности.
+
'''Аппроксимация Лапласа''' - способ оценки параметров нахождения нормального распределения при апроксимации заданой плотности вероятности.
==Сэмплирование==
==Сэмплирование==
-
'''Сэмплирование''' – процесс выбора подмножества наблюдаемых величин из данного множества, для дальнейшего его анализа.
+
'''Сэмплирование''' – метод выбора подмножества наблюдаемых величин из данного множества, для дальнейшего его анализа.
Одно из основных приминений методов сэмплирования заключается в оценке мат. ожидания сложных вероятностных распределений: <tex>E[f]=\int f(z)p(z) dz</tex>, для которых тяжело делать выборку непосредственно из распределения ''p(z)''. Однако, можно подсчитать значение ''p(z)'' в любой точке '''z'''. Один из наиболее простых методов подсчета мат. ожидаия – разбить ось z на равномерную сетку и подсчитать интеграл как сумму <tex>E[f]</tex> ≅<tex>\sum_{l=1}^{L} f(z^{(l)})p(z^{(l)}) dz</tex>. Существует несколько методов сэмплирования для создания подходящей выборки длинны ''L'' ???.
Одно из основных приминений методов сэмплирования заключается в оценке мат. ожидания сложных вероятностных распределений: <tex>E[f]=\int f(z)p(z) dz</tex>, для которых тяжело делать выборку непосредственно из распределения ''p(z)''. Однако, можно подсчитать значение ''p(z)'' в любой точке '''z'''. Один из наиболее простых методов подсчета мат. ожидаия – разбить ось z на равномерную сетку и подсчитать интеграл как сумму <tex>E[f]</tex> ≅<tex>\sum_{l=1}^{L} f(z^{(l)})p(z^{(l)}) dz</tex>. Существует несколько методов сэмплирования для создания подходящей выборки длинны ''L'' ???.
Строка 9: Строка 9:
Задана выборка — множество <tex>X^N=\{{x}_1,\ldots,{x}_N|x\in\R^M\}</tex> значений свободных переменных и множество <tex>\{y_1,\ldots, y_N| y\in\R\}</tex> соответствующих им значений зависимой переменной.
Задана выборка — множество <tex>X^N=\{{x}_1,\ldots,{x}_N|x\in\R^M\}</tex> значений свободных переменных и множество <tex>\{y_1,\ldots, y_N| y\in\R\}</tex> соответствующих им значений зависимой переменной.
-
Необходимо для выбранной регрессионной модели <tex>f(\mathbf{w},\mathbf{x})</tex>показать зависимость среднеквадратичной ошибки от значений параметров модели: <tex>SSE=SSE(w)</tex>; построить график и сделать апроксимацию Лапласа для него; найти расстояния между получеными зависимостями, используя [http://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence расстояние Кульбака - Лейблера].
+
Необходимо для выбранной регрессионной модели <tex>f(\mathbf{w},\mathbf{x})</tex>показать зависимость среднеквадратичной ошибки от значений параметров модели: <tex>SSE=SSE(w)</tex>; построить график и сделать апроксимацию Лапласа для нее; найти расстояния между получеными зависимостями, используя [http://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence расстояние Кульбака - Лейблера].
==Описание алгоритма==
==Описание алгоритма==

Версия 19:23, 21 ноября 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.2481

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

Смотри также

Литература

Данная статья является непроверенным учебным заданием.
Студент: Евгений Зайцев
Преподаватель: В.В.Стрижов
Срок: 24 декабря 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.

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