Аппроксимация Лапласа (пример)
Материал из MachineLearning.
 (→Смотри также)  | 
				 (→Смотри также)  | 
			||
| (5 промежуточных версий не показаны.) | |||
| Строка 68: | Строка 68: | ||
ковариационная матрица   | ковариационная матрица   | ||
| + | FIXIT: матрица не является положительно определенной! По критерию Сильвестра элементы не диагонали должны быть положительны  | ||
<tex>A=10^3*\begin{Vmatrix}  | <tex>A=10^3*\begin{Vmatrix}  | ||
-0.1021 & -0.3141\\  | -0.1021 & -0.3141\\  | ||
| Строка 76: | Строка 77: | ||
На рис.2 наблюдается зависимость между коэффициентами <tex>w_1</tex> и <tex>w_2</tex>. Следовательно, ковариационная матрица <tex>cov(w_1,w_2)</tex> не будет диагональной.  | На рис.2 наблюдается зависимость между коэффициентами <tex>w_1</tex> и <tex>w_2</tex>. Следовательно, ковариационная матрица <tex>cov(w_1,w_2)</tex> не будет диагональной.  | ||
| - | |||
===Пример 2===  | ===Пример 2===  | ||
| Строка 134: | Строка 134: | ||
ковариационная матрица   | ковариационная матрица   | ||
<tex>A=10^{11}*\begin{Vmatrix}  | <tex>A=10^{11}*\begin{Vmatrix}  | ||
| - | -2  | + | -2.7859 & 0.0056\\  | 
| - | 0.0056 & 0  | + | 0.0056 & 0.0146\\  | 
\end{Vmatrix}  | \end{Vmatrix}  | ||
</tex>  | </tex>  | ||
| Строка 143: | Строка 143: | ||
* [[Сэмплирование]]  | * [[Сэмплирование]]  | ||
* [http://en.wikipedia.org/wiki/Sampling_(statistics)#Notes Сэмплирование на вики]  | * [http://en.wikipedia.org/wiki/Sampling_(statistics)#Notes Сэмплирование на вики]  | ||
| - | + | * [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group774/Zaitsev2010Laplace/zaytsev_yevgen_laplace_aproximation/ Скачать код MATLAB можно здесь]  | |
| - | * [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/  | + | |
== Литература ==  | == Литература ==  | ||
| Строка 154: | Строка 153: | ||
| - | {{  | + | {{ЗаданиеВыполнено|Евгений Зайцев|В.В.Стрижов|24 декабря 2010|Yevgen.zaytsev|Strijov}}  | 
[[Категория:Практика и вычислительные эксперименты]]  | [[Категория:Практика и вычислительные эксперименты]]  | ||
Текущая версия
Аппроксимация Лапласа - способ оценки параметров нормального распределения при аппроксимации заданной плотности вероятности.
Содержание | 
Постановка задачи
Задана выборка — множество  значений свободных переменных и множество 
 соответствующих им значений зависимой переменной.
Необходимо для выбранной регрессионной модели 
:
3-1 показать зависимость среднеквадратичной ошибки от значений параметров модели: ;
3-2 построить график и сделать аппроксимацию Лапласа для зависимости ;
3-3 найти расстояния между полученными зависимостями, используя расстояние Кульбака - Лейблера.
Описание алгоритма
При восстановлении регрессии рассматривалась следующая гипотеза порождения данных:
В таком случае, при фиксированной модели f плотность вероятности появления данных равняется[1]:
 - это функция регрессионных невязок, т.е. 
;
 - нормировачный коэффициент.
3-1. В заданной модели f, используя метод наименьших квадратов, находим оптимальное значение вектора параметров . Далее, фиксируем  все параметры выбранной регрессионной модели (для определенности зададим им оптимальные значения) кроме одного (пусть этот незафиксированный параметр будет 
). После чего, варьируя значение 
, строим искомую зависимость 
 и график 
. Таким образом построена зависимость от одного параметра 
. 
Аналогично действуя, строится зависимость от большего количества параметров.
3-2. При аппроксимации Лапласа, полученную в пункте 3-1 функцию  приближаем функцией многомерного нормального распределения 
. Воспользуемся нелинейной регрессионной моделью: 
Другими словами, зная из пункта 3-1 значение  (т.е. множество пар 
, где 
 - вектор параметров i-го сэмпла), надо получить корреляционную матрицу 
. 
Вначале, представляем элементы матрицы  в виде вектора параметров. Далее, используя метод Ньютона-Гаусса,находим оптимальный вектора параметров (минимум суммы остаточных квадратов). Затем, делаем обратный переход от вектора параметров к матрице и получаем искомую корреляционную матрицу 
.
3-3. Расстояние Кульбака - Лейблера между двумя распределениями p(z) и q(z) равняется:
Вычислительный эксперимент
Обозначим плотность распределения SSE как , а его аппроксимация лапласа 
.
Пример 1
Задуманная функция . Рассматривается линейная регрессионная модель с двумя параметрами: 
.
 и 
 - оптимальное значение параметров (при которых SSE минимально).
Фиксируем один параметр  и задаем различные значение 
 (500 случайных значений на отрезке [-1;2]). Строим зависимость:
.
Повторим эксперимент, только теперь варьируем сразу оба параметра  и 
:
аппроксимация Лапласа:
ковариационная матрица 
FIXIT: матрица не является положительно определенной! По критерию Сильвестра элементы не диагонали должны быть положительны
На рис.2 наблюдается зависимость между коэффициентами  и 
. Следовательно, ковариационная матрица 
 не будет диагональной.
Пример 2
Задуманная функция , где 
 - белый гауссовский шум. Рассматривается следующая регрессионная модель: линейная комбинация функций 
 и 
.
 и 
 - оптимальное значение параметров (при которых SSE минимально).
Фиксируем один параметр  и задаем различные значение 
 (10000 случайных значений на отрезке [5;15]). Строим зависимость:
Повторим эксперимент, только теперь варьируем сразу оба параметра  и 
(10000 случайных значений на отрезке [-100;100]):
аппроксимация Лапласа:
ковариационная матрица 
Пример 3
Задуманная функция , где 
 - белый гауссовский шум. Рассматривается существенно нелинейная регрессионная модель с двумя параметрами: 
.
Фиксируем один параметр  и задаем различные значение 
 (10000 случайных значений на отрезке [6.5;7.5]). Строим зависимость:
.
Повторим эксперимент, только теперь варьируем сразу оба параметра  и 
(10000 случайных значений на отрезках [4.5;5.5] и [6.5;7.5] соответственно):
аппроксимация Лапласа:
ковариационная матрица 
Смотри также
Литература
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.
 
Примечания
|   |  Данная статья была создана в рамках учебного задания.
 
 См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 













