| |
Аппроксимация функций
Имеется неизвестная функция двух переменных, которая задана 1000 значений на интервале [0,10]x[0,10]. Предполагается, что точки, в которых заданы значения функции, распределены в указанном квадрате случайно.

Рис.1. График функции
Требуется построить математическую модель, которая описывает связь значений функции и значений независимых переменных. График функции показан на рис.1.
Структура данных
Файл данных состоит из трех переменных: x, y, z. Переменные x и y – независимые, переменная z - зависимая.

Рис.2. Фрагмент исходной таблицы данных
Построение модели
В классическом подходе к решению задачи на первом шаге строится модель множественной регрессии. Очевидно, что зависимость нелинейная и все линейные модели будут давать “плохие” результаты. В данном примере мы построим нейросетевую модель.
Шаг 1. Запускаем Нейронные сети.

Рис.3. Запуск модуля Нейронные сети
На стартовом окне выбираем тип задачи Регрессия. Далее переходим к выбору непрерывных входных и выходных переменных (нажимая кнопку П). Диалог выбора переменных с установками показан на рис.4.

Рис.4. Диалог выбора переменных
В качестве инструмента выбираем Мастер решений (это установка по умолчанию). Стартовое окно с описанными установками показано на рис.5.

Рис.5. Стартовое окно с проделанными установками
Нажимаем OK.
Шаг 2. На вкладке Тип сети выбираем пункт Радиальная базисная функция. О причинах такого выбора можно прочитать в полной версии примера.

Рис.6. Окно задания установок Мастера решений, вкладка Тип сети
Длительность анализа установим N сетей = 100 (вкладка Быстрый, см. рис.7). Нажимаем OK.

Рис. 7. Окно задания установок Мастера решений, вкладка Быстрый
Шаг 3. Проанализируем результаты (рис.8).

Рис.8. Окно результатов анализа, вкладка Дополнительно
По мере увеличения числа элементов на скрытом слое сети увеличивается точность результатов.
Заметим, что ни для одной модели мы не получили эффекта “зазубривания данных” (т.е. все модели обладают способностью обобщать результат на новые наблюдения).
С помощью опции Выбор модели исключим все, кроме пятой сети.
Построим график наблюдаемых и предсказанных значений.
Для этого переходим на вкладку Графики и по оси X Наблюдаемые, а по оси Y Предсказанные.

Рис.9. Окно результатов анализа, вкладка Графики
Строим зависимость Y от X. График показан на рис.10.

Рис.10. Зависимость Предсказанных и Наблюдаемых значений
График практически идеально лежит на прямой линии. Этого следовало ожидать, поскольку ошибки на выборках составляют всего 0.7%. Про описательные статистики построенной сети можно почитать в полной версии примера.
В заключение приведем граф построенной нейронной сети архитектуры РБФ.

Рис.11. Схема построенной сети
Сеть имеет структуру прямого распространения с двумя входными переменными, 540 элементами на скрытом слое и одним элементом на выходном слое. Точность построенной модели равна 0.7%.
Можно сделать вывод, что сеть успешно распознала структуру обучающего множества и пригодна для использования в прогнозировании значений зависимой переменной.
Шаг 4. Сохранение модели. О сохранении сети в формате .snn или на языках C\C++, SVB, PMML можно почитать в полной версии примера.
| |