Алгоритм 1. Треугольник с вершиной в экстремуме.




Обработка данных методом треугольных приближений

КЛЮЧЕВЫЕ СЛОВА:

Нейронные сети, новый метод аппроксимации.

АННОТАЦИЯ:

Предлагается новый метод построения нейронной сети с радиальными базисными функциями или персептрона с одним скрытым слоем по зашумлённым данным. Полученную нейронную сеть можно использовать для последующего дообучения (уточнения параметров). Метод основан на приближении выборки суммой функций, графиками которых являются равнобедренные треугольники. Для приближения каждой такой функции гауссианом или парой сигмоид используется заранее полученное оптимальное приближение стандартной треугольной функции. Рассматриваются четыре варианта организации алгоритма, проведено их сравнительное тестирование в ряде численных экспериментов. Данный подход может быть применён к построению гибридных алгоритмов поиска решений дифференциальных уравнений, сочетающего классические и нейросетевые методы.

Введение. Нейроные сети достаточно часто применяются для поиска скрытых зависимостей в данных [1-3]. Этими данными могут быть финансовые показатели, результаты экспериментов, медицинские наблюдения и иные временные ряды, связанные с наблюдением за некоторой сложной системой. Главная проблема, которую приходится решать при их обучении состоит в большой длительности этого процесса, если используются сети с десятками, а не единицами нейронов, что является необходимостью при достаточно точной аппроксимации сложных зависимостей. Причина этого состоит в необходимости поиска глобального экстремума функционала ошибки, поверхности уровня которого обычно бывает сильно изрезанными, что затрудняет процесс оптимизации. Метод, предлагаемый в данной работе, позволяет построить достаточно точное приближение к искомой нейронной сети, что сильно сокращает и упрощает процесс обучения.

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

Данный метод разумно применять в гибридных алгоритмах построения параметризованных нейросетевых решений [2-5] дифференциальных уравнений и систем. При этом сперва с помощью метода сеток или конечных элементов строятся поточечные или кусочно-линейные решения для набора фиксированных значений параметров, далее с помощью рассмотренных в данной работе методов строятся нейросетевые приближения, которые затем уточняются обычным образом.

Был проведён ряд численных экспериментов с четырьмя алгоритмами, реализующими указанный подход. Приведём их результаты в случае, когда искомая нейронная сеть имеет один вход и один выход. Обобщение на многомерный случай получается естественным образом. Пусть при наблюдении наблюдений за некоторым процессом был получен набор точек .

 

 

Алгоритм 1. Треугольник с вершиной в экстремуме.

Шаг 1. Среди полученных точек выбираем точку с максимальной по модулю ординатой, которую М, а её абсциссу . Зеркально отражаем все точки, абсциссы которых больше относительно М.

Шаг 2. Используя метод наименьших квадратов, строим линейную зависимость, график которой проходит через точку М ().

Шаг 3. Отражаем получившуюся прямую так, чтобы образовался равнобедренный треугольник, основание которого лежит на ОХ. Описываем треугольник, как кусочно-заданную функцию.

Рис .1 Приближение поточечной зависимости треугольной функцией

Шаг 4. Рассматриваем разность ординат точек, не лежащих на треугольнике, и получившихся треугольных функций (стоит учесть, что функция за пределами треугольника равна 0).

Шаг 5. В результате получаем новый набор точек, с которым проделываем вышеперечисленные итерации N раз. Следует заметить, что чем больше N, тем меньше получим ошибку на выходе, однако при больших N мы приближаем не только искомую функцию, но и шум.

Шаг 6. В итоге получается N треугольников, каждый из которых аппроксимируем гауссианами или сигмоидами. Приближение гауссианами даёт RBF-сеть (нейронную сеть с радиальными базисными функциями), а сигмоидами – персептрон с одним скрытым слоем.

Метод треугольных приближений был протестирован на различных наборах точек. Рассмотрим подробнее случай синуса с добавкой белого шума, имеющее равномерное распределение с амплитудой 0.3.

Рис.2 График синуса, зашумлённая выборка, приближение её треугольной функцией и RBF-сетью.

Рис.3 График синуса, зашумлённая выборка, приближение её ломаной (N=20) и RBF-сетью.

Из приведённых графиков видно, что после оптимального числа шагов получается приближение, точность которого превышает точность исходных данных. Дальнейшая работа алгоритма только ухудшает конечный результат.

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

Рис.4 График Sin(x)+Sin(4x)/4, выборка, приближение RBF-сетью с помощью алгоритма 1 (для 30 точек и 30 базисных функций).

Данный график показывает, что усложнение приближаемой функции не слишком сказывается на работоспособности алгоритма.

Рис.5 sin(x)+sin(4x)/4,зашумленная выборка, приближение RBF-сетью с помощью алгоритма 1 (для 30 точек и 30 базисных функций).

Видно, что добавление шума вносит искажение, которое, однако, меньше амплитуды шума. Вид графика позволяет сделать вывод, что получившаяся RBF сеть приближает не толькоцелевую функцию, но и шум. Это может свидетельствовать о неоптимальном числе слагаемых. Данный вопрос будет далее исследован подробнее.

Следующие алгоритмы являются вариациями первого.

Алгоритм 2. В первом алгоритме изменим второй шаг. Как и прежде будем строить линейную зависимость, но теперь, строя её, мы не требуем, чтобы точка, соответствующая максимальной координате по оси ординат являлась вершиной треугольника.

Приведём графики для данногоалгоритма:

Рис.6 sin(x)+sin(4x)/4,выборка, приближение RBF-сетью с помощью алгоритма 2 (для 30 точек и 30 базисных функций).

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

Рис.7 sin(x)+sin(4x)/4,зашумленная выборка, приближение RBF-сетью с помощью алгоритма 2 (для 30 точек и 30 базисных функций).

В данном случае оказалось, что ошибка меньше амплитуды шума, но функция оказалась чрезмерно сглаженной. Насколько этот результат хуже или лучше представленного на рис. 5 заранее неясно, это зависит от целей исследования.

Алгоритм 3. Возьмем первые четыре шага первого алгоритма. После четвертого шага запомним сумму квадратов разности ординат точек, не лежащих на треугольнике, и получившихся прямых, также запомним точку с максимальной ошибкой М. Проделаем ещё раз шаги 1-4, но теперь рассматриваем не все точки (отбросим одну самую отдалённую точку от М). Эту процедуру мы проделываем для того, чтобы посмотреть, когда будет минимальная сумма квадратов ошибок по выборке. Затем посмотрим, чему будет равна ошибка, если мы отбросим еще одну точку. Будем повторять эту процедуру до тех пор, пока не дойдем до того, что останется две точки: М и еще одна. Исходя из нашего метода, мы можем построить треугольник минимум по двум точкам: одна из точек будет вершиной треугольника, а по второй построим одну из сторон. Если в результате эксперимента количество точек достаточно велико или мы хотим упростить вычисления, то можно “откидывать” не одну, а несколько точек, однако в этом случае можно не получить минимальную ошибку. После того, как мы получим все ошибки, ищем наименьшую, и строим соответствующий треугольник. Дальнейшие действия будут как в исходном методе.

Графики для данного метода:

Рис.8 Sin(x)+Sin(4x)/4,выборка, приближение RBF-сетью с помощью алгоритма 3.

Очевидно, что результат работы этого алгоритма при работе с точными данными лучше, чем у предыдущих двух, однако, его трудоёмкость тоже существенно выше.

Рис.9 sin(x)+sin(4x)/4,зашумленная выборка, приближение RBF-сетью с помощью алгоритма 3.

При работе с зашумлёнными данными преимущества рассматриваемого алгоритма становятся неочевидными.

Алгоритм 4. В этом методе мы объединим второй и третий. Стороны будем искать с помощью линейной регрессии, не требуя, чтобы точка, соответствующая максимальной ординате, являлась вершиной треугольника. А из метода 3 мы возьмем поиск наименьшей суммы квадратов ошибки, то есть будем откидывать точки и искать такой треугольник, для которого ошибка по выборке будет минимальна.

Рис.10 Sin(x)+Sin(4x)/4, выборка, приближение RBF-сетью с помощью алгоритма 4.

Рис.11 sin(x)+sin(4x)/4,зашумленная выборка, приближение RBF-сетью с помощью алгоритма 4.

Данные графики позволяют сделать те же выводы, что и графики 6 и 7.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: