
- •Системи підтримки прийняття рішень методичні вказівки
- •Частина 2
- •1 Задача классификации и оценка качества ее решения 4
- •2 Методи вирішення задач класифікації 15
- •3 Предобработка данных 66
- •4 Рекомендована література 75
- •1 Задача классификации и оценка качества ее решения
- •1.1 Постановка задачи
- •1.2 Методы, применяемые для решения задач классификации:
- •1.3 Геометрична інтерпретація задачі класифікації
- •1.4 Оцінка якості моделі класифікації
- •1.5 Контрольные вопросы
- •2 Лабораторная работа № 4
- •2.1 Дискриминантный анализ
- •2.2 Логистическая регрессия
- •Пример на модельных данных % Перед началом работы алгоритма задаются начальные % значения параметров.
- •2.3 Классификация на основе дерева решений
- •1. Создание дерева решений
- •2. Прогнозирование с использованием полученного дерева решений.
- •3. Сокращение дерева.
- •4. Тестирование качества классификации
- •2.4 Метод k-ближайших соседей
- •Алгоритм knn
- •Простое невзвешенное голосование
- •Взвешенное голосование
- •Пример работы алгоритма knn
- •Области применения алгоритма knn
- •2.5 Наивный байесовский классификатор
- •2.6 Метод опорных векторов
- •2.7 Задания к лабораторной работе
- •2.8 Контрольные вопросы
- •3 Лабораторная работа №5 Предобработка данных
- •3.1 Понятие предобработки данных
- •3.2 Масштабирование
- •3.3 Сокращение размерности
- •3.3.2 Какие именно признаки брать – общий подход
- •3.3 Пример задачи прогнозирования с предварительной
- •3.4 Задания к лабораторной работе
- •3.5 Контрольные вопросы
- •4 Литература
3.3 Пример задачи прогнозирования с предварительной
обработкой данных
Задана выборка из 32 поквартальных значений за 1995-2002 годы, сформированных на основе бухгалтерской отчетности ООО «Вавилон». Требуется решить задачу построения математической модели типа «Инфляция-производство», анализирующую данные и формирующую связь между показателями экономического роста данного предприятия (входы модели) и уровнем инфляции (выход модели), который оценивается через поквартальный индекс потребительских цен (ИПЦ). Модель будет использоваться для прогнозирования развития данного предприятия на будущие периоды времени (кварталы). Данные приведены в приложении.
Решение задачи прогнозирования нейронными сетями
Сценарий обработки данных примера приведен на рис. 2.1. Результаты факторного анализа приведены на рисунке 2.3.
Рисунок 3.1 – Сценарий Deductor
На третьем шаге создадим простую двухслойную сеть (с двумя скрытыми слоями) и архитектурой «2-4-1-1». Структура сети:
число слоев – 2;
число входов – 2;
число нейронов в первом скрытом слое – 4;
тип выходной функции первого слоя – tanh;
число нейронов во втором скрытом слое – 1;
тип выходной функции 2-ого слоя – linear.
При создании нейросети следует учитывать, что общее число связей сети (весов) должно быть в несколько раз меньше объема обучающей выборки. Это обеспечит достаточно гладкую аппроксимацию данных.
В противном случае нейросеть просто «переобучится», т.е. запомнит данные, потеряв возможность делать статистически значимые предсказания новых данных.
В нашем примере имеется 12 связей, а объем выборки – 32. Таким образом, необходимое условие успешного обучения формально выполняется, но для получения заведомо более качественного результата имеется 2 варианта - увеличение числа примеров до 150 (и более) или уменьшение числа связей до 3-5.
Первый путь реализуется легко введением достаточного числа дополнительных обучающих примеров. Второй вариант интереснее, и он может быть реализован разными способами. Например, уменьшением числа нейронов в промежуточном слое до 2. Тогда получится сеть типа «2-2-1» с пятью связями и т.д. Однако, продолжим работу с сетью «2-4-1-1».
Запустим процесс обучения сети. Точность обучения зададим 0.1, а число эпох 20000. Обучим сеть на 32 примерах, указав последние 4 примера как тестирующее множество.
На рис. 3.2 приведен граф нейронной сети, а на рис. 3.3 и 3.4 – результаты обучения и тестирования нейронной сети (график построен в MatLab).
В приведенных результатах ошибка обучения, а также ошибка на тестирующем множестве не так велика. Однако, это имеет место не всегда. Стоит попытаться обучить сеть несколько раз и проверить ее на тестирующем множестве, запоминая всякий раз лучший результат.
Рисунок 3.2 – Нейронная сеть, созданная программой Deductor
Рисунок 3.3 – Результаты обучения и тестирования нейронной сети
Рисунок 3.4 – Результаты обучения и тестирования нейронной сети
3.4 Задания к лабораторной работе
Задание 3.1. Для заданных исходных данных выполнить все этапы решения задачи прогнозирования с помощью нейронных сетей в системе MatLab:
Решение задачи разбейте на несколько этапов.
Предварительная обработка данных: нормировка и сокращение размерности методом главных компонент (в качестве входных параметров берем последние 7 из таблицы данных).
Построение нейронной сети на основе архитектуры многослойного персептрона.
Построение прогноза по обученной нейронной сети показателя ИПЦ на следующие 4 квартала на основе имеющихся экономических показателей предприятия, сравнение прогноза с известными показателями и оценка качества прогноза.
Задание 3.2. Сравнить результаты нейросетевого прогнозирования и прогнозирования с помощью линейной регрессионной модели.