| |
Распознавание образов
Покажем, как нейронные сети можно использовать в распознавании образов. Данные имитируют "цифры", высвечивающиеся на экране неисправного калькулятора. Наблюдаемые классы зависимой переменной Digit соответствовали цифрам 0-9, которые вводились с клавиатуры калькулятора.
В задаче имеется 7 категориальных предикторов: Var1 - Var7 по числу линий, образующих цифру.
Уровень категориального предиктора (0 - отсутствует; 1 - присутствует) показывает, высвечивалась ли на экране соответствующая ему одна из 7 линий (3 горизонтальных и 4 вертикальных). Описание предикторных переменных: Var1 - верхняя горизонтальная, Var2 - верхняя левая вертикальная, Var3 - верхняя правая вертикальная, Var4 - средняя горизонтальная, Var5 - нижняя левая вертикальная, Var6 - нижняя правая вертикальная и Var7 - нижняя горизонтальная (см. рис.1).

Рис.1. Названия предикторов и соответствующие им линии
Калькулятор неисправен, поэтому при нажатии какой-либо кнопки на цифровой клавиатуре, на экране не всегда высвечивается правильная комбинация линий.
Структура данных
На рисунке приведены первые 10 наблюдений файла данных.
Весь набор данных, состоящий из 500 наблюдений, содержится в файле примеров Digit.sta.

Рис.2. Фрагмент исходного файла данных
Результаты распознавания записаны в первой переменной (DIGIT). В переменные VAR1-VAR7 записаны уровни независимых категориальных предикторов.
Построение модели
В данном примере необходимо построить модель распознавания цифр, выдаваемых реальным калькулятором.
Разумно сформулировать следующие требования к нейронной сети: 1) сеть должна обладать возможностью экстраполировать за область обучающих данных (т.е. давать правильный прогноз при комбинациях предикторов, которые сильно отличаются от обучающего множества), 2) требовать небольшого времени для прогноза (это диктуется требованиями практического применения).
Указанным условиям соответствует архитектура многослойного персептрона. Число элементов на скрытом слое выберем равным 5 (классификация проводится в 10 классов). Обычно, в первом приближении при построении модели на скрытом слое выбирается число элементов, равное полусумме числа входных и выходных элементов, но в данной задаче выбор еще обусловлен количеством классов.
Шаг 1. Из меню Анализ –> Нейронные сети запускаем модуль Нейронные сети.
Выбираем задачу: Классификация.
Заходим в диалог выбора Переменных: DIGIT – зависимая категориальная переменная. VAR1-VAR7 – независимые категориальные предикторы.

Рис.3. Диалог выбора переменных
Нажимаем OK.
Шаг 2. На стартовом окне в качестве инструмента построения сети выбираем Конструктор сетей. Нажимаем OK.
Шаг 3. В следующем окне можно выбрать тип сети. Мы выбираем Многослойный Персептрон.

Рис.4. Диалог выбора типа сети
Далее необходимо задать число элементов на скрытом слое. Для этого переходим на вкладку Элементы сети (см. рисунок).

Рис.5. Диалог задания параметров сети
На вкладке Элементы задаем число элементов на скрытом слое равным 5. Итак, архитектура сети определена. Нажимаем кнопку OK и переходим к диалогу Обучение многослойного персептрона.
Шаг 4. Обучим сеть с помощью алгоритма обратного распространения ошибки.

Рис.6. Диалог выбора алгоритма обучения
Величины параметров, задаваемые в этом окне, и их объяснение приведены в полной версии примера.
Нажимаем OK, запуская процедуру обучения.
Шаг 5. Теперь необходимо проанализировать результаты. Производительность классификатора на контрольном и тестовом множествах равняется приблизительно 71-72.
В окне результатов просмотрим описательные статистики.

Рис.7. Окно результатов
Нажимаем кнопку описательные статистики в левом нижнем углу.

Рис.8. Фрагмент окна таблицы описательных статистик
Интерпретация результатов и проведение анализа чувствительности к предикторам изложены в полной версии примера.
Архитектуру построенной сети удобно представить в графическом виде.
STATISTICA позволяет отображать с помощью цвета уровни активации нейронов на входных, выходных и скрытых слоях.
Для построения графа необходимо перейти на вкладку Дополнительно и нажать кнопку Архитектура сети. Следующий график появится на экране:

Рис.9. Архитектура построенной сети
Уровни активации выделены цветом: красным - для положительной активации, зеленым - для отрицательной.
| |