StatSoft Russia
   главная       о компании       продукты       консалтинг       отрасли       ресурсы       порталы       VIP   
Продукты

       STATISTICA
  »   Neural Networks
       Industrial System
       Data Miner
       Enterprise Solutions
       Каталог продуктов
       Интеграция

Распознавание образов

Покажем, как нейронные сети можно использовать в распознавании образов. Данные имитируют "цифры", высвечивающиеся на экране неисправного калькулятора. Наблюдаемые классы зависимой переменной 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. Архитектура построенной сети

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


    e-mail    eiioaeou контакты   обратная связь   карта сайта © StatSoft Russia 2012
StatSoft Russia – компания, зарегистрированная и действующая в соответствии с законами России, которые могут отличаться от законов других стран, имеющих офисы StatSoft. Каждый офис StatSoft является самостоятельным юридическим лицом, имеет право предлагать услуги и разрабатывать приложения, которые могут быть, а могут и не быть представлены в офисах StatSoft других стран.