Создадим сеть в виде многослойного персептрона (MultilayerPerceptron). Принцип работы этого типа сети состоит в следующем: каждый элемент сети (отдельный искусственный нейрон) строит взвешенную сумму своих входов, пропускает эту величину активации через передаточную функцию и, таким образом, получается выходное значение этого элемента. Нейроны организованы в послойную топологию с прямой передачей сигнала. Такую сеть легко можно интерпретировать как модель вход – выход, в которой веса являются параметрами модели.
Через меню File – New - Network(Файл – Новый – Сеть) вызовем диалоговое окно CreateNetwork(Создать сеть). Далее необходимо выбрать тип сети из выпадающего списка Type(Тип).По умолчанию всегда предлагается нужный нам тип сети MultilayerPerceptron(рис.6).
Рисунок 6 - Диалоговое окно создания сети
После этого нажмем кнопку Advise (Совет). Программа SNN примет параметры по умолчанию для пре / постпроцессирования и конфигурации сети, исходя из типа переменных, составляющих исходные данные. Препроцессирование заключается в преобразовании исходных данных к виду, удобному для обработки сетью. Сюда относится преобразование номинальных переменных к числовому виду для последующего ввода в сеть, линейное масштабирование и нормировка числовых переменных. Постпроцессирование также включает масштабирование, нормировку и интерпретацию выходов сети в виде номинальных переменных.
Диалоговое окно CreateNetwork(Создать сеть)содержит две таблицы: левая предназначена для пре / постпроцессирования , а правая - для задания параметров сети. После нажатия кнопки Advise(Совет)можно быть уверенным в том, что пре / постпроцессирование произведено в полном соответствии с типом данных, а число слоев в сети и элементов в каждом слое выбрано разумным образом. Обычно от пользователя требуется только:
· Изменить (если требуется) преобразующую функцию для пре / постпроцессирования. Здесь вполне подойдет функция Minimax(Минимакс).
· Задать число слоев и скрытых элементов в сети. В пакете SNN на экран также выдается число элементов во входном и выходном слоях, однако два последних параметра полностью определяются числом входных и выходных переменных, поэтому их нельзя менять (высвечиваются серым цветом).
Примем число слоев персептрона, равным 3, а количество элементов в скрытом слое - 6. После этого нажмем кнопку Create(Создать),и на экране появится созданная нами сеть (рис.7).
Рисунок 7 - Сеть в виде трехслойного персептрона
Входной слой сети содержит 4 элемента, так как каждый цветок характеризуется четырьмя признаками; выходной слой сети имеет 3 элемента, объединенных в один (скобкой), поскольку от сети требуется расклассифицировать предъявляемый цветок (даже не участвовавший в обучении) к одному из трех типов ирисов.
3. Следующим шагом после создания сети является ее обучение. В пакете SNN реализованы основные алгоритмы обучения многослойных персептронов: методы обратного распространения ошибки (ОРО), сопряженных градиентов и Левенберга – Маркара. Здесь применим метод ОРО, суть которого состоит в следующем:
· Алгоритм ОРО последовательно обучает сеть на данных из обучающего множества. На каждой итерации (эпохе) все наблюдения из обучающего множества по очереди подаются на вход сети. Сеть обрабатывает их и выдает выходные значения.
· Полученные значения выхода сравниваются с целевыми выходными значениями, которые также содержатся в наборе исходных данных, и ошибка, т.е. разность между требуемым и реальным выходами используется для корректировки весов для снижения этой ошибки.
· Алгоритм ОРО должен находить компромисс между различными наблюдениями и изменять веса таким образом, чтобы уменьшить суммарную ошибку на всем обучающем множестве.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.