Аппроксимация функции ошибки
Материал из MachineLearning.
(→Вычислительный эксперимент) |
|||
(21 промежуточная версия не показана) | |||
Строка 23: | Строка 23: | ||
Для нахождения неизвестных параметров <tex>h_{ij}, i, j = 1, \dots, N, j \ge i, h_0</tex> минимизируем квадратичный критерий для точек обучающей выборки <tex>D_S</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> | ||
+ | |||
+ | Заметим, что получаемые в результате решения данной оптимизационной задачи значения параметров могут существенно отличаться в зависимости от используемого для ее решения оптимизационного алгоритма. В данной работе рассматриваются два алгоритма оптимизации: [[Алгоритм Левенберга-Марквардта | Левенберг-Марквардт]] и [[Trust region | Trust region]]. | ||
+ | |||
После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа: | После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа: | ||
<center><tex>Z_S = exp(-S(w_{MP})) * \sqrt{\frac{(2 \pi)^n}{\det A}}</tex>.</center> | <center><tex>Z_S = exp(-S(w_{MP})) * \sqrt{\frac{(2 \pi)^n}{\det A}}</tex>.</center> | ||
- | == Вычислительный эксперимент == | + | == Вычислительный эксперимент: качество аппроксимации == |
- | В эксперименте в качестве обучающей выборки использовался временной ряд цен на хлеб из 195 точек. Для приближения использовалась модель линейной регрессии | + | В эксперименте в качестве обучающей выборки использовался временной ряд цен на хлеб из 195 точек. Для приближения использовалась модель линейной регрессии <tex>f(x, w) = w_1 + w_2 * x^2</tex>. На картинках ниже графически представлены результаты. |
- | [[Изображение:results.png| | + | [[Изображение:results.png|1150px|thumb|Результаты эксперимента]] |
Функция ошибки в рассмотренном случае хорошо аппроксимируется предложенным методом, причем качество аппроксимации возрастает с увеличением качества модели. Хорошее качество аппроксимации обусловлено тем, что функция ошибки в рассматриваемом примере принадлежит тому же классу, что и функция аппроксиматор. | Функция ошибки в рассмотренном случае хорошо аппроксимируется предложенным методом, причем качество аппроксимации возрастает с увеличением качества модели. Хорошее качество аппроксимации обусловлено тем, что функция ошибки в рассматриваемом примере принадлежит тому же классу, что и функция аппроксиматор. | ||
+ | |||
+ | == Вычислительный эксперимент: устойчивость алгоритма == | ||
+ | Для сравнения устойчивости алгоритмов Левенберга-Марквардта и Trust region в качестве обучающей выборки использовался временной ряд цен на хлеб из 195 точек. Для приближения использовалась регрессионная модель <tex>f(x, w) = \frac{1 - \exp(w_1 + w_2 * x)}{1 + \exp(w_1 + w_2 * x)}</tex>. При таком виде целевой функции вид функции ошибки в окрестности оптимума несколько отличается от гауссовского. Рассматривалась зависимость оптимизированного значения параметров <tex>h_0</tex> и <tex>h_{22}</tex> от начального значения. | ||
+ | |||
+ | <gallery widths="500px" heights="300px"> | ||
+ | Изображение:approximationSigmoid.png | Аппроксимация данных | ||
+ | Изображение:errorSigmoid.png | Функция ошибки | ||
+ | </gallery> | ||
+ | |||
+ | <gallery widths="500px" heights="300px"> | ||
+ | Изображение:fullSigmoid.png | Аппроксимация функции ошибки в случае ковариационной матрицы общего вида | ||
+ | </gallery> | ||
+ | |||
+ | <gallery widths="500px" heights="300px"> | ||
+ | Изображение:stability1.png | Зависимость значения параметра <tex>h_0</tex>, полученного в результате оптимизации от его начального значения. | ||
+ | Изображение:stability2.png | Зависимость значения параметра <tex>h_{22}</tex>, полученного в результате оптимизации от его начального значения. | ||
+ | </gallery> | ||
== Исходный код и полный текст работы == | == Исходный код и полный текст работы == | ||
Строка 38: | Строка 58: | ||
== Смотри также == | == Смотри также == | ||
* [[Аппроксимация Лапласа]] | * [[Аппроксимация Лапласа]] | ||
- | * [[ | + | * [[Алгоритм Левенберга-Марквардта]] |
== Литература == | == Литература == | ||
* [http://ya.ru Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.] | * [http://ya.ru Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.] | ||
- | {{ | + | {{ЗаданиеВыполнено|Максим Панов|В.В. Стрижов|2 декабря 2011|Maxx|Strijov}} |
[[Категория:Практика и вычислительные эксперименты]] | [[Категория:Практика и вычислительные эксперименты]] |
Текущая версия
|
В работе рассматривается метод аппроксимации функции ошибки функцией многомерного нормального распределения. Рассматриваются случаи матрицы ковариации общего вида, диагональной матрицы ковариации, а также диагональной матрицы ковариации с равными значениями дисперсии. Для нормировки получившихся функций распределения используется аппроксимация Лапласа.
Постановка задачи
Дана выборка , где - вектора независимой переменной, а - значения зависимой переменной. Предполагается, что
Также предполагается, что задано апостериорное распределение параметров модели , которому соответствует функция ошибки :
Пусть - наиболее вероятные параметры модели. Требуется найти аппроксимацию Лапласа для функции в точке . Заметим, что в данной работе в качестве функции ошибки берется сумма квадратов ошибок аппроксимации
Описание решения
Сначала находим оптимальные значения параметров модели :
Далее необходимо найти аппроксимацию Лапласа в точке :
где - матрица, обратная к ковариационной матрице нормального распределения, а - нормирующий коэффициент. Заметим, что в силу положительной определенности матрицы ее можно представить в соответствии с разложением Холецкого: , где - верхнетреугольная матрица. Параметризуем матрицу следующим образом:
Также параметризуем нормирующий множитель . Получаем, что . Построим обучающую выборку , где точки берутся равномерно из окрестности наиболее вероятных параметров , в которой мы хотим построить аппроксимацию. Для нахождения неизвестных параметров минимизируем квадратичный критерий для точек обучающей выборки :
Заметим, что получаемые в результате решения данной оптимизационной задачи значения параметров могут существенно отличаться в зависимости от используемого для ее решения оптимизационного алгоритма. В данной работе рассматриваются два алгоритма оптимизации: Левенберг-Марквардт и Trust region.
После нахождения оптимальных значений параметров полученные распределения остается отнормировать в соответствии с аппроксимацией Лапласа:
Вычислительный эксперимент: качество аппроксимации
В эксперименте в качестве обучающей выборки использовался временной ряд цен на хлеб из 195 точек. Для приближения использовалась модель линейной регрессии . На картинках ниже графически представлены результаты.
Функция ошибки в рассмотренном случае хорошо аппроксимируется предложенным методом, причем качество аппроксимации возрастает с увеличением качества модели. Хорошее качество аппроксимации обусловлено тем, что функция ошибки в рассматриваемом примере принадлежит тому же классу, что и функция аппроксиматор.
Вычислительный эксперимент: устойчивость алгоритма
Для сравнения устойчивости алгоритмов Левенберга-Марквардта и Trust region в качестве обучающей выборки использовался временной ряд цен на хлеб из 195 точек. Для приближения использовалась регрессионная модель . При таком виде целевой функции вид функции ошибки в окрестности оптимума несколько отличается от гауссовского. Рассматривалась зависимость оптимизированного значения параметров и от начального значения.
Исходный код и полный текст работы
Смотри также
Литература
Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |