Поиск нелинейной модели поверхности Мохоровичича (пример)

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

Версия от 11:39, 3 октября 2013; Mikethehuman (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Поиск нелинейной модели поверхности раздела пород земной коры.

Содержание

Аннотация

Рассматривается задача восстановления функциональной зависимости глубины прохождения поверхности раздела пород земной коры от значений поля силы тяжести на определенных высотах. На вид зависимости накладываются ограничения в силу особенностей задачи. Применяется символьная регрессия и метод полного перебора суперпозиций, полученных из заданного набора функций. Построен алгоритм нахождения парето-оптимального фронта по совокупности критериев качества.

Постановка задачи

Имеется несколько точек $\{(y_i,z_i)\}_{i=1}^L$ на поверхности Земли. Каждой точке сопоставлен вектор значений силы тяжести $\mathbf{x}_i=(g^{i}_{1},\ldots,g^{i}_{k})$, измеренной на~заданных высотах $1,\ldots,k$, а также глубина границы раздела: $$\mathbb{X} = (\mathbf{x}_{1},\ldots,\mathbf{x}_{L})$$, $$\mathbb{H} = (H_{1},\ldots,H_{L})$$. Здесь $L$ - количество точек, в которых известна глубина прохождения границы раздела, $k$ - число измерений силы тяжести в каждой точке.

Кроме того, имеется множество точек, на которых известны только векторы значений силы тяжести $\mathbf{X}$. Требуется построить функцию $h(g_{1},\ldots,g_{k})$, которая позволяет вычислять значение глубины раздела слоёв по~значениям сил тяжести и вычислить её на~заданном множестве точек.

Требуется найти $\{\widehat{h}^j(g_1,\ldots,g_k)\} _{j\in P} =\{\left.h_{s^*_j}(\mathbf{w},g_1,\ldots,g_k)\right| _{\mathbf{w} = \mathbf{w^*_j}}\} _{j\in P}$ , где \widehat{h}\in\mathfrak{F}, \mathfrak{F} - множество k-местных непрерывных, монотонных функций действительной переменной, h_s\in\mathfrak{F_1}, \mathfrak{F_1} - множество функций из \mathfrak{F}, зависящих дополнительно от вектора параметров, s\in\mathfrak{S} - множество индексов функций множества \mathfrak{F_1}, \mathbf{w} - настраиваемый вектор параметров, \mathbf{w}\in\mathfrak{W}(s), \mathfrak{W}(s) - множество допустимых векторов параметров функции h_s.

Запишем сумму квадратов регрессионных остатков $$R_J(h_s) = \frac{1}{|J|}\sum_{i \in J}\left(h_s(\mathbf{w},\mathbf{x}_i)-h^{*}(\mathbf{x}_i)\right)^2$$, где $(\mathbf{x}_i = ng^{i}_{1},\ldots,g^{i}_{k})$, $h^{*}(\mathbf{x}_i) = H_i\in\mathbb{H}$, $J$ - множество индексов объектов, по которым считается сумма, $J = \{1\ldots L\}$.

Используются следующие критерии качества.

Переобученность $Q$ модели. Мы будем разбивать выборку $\mathbb{X}$ на обучающую $X^l$ и контрольную $X^m$, $\mathbb{X} = X^l\sqcup X^m$. Пусть $J_l$ и $J_m$ - множества индексов объектов обучающей и контрольной выборок, тогда $J = J_l\sqcup J_m$, где $J$ - множество индексов всех объектов выборки. Вектор параметров модели $\mathbf{w}$ будет настраиваться по минимизации функционала $R_{J_l}(h_s(\mathbf{w},g_1,\ldots,g_k))$, а значение $Q$ критерия будет вычислено по байесовскому информационному критерию BIC: $Q = L\ln\left(R_J(h_s(\mathbf{w^{*}},g_1,\ldots,g_k))\right)+d^2\ln(L)$, где $d$ - длина вектора $\mathbf{w}$.

Простота модели $C$ будет вычислена как число поддеревьев дерева суперпозиции.

Качество приближения данных будет вычислено как средняя сумма квадратов регрессионных остатков $R_{J_m}$ на контрольной подвыборке.

Множество \{h_s^j\}_{j\in P} - парето-оптимальное множество по совокупности критериев качества: \{s\in\mathfrak{S}| POF(h_s) = 1\}, где POF(h_s) - номер парето-слоя, в котором лежит модель с индексом s и вектором параметров, настроенным по минимизации суммы квадратов регрессионных остатков на обучающей подвыборке: \mathbf{w^{*}} = \arg\min_{\mathbf{w}\in\mathfrak{W}(s)}R_{J_l}(h_s). Для каждой h_{s^*_j} вектор параметров находится как \mathbf{w^{*}_j} = \arg\min_{\mathbf{w}\in\mathfrak{W}(s^*_j)}R_{J_l}(h_{s^*_j}).

Пути решения задачи

Порождение суперпозиций функций набора методом полного перебора. Каждой суперпозиции можно поставить в соответствие дерево, в вершинах которого стоят функции набора, в листьях - аргументы, а ребро, связывающее вершины означает, что функция, соответствующая вершине-потомку подается в качестве аргумента на вход функции, соответствующей вершине-предку. Метод заключается в том, чтобы перебрать все возможные суперпозиции функций набора вплоть до определенной глубины/длины. В нашей задаче, поскольку $h = h(g_{1},\ldots,g_{k})$, будем осуществлять перебор среди суперпозиций, в которых на месте самых нижних функций (листьев дерева суперпозиции) стоят дискретные функции $g_{1},\ldots,g_{k}$.

Смотри также


Данная статья была создана в рамках учебного задания.
Студент: Александр Мафусалов
Преподаватель: В.В.Стрижов
Срок: 24 декабря 2010


В настоящее время задание завершено и проверено. Данная страница может свободно правиться другими участниками проекта MachineLearning.ru.

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