Аппроксимация функции ошибки
Материал из MachineLearning.
(→Описание решения) |
(→Описание решения) |
||
Строка 17: | Строка 17: | ||
<center><tex>p^*(w| k, A) = k * \exp(-(w - w_{MP})^T A (w - w_{MP}))</tex>,</center> | <center><tex>p^*(w| k, A) = k * \exp(-(w - w_{MP})^T A (w - w_{MP}))</tex>,</center> | ||
где <tex>A</tex> - матрица, обратная к ковариационной матрице нормального распределения, а <tex>k</tex> - нормирующий коэффициент. Заметим, что в силу положительной определенности матрицы <tex>A</tex> ее можно представить в соответствии с разложением Холецкого: <tex>A = L L^T</tex>, где <tex>L</tex> - верхнетреугольная матрица. Параметризуем матрицу <tex>L</tex> следующим образом: | где <tex>A</tex> - матрица, обратная к ковариационной матрице нормального распределения, а <tex>k</tex> - нормирующий коэффициент. Заметим, что в силу положительной определенности матрицы <tex>A</tex> ее можно представить в соответствии с разложением Холецкого: <tex>A = L L^T</tex>, где <tex>L</tex> - верхнетреугольная матрица. Параметризуем матрицу <tex>L</tex> следующим образом: | ||
- | <center><tex>L(i, j) = \begin{cases}e^{h_{ij}} & i = j, \\ sinh(h_{ij}) & j > i, \\ 0 & j < i, \\ \end{cases}</tex> | + | <center><tex>L(i, j) = \begin{cases}e^{h_{ij}} & i = j, \\ sinh(h_{ij}) & j > i, \\ 0 & j < i, \\ \end{cases}</tex> где <tex>h_{ij} \in \mathbb{R}, i, j = 1, \dots, N, j \ge i</tex>.</center> |
- | где <tex>h_{ij} \in \mathbb{R}, i, j = 1, \dots, N, j \ge i</tex>. Также параметризуем нормирующий множитель <tex>k = exp(h_0)</tex>. Получаем, что <tex>p^*(w | A, k) = p^*(w | h_{ij}, i, j = 1, \dots, N, j \ge i, h_0)</tex>. Построим обучающую выборку <tex>D_S = (w_k, S(w_k)), k = 1, \dots, N_S</tex>, где точки <tex>w_k</tex> берутся равномерно из окрестности наиболее вероятных параметров <tex>w_{MP}</tex>, в которой мы хотим построить аппроксимацию. Для нахождения неизвестных параметров <tex>h_{ij}, i, j = 1, \dots, N, j \ge i, h_0</tex> минимизируем квадратичный критерий для точек обучающей выборки <tex>D_S</tex>: | + | Также параметризуем нормирующий множитель <tex>k = exp(h_0)</tex>. Получаем, что <tex>p^*(w | A, k) = p^*(w | h_{ij}, i, j = 1, \dots, N, j \ge i, h_0)</tex>. Построим обучающую выборку <tex>D_S = (w_k, S(w_k)), k = 1, \dots, N_S</tex>, где точки <tex>w_k</tex> берутся равномерно из окрестности наиболее вероятных параметров <tex>w_{MP}</tex>, в которой мы хотим построить аппроксимацию. Для нахождения неизвестных параметров <tex>h_{ij}, i, j = 1, \dots, N, j \ge i, h_0</tex> минимизируем квадратичный критерий для точек обучающей выборки <tex>D_S</tex>: |
<center><tex>\sum_{k = 1}^{N_S} (S(w_k) - p^*(w_k | h_{ij}, h_0))^2 \to \min_{h_{ij}, h_0}.</tex></center> | <center><tex>\sum_{k = 1}^{N_S} (S(w_k) - p^*(w_k | h_{ij}, h_0))^2 \to \min_{h_{ij}, h_0}.</tex></center> | ||
После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа: <tex>Z_S = exp(-S(w_{MP})) * \sqrt{\frac{(2 \pi)^n}{\det A}}</tex>. | После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа: <tex>Z_S = exp(-S(w_{MP})) * \sqrt{\frac{(2 \pi)^n}{\det A}}</tex>. |
Версия 14:01, 26 сентября 2011
|
В работе рассматривается метод аппроксимации функции ошибки функцией многомерного нормального распределения. Рассматриваются случаи матрицы ковариации общего вида, диагональной матрицы ковариации, а также диагональной матрицы ковариации с равными значениями дисперсии. Для нормировки получившихся функций распределения используется аппроксимация Лапласа.
Постановка задачи
Дана выборка , где - вектора независимой переменной, а - значения зависимой переменной. Предполагается, что
Также предполагается, что задано апостериорное распределение параметров модели , которому соответствует функция ошибки :
Пусть - наиболее вероятные параметры модели. Требуется найти аппроксимацию Лапласа для функции в точке . Заметим, что в данной работе в качестве функции ошибки берется сумма квадратов ошибок аппроксимации
Описание решения
Сначала находим оптимальные значения параметров модели :
Далее необходимо найти аппроксимацию Лапласа в точке :
где - матрица, обратная к ковариационной матрице нормального распределения, а - нормирующий коэффициент. Заметим, что в силу положительной определенности матрицы ее можно представить в соответствии с разложением Холецкого: , где - верхнетреугольная матрица. Параметризуем матрицу следующим образом:
Также параметризуем нормирующий множитель . Получаем, что . Построим обучающую выборку , где точки берутся равномерно из окрестности наиболее вероятных параметров , в которой мы хотим построить аппроксимацию. Для нахождения неизвестных параметров минимизируем квадратичный критерий для точек обучающей выборки :
После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа: .
Вычислительный эксперимент
Цель вычислительного эксперимента - ...
- описание эксперимента
- иллюстрации с комментариями
y = 1; % There is no need to post all your code here. Only extracts and only if it is necessary.
Требования к оформлению графиков:
- шрифт должен быть больше,
- толщина линий равна двум,
- заголовки осей с большой буквы,
- заголовок графика отсутствует (чтобы не дублировать подпись в статье);
- рекомендуется сразу сохранять EPS и PNG (для TeX и для Wiki).
h = figure; hold('on'); plot(xi,y,'r-', 'Linewidth', 2); plot(xi,y,'b.', 'MarkerSize', 12); axis('tight'); xlabel('Time, $\xi$', 'FontSize', 24, 'FontName', 'Times', 'Interpreter','latex'); ylabel('Value, $y$', 'FontSize', 24, 'FontName', 'Times', 'Interpreter','latex'); set(gca, 'FontSize', 24, 'FontName', 'Times') saveas(h,'ModelOne.eps', 'psc2'); saveas(h,'ModelOne.png', 'png');
Исходный код и полный текст работы
Смотри также
Литература
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |