Аппроксимация Лапласа (пример)
Материал из MachineLearning.
(→Постановка задачи) |
(→Описание алгоритма) |
||
Строка 24: | Строка 24: | ||
<tex>Z_D</tex> - нормировачный коэффициент. | <tex>Z_D</tex> - нормировачный коэффициент. | ||
- | '''1'''. В заданной модели ''f'', используя [[метод наименьших квадратов]], находим оптимальное значение вектора параметров <tex>\mathcal w_{opt}</tex>. Далее, фиксируем все параметры выбранной регрессионной модели (для определенности зададим им оптимальные значения) кроме одного (пусть этот незафиксированный параметр будет ''w(1)''). После чего, варируя значение ''w(1)'', строим искомую зависимость <tex>SSE=SSE(w(1))</tex> и его график. Таким образом построена зависимость от одного параметра ''w(1)''. Аналогично действуя, строится зависимость от большего количества параметров. | + | '''3-1'''. В заданной модели ''f'', используя [[метод наименьших квадратов]], находим оптимальное значение вектора параметров <tex>\mathcal w_{opt}</tex>. Далее, фиксируем все параметры выбранной регрессионной модели (для определенности зададим им оптимальные значения) кроме одного (пусть этот незафиксированный параметр будет ''w(1)''). После чего, варируя значение ''w(1)'', строим искомую зависимость <tex>SSE=SSE(w(1))</tex> и его график. Таким образом построена зависимость от одного параметра ''w(1)''. Аналогично действуя, строится зависимость от большего количества параметров. |
- | '''2'''. При построении апроксимации Лапласса вначале рассмотрим одномерный случай. Пусть есть распределение ''p(z)'': | + | '''3-2'''. При построении апроксимации Лапласса вначале рассмотрим одномерный случай. Пусть есть распределение ''p(z)'': |
<center><tex>p(z)=\frac{1}{Z}f(z)</tex>, где</center> | <center><tex>p(z)=\frac{1}{Z}f(z)</tex>, где</center> | ||
<tex>Z=\int f(z)dz</tex> - нормировочный коэффициент. | <tex>Z=\int f(z)dz</tex> - нормировочный коэффициент. | ||
Строка 53: | Строка 53: | ||
<center><tex>\mathbf{A}=-\nabla \nabla lnf(\mathbf{z})|_{\mathbf{z}=\mathbf{z_0}}</tex>.</center> | <center><tex>\mathbf{A}=-\nabla \nabla lnf(\mathbf{z})|_{\mathbf{z}=\mathbf{z_0}}</tex>.</center> | ||
- | '''3'''. Расстояние Кульбака - Лейблера между двумя распределениями ''p(z)'' и ''q(z)'' равняется: | + | '''3-3'''. Расстояние Кульбака - Лейблера между двумя распределениями ''p(z)'' и ''q(z)'' равняется: |
<center> <tex>D_{kl}(p,q)=\sum\limits_{z\in \mathcal{Z}} p(z) \ln \frac{p(z)}{q(z)}</tex></center> | <center> <tex>D_{kl}(p,q)=\sum\limits_{z\in \mathcal{Z}} p(z) \ln \frac{p(z)}{q(z)}</tex></center> | ||
Версия 16:04, 7 декабря 2010
Аппроксимация Лапласа - способ оценки параметров нормального распределения при апроксимации заданой плотности вероятности.
Содержание |
Постановка задачи
Задана выборка — множество значений свободных переменных и множество
соответствующих им значений зависимой переменной.
Необходимо для выбранной регрессионной модели
:
3-1 показать зависимость среднеквадратичной ошибки от значений параметров модели: ;
3-2 построить график и сделать апроксимацию Лапласа для нее;
3-3 найти расстояния между получеными зависимостями, используя расстояние Кульбака - Лейблера.
Описание алгоритма
При востановлении регрессии рассматривалась следующая гипотеза порождения данных:
В таком случае, при фиксированной модели f плотность вероятности появления данных равняется[1]:
- это функция регрессионных невязок, т.е.
;
- нормировачный коэффициент.
3-1. В заданной модели f, используя метод наименьших квадратов, находим оптимальное значение вектора параметров . Далее, фиксируем все параметры выбранной регрессионной модели (для определенности зададим им оптимальные значения) кроме одного (пусть этот незафиксированный параметр будет w(1)). После чего, варируя значение w(1), строим искомую зависимость
и его график. Таким образом построена зависимость от одного параметра w(1). Аналогично действуя, строится зависимость от большего количества параметров.
3-2. При построении апроксимации Лапласса вначале рассмотрим одномерный случай. Пусть есть распределение p(z):
- нормировочный коэффициент.
Первый шаг при построении апроксимации Лапласса, нахождение максимума, т.е. такого , что
. Далее, раскладываем
в ряд Тейлора в окресности
:
где
Тогда
Апроксимация Лапласса примет вид:
В многомерном случае (размерности M), аналогично действуя, придем к:
где A Гаусиан, размера M x M, равный:
3-3. Расстояние Кульбака - Лейблера между двумя распределениями p(z) и q(z) равняется:
Вычислительный эксперимент
Обозначим плоность распределения SSE как , а его апроксимация лапласса
.
Во время вычислительного эксперимента SSE принимало достаточно большие значения (порядка ). Как следствие, p(y|x,w) принимало значения порядка 1, и апроксимация Лапласса была некоректной. Поэтому, апроксимация Лапласса применялась не к самому распределению p(y|x,w), а к ln(p(y|x,w)) (т.е. к -SSE c точностью до коэффициента).
Пример 1
Задуманная функция . Рассматривается линейная регрессионная модель с двумя параметрами:
.
и
- оптимальное значение параметров (при которых SSE минимально).
Фиксируем один параметр и задаем различные значение
(500 случайных значений на отрезке [-1;2]). Строим зависимость:
.
Повторим эксперимент, только теперь варируем сразу оба параметра и
:
апроксимация Лапласса:
На рис.2 наблюдается зависимость между коэффициентами и
. Следовательно, ковариационная матрица
не будет диагональной.
Смотри также
Литература
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.
Примечания
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |