Решение задачи XOR в пакете STATISTICA Neural Networks

Решение задачи XOR в пакете STATISTICA Neural Networks
В данном руководстве описывается решение задачи «Исключающего ИЛИ» в пакете STATISTICA Neural Networks.
Создание набора данных
Одно из главных свойств нейронных сетей состоит в том, что они способ¬ны учиться решать задачи на примерах. Вместо того чтобы непосредст¬венно задавать значения весов сети, мы подаем на вход сети набор обучающих примеров, а затем с помощью того или иного алгоритма обучения – например, методом обрат¬ного распространения – веса сети корректируются таким образом, чтобы она училась понимать обучающие данные.
В пакете STATISTICA Neural Networks обучающие данные хранятся в виде набора данных (Data Set), содержащего некоторое количество наблюдений, для каждого из которых заданы значения нескольких входных и выходных переменных. Как правило, данные берутся из какого-то внешнего источ¬ника (например, системы STATISTICA или электронной таблицы). Однако новый набор данных можно создать прямо в пакете STATISTICA Neural Networks. Для этого нужно проделать следующие действия.
1. Войти в диалоговое окно Создать набор данных – Create Data Set с помощью команды Набор данных – Data Set... из меню Файл-Создать – File-New.
2. Ввести значения числа входных (Inputs) и выходных (Outputs) пере¬менных в будущем наборе данных. В задаче «Исключающего ИЛИ» имеется две входные переменные и одна выходная.
3. Нажать кнопку Создать – Create.
При создании нового набора данных программа STATISTICA Neural Networks авто¬матически открывает окно Редактор данных – Data Set Editor.
Основной элемент окна Редактор данных – Data Set Editor – это таблица, содержащая все записи (наблюдения) набора данных. Каждому наблюде¬нию соответствует одна строка таблицы. В начальный момент таблица будет содержать всего одну строку, а значения всех переменных будут «неизвестны» (обозначены знаком вопроса). У входных переменных заго¬ловок столбца черного цвета, у выходных – голубого; входы от выходов отделяются темной вертикаль¬ной линией. Добавление новых наблюдений и редактирование данных в уже имеющихся на¬блюдениях осуществляется обычным редактированием этой таблицы.
Данные, которые потребуются нам в задаче «Исключающего ИЛИ», приведены на рисунке.

Положительный результат классификации обозначается цифрой 1 в столбце выходной переменной, отрицательный результат – цифрой 0. Щелкните мышью в поле первой ячейки таблицы, введите «0» и нажмите ВВОД. Рамка выделения переместится на следую¬щую ячейку. Введите нули в две оставшиеся клетки, затем аналогично введите остальные строки таблицы.
Удаление лишних наблюдений
Если вы случайно создали лишнее наблюдение, его можно удалить следующим образом:
1. Щелкните в средней части метки строки, соответствующей лишнему наблюдению, метки расположены в левой части таблицы. Вся строка станет выделенной.
2. Нажмите клавиши CTRL+X. Наблюдение будет удалено.
Изменение имен переменных и наблюдений
В пакете STATISTICA Neural Networks имеется возможность присваивать имена от¬дельным наблюдениям и переменным. Чтобы присвоить наблюдению имя, сделайте следующее:
1. Дважды щелкните в средней части метки строки этого наблюдения; метки строк расположены в левой части таблицы. Появится тексто¬вый курсор (серая вертикальная полоса).
2. Введите имя. В качестве метки строки по умолчанию берется ее номер. Не обращайте на него внимания – он отображается только в строках, которым не присвоено имя, и исчезнет сразу же, как только вы начнете вводить символы.
3. С помощью клавиш СТРЕЛКА ВЛЕВО и СТРЕЛКА ВПРАВО курсор можно передвигать по буквам имени, клавишами DELETE и BACKSPACE – удалять лишние символы, с помощью клавиш СТРЕЛКА ВВЕРХ И СТРЕЛКА ВНИЗ можно перейти к именам других наблюдений, клавиша ESCAPE прерывает редактирование.
Аналогично присваиваются имена переменным – для этого нужно отредактировать метки столбцов (вместо строк). Измените имена всех наблюдений и переменных, чтобы ваша таблица выглядела, как на следующем рисунке.

Другие возможности редактирования данных
Таблицы пакета STATISTICA Neural Networks предлагают большой набор средств, облегчающих создание наборов данных и последующую работу с ними. Приведем их краткое описание.
• Перемещение активной ячейки. Осуществляется клавишами: СТРЕЛКА ВЛЕВО, СТРЕЛКА ВПРАВО, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, NOME, END, PAGE UP, PAGE DOWN.
• Выделение диапазона ячеек. Производится перетаскиванием указа¬теля мыши или клавишами курсора при нажатой клавише SHIFT.
• Копирование и вставка. Чтобы скопировать выделенный диапазон ячеек в буфер обмена, нажмите CTRL+C чтобы вставить содержимое буфера обмена в таблицу – нажмите CTRL+V. Можно копировать и вставлять целые строки и столбцы целиком. Возможен также обмен данными между пакетом STATISTICA Neural Networks и другими приложения¬ми, например, Microsoft Excel.
• Вставка. В любом месте таблицы можно вставить новую строку или столбец. Поместите курсор мыши на линию, разделяющую метки двух соседних строк или столбцов (при этом курсор превратится в двустороннюю стрелку), и щелкните кнопкой – откроется полоса вставки. После нажатия клавиши INSERT будет вставлена новая стро¬ка/столбец.
• Чтобы назначить тип переменной – Входная – Input, Выходная – Output, Входная/Выходная – Input/Output или Неучитываемая – Ignored, выберите переменную, щелкнув на метке соответствующего столбца, затем нажмите правую кнопку мыши и выберите нужный тип из контекстного меню.
• Чтобы задать номинальную переменную (например, Пол ={Муж, Жен}), выберите переменную, щелкнув на метке соответствующего столбца, затем нажмите правую кнопку мыши и выберите команду Определение – Definition... из контекстного меню.
• Чтобы задать тип подмножества, Обучающее – Training, Контрольное – Verification, Тестовое – Test или Неучитываемое – Ignored, выбирай¬те наблюдения, щелкая на метках их строк, нажимайте правую кнопку мыши и выбирайте нужный тип из контекстного меню.
Все перечисленные возможности доступны также через команды На¬блюдения – Cases... и Переменные – Variables... меню Правка – Edit.
Создание новой сети
Создать новую сеть в пакете STATISTICA Neural Networks можно либо средствами диалогового окна Создать сеть – Create Network, доступ к которому осу¬ществляется через команду Сеть... – Network... меню Файл-Создать – File-New.
Диалоговое окно Создать сеть – Create Network показано на рисунке.

В пакете STATISTICA Neural Networks для конструирования сетей реализованы до-1 вольно сложные возможности, в том числе и мощные инструменты пре- и пост-процессирования. которое необходимо для преобразования информации в числовую форму (для использования в сети) и обратно. Для тех, кто не хочет вникать во все эти тонкости, в пакете STATISTICA Neural Networks имеется функция Совет – Advise, позволяющая автоматически сконфигурировать большинство характери¬стик сети по набору исходных данных.
Создание сети
1. Выберите тип сети из выпадающего списка Тип – Туре. Сейчас нам нужен тип Многослойный персептрон – Multilayer Perceptron, который всегда предлагается по умолчанию.
2. Нажмите кнопку Совет – Advise. Программа STATISTICA Neural Networks уста¬новит параметры по умолчанию для пре/пост-процессирования и конфигурации сети, исходя из типа переменных, составляющих ис¬ходные данные.
3. Введите необходимые исправления в соответствия переменных и спе¬цификации слоев сети (см. ниже).
4. Нажмите кнопку Создать – Create, и в результате будет создана но¬вая сеть.
Задание режима пре/пост-процессирования и параметров сети
Диалоговое окно Создать сеть – Create Network содержит две таблицы: левая предназначена для пре/пост-процессирования переменных, а правая – собственно для задания параметров сети. Нажав кнопку Совет – Advise, вы сможете быть уверены, что пре/пост-процессирование (Pre/Post Processing) переменных будет произведено в соответствии с типом дан¬ных (в данном случае должно быть две входных и одна выходная пере¬менная) и что число слоев в сети и элементов в каждом слое выбрано ра¬зумным образом. Обычно от пользователя требуется выполнить несколько действий.
1. Изменить, если потребуется, преобразующую функцию для пре/пост-процессирования. В данном случае вполне подойдет функция Минимакс- Minimax.
2. Задать число слоев и скрытых элементов в сети. В пакете STATISTICA Neural Networks на экран также выдается число элементов во входном и выходном слоях. Однако два последних параметра полностью опреде¬ляются числом входных и выходных переменных, и их нельзя менять (они отображаются серым цветом).
Для задачи «Исключающего ИЛИ» нужна сеть с тремя слоями: входным слоем из двух элементов, промежуточным слоем из двух элементов и вы¬ходным слоем из одного элемента. Щелкните по ячейке, в которой указа¬но число скрытых элементов, и задайте его равным двум.
Замечание. В этом диалоговом окне можно задать и некоторые другие параметры, в том числе: параметры временного ряда (Time Series) Вре¬менное окно-Steps и Горизонт-Lookahead, параметры преобразования и подстановки пропущенных значений при пре/пост-процессировании, ширину слоев сети.
Если вы точно следовали всем инструкциям, то у вас получится сеть, показанная на рисунке. Если же вы где-то ошиблись, то повторите все снова.

Сохранение набора данных и сети
После того, как мы потратили время и усилия на создание сети и набора данных, неплохо бы сохранить результаты нашей работы для дальнейше¬го использования. В STATISTICA Neural Networks сеть и набор данных сохраняются в разных файлах – для этого используются диалоговые окна Сохранить сеть – Save Network и Сохранить набор данных – Save Data Set.
Сохранение набора данных
1. Откройте диалоговое окно Сохранить набор данных – Save Data Set с помощью команды Набор данных – Data Set... из меню Файл-Сохранить как – File-Save as.
2. Введите имя файла данных Xor.sta в поле Имя файла – File Name.
3. Нажмите кнопку Сохранить – Save.
Сеть сохраняется аналогичным образом с помощью окна Сохранить сеть – Save Network; в качестве стандартного расширения имени файла сети используются *.net или *.bnt.
Во время сеанса работы имеет смысл периодически сохранять сеть и на¬бор данных; команды Сеть... – Network... и Набор данных... – Data Set... меню Файл-Сохранить – File-Save сохраняют текущее состояние сети и файла данных, не требуя повторного ввода имени файла.
Обучение сети
Следующий шаг после задания набора данных и построения подходящей сети – это обучение.
В пакете STATISTICA Neural Networks реализованы основные алгоритмы обучения многослойных персептронов: методы обратного распространения, сопря¬женных градиентов и Левенберга-Маркара. Мы сосредото¬чимся на наиболее известном из них – методе обратного распространения.
Суть метода обратного распространения
1. Алгоритм обратного распространения последовательно обучает сеть на данных из обучающего множества. На каждой итерации (они на¬зываются эпохами) все наблюдения из обучающего множества (в данном случае оно совпадает со всем набором данных) по очереди подаются на вход сети. Сеть обрабатывает их и выдает выходные зна¬чения.
2. Эти выходные значения сравниваются с целевыми выходными значе¬ниями, которые также содержатся в наборе исходных данных, и ошибка, то есть разность между желаемым и реальным выходом, ис¬пользуется для корректировки весов сети так, чтобы уменьшить эту ошибку.
3. Алгоритм должен находить компромисс между различными наблю¬дениями и менять веса таким образом, чтобы уменьшить суммарную ошибку на всем обучающем множестве; поскольку алгоритм обраба¬тывает наблюдения по одному, общая ошибка на отдельных шагах не обязательно будет убывать.
В пакете STATISTICA Neural Networks отслеживается общая ошибка сети – на гра¬фике, а также ее ошибки на отдельных наблюдениях – на гистограмме. Мы рекомендуем следить за ходом обучения сети, как минимум, по гра¬фику общей ошибки.
Чтобы обучить сеть в задаче «Исключающего ИЛИ», следя при этом за ра¬ботой алгоритма, действуйте так, как описано далее.
Обучение методом обратного распространения
1. Откройте окно График ошибки обучения – Training Error Graph с по¬мощью команды График обучения... – Training Graph... меню Статистики – Statistics.

2. Откройте диалоговое окно Обратное распространение – Back Propagation (на рисунке ниже) с помощью команды Обратное распростране¬ние – Back Propagation... меню Обучение многослойного персептрона – Train-Multilayer Perceptions.

3. Подвиньте окна так, чтобы они не пересекались и были удобно рас¬положены.
4. Нажмите кнопку Обучить – Train в диалоговом окне Обратное рас¬пространение – Back Propagation – будет запущен алгоритм обучения. При этом на график будет выводиться ошибка.
5. Повторно нажимайте кнопку Обучить – Train, чтобы алгоритм пере¬ходил к очередным эпохам.
Не удивляйтесь, если поначалу ошибка не будет существенно уменьшать¬ся. Хотя задача «Исключающего ИЛИ» выглядит совсем простой, много¬слойному персептрону решить ее намного сложнее, чем многие реальные задачи, которые кажутся очень сложными. При тех параметрах по умол¬чанию, которые предложила нам программа STATISTICA Neural Networks, может потребоваться порядка тысячи итераций, прежде чем ошибка станет близ¬ка к нулю.
Оптимизация обучения
Режим работы алгоритма обратного распространения зависит от ряда па¬раметров, и большинство из них собрано в диалоговом окне Обратное распространение – Back Propagation. Для большинства практических за¬дач хорошим начальным приближением будут значения, принимаемые по умолчанию, но при необходимости их можно изменить. В случае же с задачей «Исключающего ИЛИ» эти настройки оказываются весьма неудач¬ными.
Опишем кратко наиболее важные параметры и выберем их значения для задачи «Исключающего ИЛИ».
• Эпохи – Epochs. Задает число эпох обучения, которые проходятся при одном нажатии клавиши Обучить – Train. Значение по умолчанию 100 вполне приемлемо.
• Скорость обучения – Learning rate. При увеличении скорости обуче¬ния алгоритм работает быстрее, но в некоторых задачах это может привести к неустойчивости (особенно если данные зашумлены). Для задачи «Исключающего ИЛИ» подходит относительно высокая ско¬рость обучения, например, 0.9.
• Инерция – Momentum. Этот параметр улучшает (ускоряет) обучение в ситуациях, когда ошибка мало меняется, а также придает алгоритму дополнительную устойчивость. Значение этого параметра всегда должно лежать в интервале [0..1) (т.е. быть больше или равно нулю и меньше единицы). Часто рекомендуется использовать высокую ско¬рость обучения в сочетании с небольшим коэффициентом инерции и наоборот. Однако, в задаче «Исключающего ИЛИ» оба параметра нуж¬но взять большими, например, 0,9.
• Перемешивать наблюдения – Shuffle Cases. При использовании этой функции порядок, в котором наблюдения подаются на вход сети, ме¬няется в каждой новой эпохе. Это добавляет в обучение некоторый шум, так что ошибка может испытывать небольшие колебания. Одна¬ко при этом меньше вероятность того, что алгоритм «застрянет», и общие показатели его работы обычно улучшаются.
При таких настройках параметров пакет STATISTICA Neural Networks решает задачу «Исключающего ИЛИ» примерно за двести итераций.
Замечание. В пакете STATISTICA Neural Networks имеется возможность менять скорость обучения и/или коэффициент инерции от эпохи к эпохе, посте¬пенно сдвигая их от начальных значений, заданных в полях в левой части диалогового окна Обратное распространение – Back Propagation к их конечным значениям, заданным в правой части окна. Например, можно уменьшать скорость по ходу обучения. При задании начальных значений конечные значения по умолчанию устанавливаются такими же.
Выполнение повторных прогонов
Если вы хотите сравнить результаты работы алгоритма в разных вариан¬тах, воспользуйтесь кнопкой Переустановить – Reinitialize диалогового окна Обратное распространение – Back Propagation. В результате веса сети вновь будут установлены случайным образом для начала следующе¬го сеанса обучения. Если теперь после кнопки Переустановить – Reinitialize нажать кнопку Обучить – Train, на графике начнет рисоваться новая линия.
Если в результате таких действий график станет слишком «замусорен¬ным», его можно очистить с помощью кнопки Очистить – Clear окна График обучения – Training Graph.
Совет. Чтобы сделать сравнение более наглядным, можно рисовать ли¬нии разными цветами. Введите значение в поле Метка – Label в окне График обучения – Training Graph, и тогда следующая линия будет нари¬сована другим цветом, а указанная метка будет выведена справа от графи¬ка как условное обозначение.
Ошибки для отдельных наблюдений
В окне График обучения – Training Graph выводится суммарная ошибка сети. Но иногда бывает полезно проследить за тем, как алгоритм обучения воспринимает отдельные наблюдения.
В пакете STATISTICA Neural Networks это делается в окне Ошибки наблюдений... – Case Errors, которое открывается командой Ошибки наблюдений... – Case Errors... меню Статистики – Statistics. Ошибки на от¬дельных наблюдениях выводятся в виде гистограммы.

В конце сеанса обучения ошибки пересчитываются. Имеется также воз¬можность следить за тем, как они меняются в процессе обучения – для этого служит функция Пересчитывать по ходу – Real-time update окна Ошибки наблюдений... – Case Errors; ее нужно активизировать перед запуском алгоритма обратного распространения. Сделав это, вы сможете наблюдать, как алгоритм пытается искать компромисс между обучающими и мешающими наблюдениями.
Запуск нейронной сети
После того, как сеть обучена, ее можно запустить на исполнение. В пакете STATISTICA Neural Networks это можно сделать в нескольких вариантах:
• на текущем наборе данных – в целом или на отдельных наблюдениях;
• на другом наборе данных – в целом или на отдельных наблюдениях (такой набор данных уже может не содержать выходных значений и предназначаться исключительно для тестирования);
• на одном конкретном наблюдении, для которого значения перемен¬ных введены пользователем, а не взяты из какого-то файла данных;
• из другого приложения с помощью интерфейса прикладного программирования SNN API.
Запуск сети на текущем наборе данных
При запуске сети на текущем наборе данных возможны два варианта: ли¬бо обрабатывать отдельные наблюдения, либо все множество целиком. Во втором варианте подсчитываются суммарные статистики – они будут подробно описаны в последующих разделах.
Обработка наблюдений по одному
Для обработки отдельных наблюдений из набора данных служит окно Прогнать одно наблюдение – Run Single Case, доступ к которому осуществляется через пункт Одно наблюдение – Single Case... меню Запуск – Run.

В поле Номер наблюдения – Case No задается номер наблюдения, подлежащего обработке. Чтобы обработать текущее наблюдение, нажмите кнопку Запуск – Run, а для обработки какого-либо другого наблюдения введите соответствующий номер в поле Номер наблюдения – Case No и нажмите клавишу ВВОД.
Совет. Самый простой способ работы с этим окном такой: просчитать первый тестовый пример, нажав кнопку Запуск – Run. а затем, нажимая верхнюю стрелку на кнопке прокрутки, которая расположена спра¬ва от поля Номер наблюдения – Case No, последовательно обрабатывать другие наблюдения.
Значения входных переменных для текущего наблюдения отображаются в таблице, расположенной в верхней части окна, а выходные значения – в нижней таблице.
Помимо фактического выходного значения, которое выдает сеть, выво¬дится также целевое значение и ошибка, т.е. разность между первым и вторым. Если для обучения сети использовался этот же набор данных, то фактическое значение должно быть близко к целевому. Кроме того, ошибка, соответствующая данному наблюдению, выводится отдельно в верхней части окна (поле Ошибка – Error).
В пакете STATISTICA Neural Networks предусмотрены различные форматы вывода (для этого служит выпадающий список Показывать при выводе – Outputs Shown). Сейчас мы использовали установленный по умолчанию вариант Переменные – Variables.
Прогон всего набора данных
Для тестирования сети на всем наборе данных служит окно Прогнать набор данных – Run Data Set, доступ к которому осуществляется через пункт Набор данных – Data Set... меню Запуск – Run. На¬жмите кнопку Запуск – Run, чтобы протестировать сеть, и результаты бу¬дут выведены в таблицу в нижней части окна.

В таблице окна Прогнать набор данных – Run Data Set содержатся следующие значения (перечислен¬ные слева направо): фактические выходы сети, целевые выходные значения, ошибки, т.е. разности между первыми и вторыми, и сум¬марная ошибка по каждому на¬блюдению (в сети, построенной для задачи «Исключающего ИЛИ», значительная часть информации повто¬ряется). Над таблицей выдается окончательная среднеквадратичная ошибка (СКО) – RMS error сети на этом наборе данных (эта же статистика выводится в окне График обучения – Training Graph). В нашем примере весь набор данных использовался как обучающее множество.
Тестирование на отдельном наблюдении
Иногда необходимо протестировать сеть на отдельном наблюдении, не принадлежащем никакому набору данных. Причины для этого могут быть такие:
• Обученная сеть используется для построения прогнозов на новых данных с неизвестными выходными значениями.
• Вы хотите поэкспериментировать с сетью, например, проверить чув¬ствительность результата к малым изменениям в данных.
Тестирование заданных пользователем наблюдений проводится из окна Прогнать отдельное наблюдение – Run One-off Case, доступ к которому осуществляется через пункт Отдельное – One-off... меню Запуск – Run.

Для этого нужно ввести входные значения в таблицу, расположенную в верхней части окна, и нажать кнопку Запуск – Run, результаты будут выведены в нижнюю таблицу.
Попробуйте, например, немного менять значения исходных данных зада¬чи «Исключающего ИЛИ», например, задать в какой-нибудь строке числа 0,1 и 0,9. Как правило, нейронные сети неплохо работают при наличии помех. При малых возмущениях исходных значений результаты будут близки к ожидаемым.
Проведение классификации
Введение
Решение задач классификации – одна из наиболее важных областей при¬менения нейронных сетей. В таких задачах входные данные представляют собой результаты измерений некоторых характеристик объекта. Цель со¬стоит в том, чтобы определить, к какому из нескольких заданных классов принадлежит этот объект. Обычно классов бывает ровно два (или один, и наблюдение может либо принадлежать, либо не принадлежать ему). Зада¬ча «Исключающего ИЛИ» – пример задачи классификации с двумя класса¬ми. Наблюдение может принадлежать или не принадлежать классу XOR.
В пакете STATISTICA Neural Networks можно работать с так называемыми номи¬нальными переменными (или атрибутами), то есть с переменными, кото¬рые могут принимать конечное число значений, представленных в виде строк текста. Простейший пример – переменная Пол={Муж, Жен}, это номинальная переменная с двумя возможными значениями (состояниями). В задаче «Исключающего ИЛИ» выходная переменная как раз должна быть номинальной переменной с двумя состояниями: XOR={False, True}.
В описываемой программе номинальными могут быть как входные, так и выходные переменные, и имеется много способов преобразования содер¬жащейся в них нечисловой информации к виду, понятному нейронной сети, и, наоборот, способов интерпретировать числовой выход сети как номинальную переменную. Поддержка номинальных переменных – орга¬ническая часть системы пре/пост-процессирования пакета STATISTICA Neural Networks.
Проиллюстрируем сказанное, видоизменив пример XOR таким образом, чтобы выходом была номинальная переменная.
Задача XOR с номинальной выходной переменной
Начнем с того, что заново определим набор данных. Используем команду Набор данных – Data Set... меню Файл-Создать – File-New и определим две входные и одну выходную переменную.
В открывшемся окне Редактор данных – Data Set Editor зададим имена переменных First, Second и Xor (дважды щелкая на заголовках столбцов).
Чтобы сделать переменную Xor номинальной, выделите ее (щелчком на заголовке столбца), затем нажмите правую кнопку мыши и выберите в появившемся контекстном меню пункт Определение – Definition.... Откроется диалоговое окно Определение переменной – Variable Definition, в котором содержатся следующие сведения о переменной: ее имя в данный момент, число возможных номинальных значений (для числовых переменных - ноль) и сами номинальные значе¬ния.

Нажмите верхнюю стрелку на кнопке прокрутки, расположенной справа от поля Значение – Value: у переменной появится два номинальных значения – v1 и v2 (номинальных значений должно быть не менее двух – единственное номинальное значение не имеет никакого смысла).
Поменяйте имя первого номинального значения с v1 на False, за¬тем нажмите верхнюю стрелку на кнопке прокрутки и поменяйте имя второго номинального значения с v2 на True.
Нажмите кнопку Закрыть – Close – номинальная переменная определена.
Теперь можно ввести данные наблюдений, чтобы набор данных выглядел как на этом рисунке.

Вводить значения номинальной переменной можно разными способами: напрямую напечатать слова (True или False), ввести соответствующее порядковое значение (соответственно 1 или 2) или, выделив ячейку, щелкнуть правой кнопкой и выбрать значение из контекстного меню.
После того, как набор данных будет создан, создайте сеть с помощью команды Сеть – Network... меню Файл-Создать – File-New. Нажмите кнопку Совет – Advise – программа STATISTICA Neural Networks автоматически выберет параметры пре/пост-процессирования и архитектуру сети. Задайте число скрытых элементов равным двум. Обучите сеть с помощью алгоритма обратного распространения.
Замечание. Функция преобразования (Convert) для выходной переменной будет изменена с Минимакс – Minimax на Два значения – Two-State: программа STATISTICA Neural Networks автоматически определила, что это дву¬значная номинальная выходная переменная, и соответствующим образом изменила режим пре-процессирования. Такой способ – обычный при решении на нейронной сети задачи двузначной классификации (т.е. с двумя классами): двузначной переменной соответствует один выходной элемент, который будет выдавать значение 1 для одного из классов и 0 – для другого. Все промежуточные значения выражают ту или иную степень уверен¬ности в том, что наблюдение принадлежит данному классу.
На практике стандартный многослойный персептрон на выходе никогда не выдаст точно 0 или 1, а лишь, быть может, близкие к ним значения. Таким образом, естественно будет установить доверительные уровни или пределы. Например, доверительные уровни можно задать так, чтобы точ¬ки выше 0,95 объявлялись принадлежащими к одному классу, а точки ни¬же 0,05 – к другому.
Установка доверительных уровней
Доверительные пределы для классификации устанавливаются в пакете STATISTICA Neural Networks в окне Пре/пост-процессирование – Pre/Post Processing, которое открывается одноименной командой меню Правка – Edit. В поле Принять – Accept задается минимальное значение выхода, при котором наблюдение будет считаться принадлежащим «положительному» классу; поле От¬вергнуть – Reject содержит максимальное значение выхода, при котором наблюдение будет отнесено к «отрицательному» классу.
Интерпретация результатов классификации
При прогоне сети из окон Прогнать одно наблюдение – Run Single Case, Прогнать отдельное наблюдение – Run One-off Case или Прогнать набор данных – Run Data Set программа STATISTICA Neural Networks производит пост-процессирование выходных значений с учетом доверительных пределов и присваивает значения выходной переменной по следующим правилам.
• Если выход превысил порог принятия, то наблюдение классифициру¬ется положительно и выдается второе из двух номинальных значений (в нашем примере True).
• Если выход был ниже порога отвержения, наблюдение классифици¬руется отрицательно, и выдается первое из двух номинальных значе¬ний (в нашем примере False).
• Если выход лежит между двумя порогами, классификация объявляет¬ся неопределенной и выходная переменная приобретает «пропущен¬ное» значение (изображается знаком вопроса).
По умолчанию в пакете STATISTICA Neural Networks выдаются именно эти номи¬нальные значения выходных переменных. Однако, вполне вероятно, что вы захотите узнать истинные уровни доверия, которые сеть присвоила наблюдениям до пост-процессирования (т.е. уровни активации выходного элемента). Поменяйте значение параметра Показывать при выводе –Outputs Shown с Переменные... – Variables на Активации – Activations и в таблице будут показаны не пост-процессированные номинальные значения выходной переменной, а уровни активации выходного элемента сети.
Статистики классификации
Таблица со статистиками, отражающими результаты и качество классификации, выводится нажатием кнопки Запуск – Run в окне Статистики классификации – Classification Statistics.

Столбцы таблицы соответствуют классам. Каждый столбец разбит на две части: суммарные статистики и статистики присваива¬ния. Друг от друга они отделены темной горизонтальной линией.
Итоговые статистики
1. Всего – Total. Общее число наблюдений в этом наборе данных.
2. Правильно – Correct. Количество наблюдений из этого класса, кото¬рые сеть классифицировала правильно.
3. Неправильно – Wrong. Количество наблюдений из этого класса, кото¬рые сеть неправильно классифицировала как относящиеся к другому классу.
4. Неясно – Unknown. Количество наблюдений из этого класса, которые сеть не смогла классифицировать.
Статистики присваивания
Здесь показано, сколько наблюдений из каждого класса было отнесено к каждому из возможных классов, включая правильный. Неясные наблюде¬ния не отражены. Эта информация позволяет более подробно выяснить причины неправильных классификаций.
Замечание. Статистики классификации автоматически обновляются после нажатия кнопки Запуск – Run в одноименном окне, и для их пере¬счета не требуется никаких специальных действий.
 
1-1 можно быстро Скачать WoW аддоны бесплатно для всех классов очень классно! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40