Uploaded by baev.misha01

Лабораторная работа №2 ИИС

advertisement
ЛАБОРАТОРНАЯ РАБОТА № 2
ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ
ДЛЯ РЕШЕНИЯ ЗАДАЧ КЛАССИФИКАЦИИ, АППРОКСИМАЦИИ
ФУНКЦИИ И ПРОГНОЗИРОВАНИЯ
с помощью аналитического пакета Deductor
1. Цель работы
Целью работы является исследование процедуры работы с аналитическим
пакетом Deductor при решении задач классификации, аппроксимации функции
и прогнозирования.
2. Теоретическая часть
Пакет Deductor (BaseGroup) является аналитической платформой для создания законченных прикладных решений в области анализа данных и предназначен для решения широкого спектра задач, связанных с обработкой структурированных данных, представленных в виде таблиц. Область приложения системы при этом может быть практически любой – механизмы, реализованные в
системе, применяются при исследовании финансовых рынков, в области медицины, торговли, телекоммуникаций, промышленности, при решении логистических и маркетинговых задачах и т.д.
В Deductor включены средства проектирования, моделирования и обучения искусственных нейронных сетей; использование этого пакета позволяет
решать следующие задачи:
1. Классификация – определение принадлежности входного образа, представленного вектором признаков, одному или нескольким предварительно
определенным классам.
2. Кластеризация (классификация «без учителя») – алгоритм кластеризации основан на подобии образов и помещает близкие образы в один кластер.
3. Прогнозирование – задача состоит в предсказании значения выхода в
некоторый будущий момент времени.
4. Оптимизация – задача нахождения такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую
функцию.
3. Задание к лабораторной работе
3.1. Выполнить решение задачи классификации с целью ознакомления с
основными приемами работы в среде Deductor. В качестве примера рассмотреть
пример «Выдавать ли кредит клиенту».
3.2. Выполнить решение задачи аппроксимации функций. Для этого получить вариант задания, согласно которому сформировать свою выборку, определить структуру и построить нейронную сеть. Провести опрос сети на основе
анализа «что-если», записать полученные результаты и сделать выводы.
1
3.3. Выполнить решение задачи прогнозирования на основе данных результатов выборов. Провести опрос сети, записать полученные результаты и
сделать выводы.
4. Порядок выполнения работы
4.1. Решение задачи «Выдавать ли кредит клиенту».
В качестве обучающего набора данных выступает база данных, содержащая информацию о клиентах, в частности: Сумма кредита, Срок кредита, Цель
кредитования, Возраст, Пол, Образование, Частная собственность, Квартира, Площадь квартиры. На основе этих данных необходимо построить модель,
которая сможет дать ответ, входит ли Клиент, желающий получить кредит, в
группу риска невозврата кредита, то есть пользователь должен получить ответ
на вопрос «выдавать ли кредит?». Задача относится к группе задач классификации, т.е. обучения с учителем.
Данные
для
анализа
находятся
в
файле
«C:\Program
Files\BaseGroup\Deductor\Samples\credit.txt». Необходимо импортировать данные из файла при помощи Мастера импорта (выбрать прямой доступ к файлам).
Запустить
Мастер обработки и выбрать метод обработки данных Нейронная сеть. Мастер обработки позволяет сконструировать НС с заданной
структурой, определить ее параметры и обучить с помощью одного из доступных в системе алгоритмов обучения. Настройка и обучение НС состоит из следующих шагов:
Шаг 1. Настройка назначения полей – в левой части окна представлен
список всех полей исходного набора данных; в правой части отображаются параметры поля, такие как:
Имя поля – идентификатор поля, определенный в источнике данных; изменить его на этом шаге нельзя.
Тип данных – тип данных поля (вещественный, строковый, дата), также
заданный в источнике данных и здесь изменен быть не может.
Назначение – указывается вариант использования поля, выбор производится с помощью ниспадающего списка, в котором содержатся следующие варианты: а) входное - значения поля будут являться исходными данными для
обучения и дальнейшей работы обученной НС; б) выходное - значения поля будут являться эталонными при обучении НС, а при работе с ней будут содержать
результаты обработки входных полей; в) информационное - поле не будет использоваться при обучении НС, но будет помещено в результирующий набор в исходном состоянии; г) непригодное - поле не может быть использовано при построении и работе алгоритма, но будет помещено в результирующий набор в
исходном состоянии; д) неиспользуемое - поле не будет использоваться при
обучении и работе НС, а также будет исключено из результирующей выборки.
Статус непригодного поля устанавливается автоматически и в дальнейшем мо2
жет быть изменен только на неиспользуемое или информационное; поле будет
запрещено к использованию, если поле – дискретное и содержит всего одно
уникальное значение; если поле – непрерывное с нулевой дисперсией и если
поле содержит пропущенные значения.
Вид данных – указывает на характер данных поля (непрерывный или дискретный); изменить это свойство на этом этапе нельзя.
В случае если текущее поле содержит непрерывные (числовые) данные, в
правой нижней части окна появляется секция «Статистика», в которой отображаются максимальное и минимальное значения поля, его среднее значение и
стандартное отклонение. Если выделенное поле содержит дискретные (строковые) данные, то для него открывается секция «Уникальные значения», в которой отображается общее число уникальных значений в поле, а также список
самих уникальных значений.
Зададим назначения исходных столбцов данных. Выходной столбец в задаче – «Давать кредит», все остальные – входные (рисунок 2).
Рисунок 2 – Настройка назначений столбцов
Шаг 2. Настройка обучающей выборки – на этом шаге обучающая выборка разбивается на два множества - обучающее и тестовое (рисунок 3). Способ разбиения исходного множества данных по умолчанию задан как «случайно».
Обучающее множество включает записи (примеры), которые будут использоваться в качестве входных данных, а также соответствующие желаемые
выходные значения.
Тестовое множество также включает записи, содержащие входные и
желаемые выходные значения, но используемое не для обучения модели, а для
проверки его результатов.
В поле «Количество строк (всего)» отображается общее количество записей в исходной выборке данных, которое может быть задействовано для
формирования множеств. Если суммарное число строк для всех используемых
множеств меньше полного числа строк исходной выборки, то размеры мно3
жеств можно задавать произвольно, например, использовать не все записи, а
только часть из них. Если же суммарное указанное число строк превышает максимальное для данной исходной выборки, то автоматически включается баланс
множеств, т.е. при указании для одного из множеств размера, в результате которого будет превышено максимальное число записей в исходной выборке,
размер остальных множеств будет автоматически уменьшен таким образом,
чтобы суммарный размер множеств не превышал доступного числа записей.
Рисунок 3 – Разбиение исходного набора данных на подмножества
Шаг 3. Настройка структуры сети - на этом шаге задаются параметры,
определяющие структуру НС - количество скрытых слоев и нейронов в сети, а
также активационная функция нейронов.
В секции «Нейроны в слоях» необходимо указать количество скрытых
слоев, т.е. слоев НС, расположенных между входным и выходным слоями. Число нейронов во входном и выходном слоях автоматически устанавливается в
соответствии с числом входных и выходных полей обучающей выборки и изменить его нельзя.
К выбору количества скрытых слоев и количества нейронов для каждого
скрытого слоя нужно подходить осторожно. Хотя до сих пор не выработаны
четкие критерии выбора, дать некоторые общие рекомендации все же возможно. Считается, что задачу любой сложности можно решить при помощи двухслойной НС, поэтому конфигурация с количеством скрытых слоев, превышающих 2, вряд ли оправдана. Для решения многих задач вполне подойдет однослойная НС. При выборе количества нейронов следует руководствоваться следующим правилом: «количество связей между нейронами должно быть примерно на порядок меньше количества примеров в обучающем множестве». Количество связей рассчитывается как связь каждого нейрона со всеми нейронами
соседних слоев, включая связи на входном и выходном слоях. Слишком большое количество нейронов может привести к «переобучению» сети, когда НС
4
выдает хорошие результаты на примерах, входящих в обучающую выборку, но
практически не работает на других примерах.
Для определения числа нейронов в скрытых слоях НС можно воспользоваться формулой оценки необходимого числа синаптических весов  w в многослойной сети с сигмоидальными передаточными функциями:
mN
N
  w  m(  1)(n  m  1)  m ,
1  log 2 N
m
где n- размерность входного сигнала ( x1 ...x n ); m- размерность выходного сигнала ( y1 ...y n ); N- число примеров обучающей выборки;  w - количество синаптических весов.
Для двухслойной сети можно примерно определить количество нейронов
в скрытых слоях по формуле:
w
общ. кол. синапт. весов
,


n  m кол. входов  кол. выходов
где  - число нейронов в скрытом слое.
Известны и другие способы оценки. Например,
N
N
 n  m  w   n  m ,
10
2
где n, m - количество входов и выходов, N- число примеров обучающей выборки;
В секции «Активационная функция» необходимо определить тип функции активации нейронов и ее крутизну. В нижней части окна отображается
график выбранной функции в соответствии с установленной крутизной.
Для задачи «выдавать ли кредит клиенту» определим структуру нейронной сети (рисунок 4): укажем количество нейронов в входом слое - 33 (количество входных переменных), в скрытом слое – 1, в выходном слое – 1 (количество выходных переменных). Активационная функция – Сигмоида, и ее крутизна равна единице.
Рисунок 4 – Структура нейронной сети
5
Шаг 4. Выбор алгоритма и настройка параметров обучения. Чтобы
выбрать один из доступных в системе алгоритмов, нужно активизировать соответствующий пункт в секции «Алгоритм».
Для алгоритма обратного распространения ошибки (Back-Propagation)
задаются два параметра:
Скорость обучения – определяет величину шага при итерационной коррекции весов в нейронной сети (рекомендуется задавать в интервале 0…1).
Момент – учитывает величину последнего изменения веса при коррекции
весов (задается в интервале 0…1).
Для алгоритма Resilient Propagation указываются параметры:
Шаг спуска - коэффициент, который определяет шаг увеличения скорости
обучения при недостижении алгоритмом оптимального результата.
Шаг подъема – коэффициент, который задает шаг уменьшения скорости
обучения в случае пропуска алгоритмом оптимального результата.
Настроим процесс обучения нейронной сети. Для этого выбираем алгоритм и параметры обучения нейронной сети (рисунок 5).
Рисунок 5 – Настройка процесса обучения нейронной сети
Шаг 5. Настройка условий остановки обучения - на данном шаге задаются условия, при выполнении которых обучение будет прекращено:
«Считать пример распознанным, если ошибка меньше» – в данном случае критерием останова является условие такое, что рассогласование между
эталонным и реальным выходом сети становится меньше заданного значения.
«По достижении эпохи» - установка флажка позволяет задать число эпох
(циклов обучения) по достижении которого обучение останавливается независимо от величины ошибки. Если флажок сброшен, то обучение будет продолжаться, пока ошибка не станет меньше заданного значения.
Для обучающего и тестового множества в соответствующих секциях окна
могут независимо устанавливаться следующие критерии останова обучения:
«Средняя ошибка меньше» - средняя квадратичная ошибка на обучающем
множестве или тестовом множестве меньше заданного значения.
6
«Максимальная ошибка меньше» - максимальная квадратичная ошибка на
обучающем множестве или тестовом множестве меньше заданного значения.
«Распознано примеров (%)» - количество распознанных примеров на обучающем множестве или тестовом множестве больше заданного процента.
При выборе нескольких условий останов процесса обучения происходит
по достижении хотя бы одного из них.
Настроим условия остановки обучения. Будем считать пример распознанным, если ошибка меньше 0.005, и укажем условие остановки обучения
при достижении эпохи 10000.
Шаг 6. Запуск процесса обучения. Для управления процессом обучения
используются следующие кнопки:
«Пуск» - запускает процесс или возобновляет после паузы.
«Пауза» - временно приостанавливает обработку, такая временная приостановка процесса имеет смысл либо для оценки текущих результатов процесса обучения, например, просмотра графиков динамики ошибок обучения, либо
в случае необходимости освободить ресурсы процессора для других приложений.
«Стоп» - останавливает процесс без возможности его продолжения. Принудительная остановка процесса обучения модели имеет смысл, если: значения
ошибок длительное время не уменьшаются или процент распознанных примеров не увеличивается.
Обучение может считаться успешным, если процент распознанных примеров
на обучающем и тестовом множествах достаточно велик (близок к 100%).
В процессе обучения в секциях «Обучающее множество» и «Тестовое
множество» отображаются максимальная квадратичная ошибка и средняя
квадратичная ошибка на обучающем множестве и тестовом множестве соответственно, а также процент распознанных примеров. Отображаются графики хода
обучения для обучающего (синяя линия) и тестового (красная линия) множеств;
сплошной линией показана максимальная квадратичная ошибка на обучающем
множестве и тестовом множестве, пунктирной – средняя квадратичная ошибка
на обучающем множестве и тестовом множестве.
В поле «Темп обновления» можно задать число эпох обучения сети, через
которое будет происходить обновление графика.
Флажок «Рестарт» позволяет включить режим инициализации начальных весов сети случайными значениями. Если флажок сброшен, то при повторном запуске обучения после остановки будет иметь место так называемое «дообучение сети», когда обучение будет начато с текущими весами.
Запустим процесс обучения и будем наблюдать за изменением величины
ошибки и процентом распознанных примеров в обучающем и тестовом множествах. В нашем случае мы видим, что на эпохе № 10000 в обучающем множестве распознано 88,73% примеров, а на тестовом – 42,86% примеров. Фрагмент
этого процесса проиллюстрирован на рисунке 6.
7
Рисунок 6 – Обучение нейронной сети
Шаг 7. Выбор способа отображения – на данном шаге пользователь
должен выбрать, в каком виде будут отображены результаты обработки данных. Для этого достаточно пометить нужные визуализаторы флажками и щелкнуть по кнопке «Далее». Для выборки данных, полученных в результате обработки данных с помощью НС, доступны следующие виды отображения:
Обучающий набор; Диаграмма рассеяния; Граф нейросети; Что-если; Таблица
сопряженности, Таблица; Статистика; Диаграмма; Гистограмма; Куб; Сведения.
1. Обучающий набор содержит обучающее и тестовое множества (обучающее множество - всегда, а тестовое - в зависимости от настроек). Внешне обучающий набор данных представляет собой обычную таблицу, однако в нем
возможен раздельный просмотр обучающего, тестового и валидационного
множеств.
2. Работа с диаграммой рассеяния. Диаграмма рассеяния служит для
наглядной оценки качества обучения модели с помощью результатов сравнения
непрерывных эталонных и рассчитанных значений выходного поля. На диаграмме рассеяния отображаются выходные значения для каждого из примеров
обучающей выборки, координаты которых по оси Х - это значение выхода на
обучающей выборке (эталон), а по оси Y - значение выхода, рассчитанное обученной моделью на том же примере. Прямая диагональная линия представляет
собой линию идеальных значений. Чем ближе точка к этой линии, тем меньше
ошибка модели. Ширина доверительного интервала определяется допустимой
ошибкой, которая вводится в поле «Ошибка». Если ошибка модели (величина в
столбце <Имя_поля>_ERR) меньше допустимой, то точка попадает в доверительный интервал. С помощью доверительного интервала можно оценить, в каких точках отклонение рассчитанного выхода от эталона является недопустимым.
8
3. Граф нейросети. Данный визуализатор позволяет графически представить НС со всеми нейронами и синаптическими связями. При этом пользователь может увидеть структуру НС и значения весов, которые принимают те или
иные нейроны. В зависимости от веса нейрона он отображается определенным
цветом, а соответствующее значение можно определить по цветовой шкале,
расположенной внизу окна.
4. Что-если. Анализ по методу «Что-если» позволяет исследовать поведение построенной системы обработки – проводится эксперимент, в котором
при изменении значений входных полей обучающей или рабочей выборки НС
пользователь наблюдает за изменением значений на выходе.
Проведение анализа позволяет оценить достоверность полученных результатов, определить область устойчивости системы. Под устойчивостью понимается то, насколько снижается достоверность полученных результатов при
попадании на вход системы нетипичных данных - выбросов, пропусков данных
и т.д. Очевидно, что если подать на вход значения, существенно выходящие за
диапазон входных данных, гарантировать правильную реакцию системы нельзя
и достоверность полученных данных может быть снижена. Если значение, присвоенное полю, выходит за границы диапазона, это поле окрашивается в красный цвет.
5. Таблица. В таблице каждое поле выборки данных размещается в отдельном столбце. Столбцы озаглавлены метками полей, а если метка не была
задана, то именами полей.
6. Статистика. В данном варианте представления будет отображаться
набор основных статистических характеристик выборки данных текущей ветви
сценария обработки. Статистические характеристики отображаются в таблице
по каждому полю выборки. В верхней части окна статистики отображается общее количество записей в наборе данных. Столбец Минимум отображает столбец минимальных значений. Столбец Максимум –столбец максимальных значений. Столбец Сумма – столбец сумм всех значений поля.
Для рассматриваемой задачи выберем следующие визуализаторы 1) граф
нейросети (рис.7); 2) анализ «что-если»; 3) таблица сопряженности; и с их помощью проанализируем полученные данные.
Рисунок 7 – Фрагмент графа нейросети
9
На рисунке 8 показана таблица сопряженности. По ее диагонали расположены примеры, которые были правильно распознаны, т.е. 55 клиентов, которым можно выдавать кредит, и 86 клиентов, которым выдавать кредит не стоит.
В остальных ячейках расположены те клиенты, которые были отнесены к другому классу (4 и 4). Можно считать, что правильно классифицированы практически все примеры - 94,6%.
Рисунок 7 – Таблица сопряженности
Визуализатор «что-если» (рис.9) позволяет провести эксперимент. Данные по потенциальному получателю кредита следует ввести в соответствующие
поля, и построенная модель рассчитает значение поля «Давать кредит» - «Да»
или «Нет», т.е. решит поставленную задачу.
Рисунок 9 – Визуализатор «Что-если»
10
2.2. Задача аппроксимации функции
Рассмотрим пример аппроксимации функции двух переменных:
F(X, Y) =(1 - X2) +2(1 - Y)2.
Ограничим диапазон изменения переменных Х и Y интервалом (-1, 1).
Для решения задачи выберем топологию НС с двумя скрытыми слоями
по четыре нейрона в каждом слое, с двумя входными и одним выходным
нейроном (рис. 10).
Рисунок 10 – Граф нейросети
Для обучения сети используем выборку из 20 векторов (табл2). Время
обучения сети при заданной ошибке 0,05 (остальные установки программы - по
умолчанию) составило 0,35.
Таблица 2 – Содержание файла с обучающей выборкой
X
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Y
-1
-0,8
-1
-0,6
-0,7
-0,4
-0,5
-0,3
-0,2
-0,1
0
0,1
0,1
0,2
0,4
0,6
0,6
0,7
0,9
1
-1
-1
-0,8
-0,5
-0,6
-0,5
-0,3
-0,2
-0,1
0
0
0
0,2
0,3
0,5
0,3
0,6
0,8
1
1
F(X,Y)
8
8,129
6,48
4,909
5,38
5,2
3,94
3,708
3,342
2,98
3
2,98
2,26
1,902
1,206
1,389
0,729
0,34
0,0361
0
11
Для проверки полученных результатов проведем опрос сети. Результаты
опроса приведены в таблице 3.
Таблица 3 – Результаты опроса сети
1
2
3
4
5
6
7
8
9
10
X
0.5
0
0.1
0.3
-0.9
-0.2
0.1
-0.9
0
-0.4
Y
0.5
0
0.95
0.3
-1
0.9
-0.4
-0.3
0.2
0
F(X,Y)
0.991
3.007
1.1131
1.76
7.99
1.68
3.15
3.54
2.36
3.036
1,25
3
0,995
1,89
8,19
0,98
4,91
3,57
2,28
2,84
Из таблицы 3 видно, что результаты опроса не во всех случаях верны или
ошибка намного больше заданной, например, при Х= 0,5, У = 0,5 (значения вектора 1) имеем F(X, У) = 0,991, а точное значение равно 1,25, т. е. ошибка составляет примерно 0,259 (при заданной ошибке обучения 0,05). Заметим, что
точность аппроксимации можно повысить, увеличив объем обучающей выборки.
2.3. Задача «Прогнозирование результатов выборов»
Данная задача стала классической для демонстрации работы нейросетевого классификатора. Она компактна, значения всех обучающих параметров
представляются в форме «Да-Нет», основана на реальных данных и дает хороший результат.
Рассмотрим использование нейроимитатора на примере предсказания
итогов выборов президента США.
На первый взгляд кажется, что итоги выборов зависит только от личностей кандидатов и от их программ. Однако и программы, и образы кандидатов
создаются профессионалами. Оказывается, что если предвыборные компании
всех кандидатов отработаны добросовестно и все участники сделали все возможное, то выбор практически предопределяется лишь объективными признаками сложившейся накануне выборов ситуации в стране. А кто победит, можно
решать на основании ответов на следующие вопросы.
1) Правящая партия у власти более 1 срока?
2) Правящая партия получила больше 50 % на прошлых выборах?
3) В год выборов была активна третья партия?
4) Была серьезная конкуренция при выдвижении кандидата от правящей партии?
5) Кандидат от правящей партии был президентом в год выборов?
6) Был ли год выборов временем спада или депрессии?
7) Был ли рост среднего национального валового продукта на душу населения более 2,1%?
12
8) Произвел ли правящий президент существенные изменения в политике?
9) Во время правления были существенные социальные волнения?
10) Администрация правящей партии виновна в серьезной ошибке или скандале?
11) Кандидат правящей партии - национальный герой?
12) Кандидат оппозиционной партии - национальный герой?
Обучающая выборка состоит из 31 примера, каждый из которых представляет ситуацию выборов, начиная с 1864 г. (табл. 4), где ответы «Да» обозначены единицами, а ответы «Нет» - нулями.
Класс 1 означает, что в данной ситуации был избран кандидат правящей
партии, класс 2 - кандидат оппозиционной партии. После обучения сеть должна
предсказать ответ для ситуации, отраженной табл. 6.2, которая не входила в
обучающую выборку (когда производились эксперименты, результат выборов
1992 г. еще не был известен).
Таблица 4. Обучающая выборка для прогнозирования результата выборов президента США
№
Год
Класс
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
1864
1868
1872
1880
1888
1900
1904
1901
1916
1924
1921
1936
1940
1944
1948
1956
1964
1972
1860
1872
1884
1892
1896
1912
1920
1932
1952
1960
1968
1976
1980
1
1
1
1
1
1
1
1
Г
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
Обучающие параметры
1 2
3
4 5
6
0 0
0
0 0
0
1 1
0
0 0
0
1 1
0
0 1
0
1 0
0
1 0
0
0 0
0
0 1
0
0 1
0
0 1
0
1 1
0
0 1
0
1 1
0
0 0
0
0 0
0
0 1
0
0 1
1
0 1
0
1 1
0
0 0
0
0 1
0
0 1
1
1 1
0
0 1
1
1 1
0
0 1
0
1 1
1
0 1
0
0 1
0
0 0
0
0 0
0
0 1
0
0 0
0
0 1
0
1 0
1
1 0
0
1 1
0
1 0
1
1 0
0
1 0
0
0 0
1
0 1
0
0 0
0
1 0
1
1 1
1
1 1
0
1 0
0
1 0
0
1 1
0
0 1
1
1 0
0
1 0
0
1 1
0
0 0
1
1 1
1
1 0
0
1 1
0
1 1
0
0 0
1
1 1
1
7
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
8
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
11
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
Таблица 5. Пример выборной ситуации в США в 1992 г. (Д.Буш –Б.Клинтон)
32
1992
?
нет
да
да
да
да
да
нет
да
да
да
нет
нет
13
Решение будем проводить по этапам.
1) Подготовка исходных данных. Используя табл. 5, подготовим в Excel
обучающую выборку в виде табл. 6; сохраним эти данные в виде файла dBASE с
названием Выборы.dbf.
Таблица 6 Исходные данные (обучающая выборка) в виде таблицы
Y
1
1
1
1
1
1
1
1
Г
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
XI
0
1
1
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
1
1
1
1
0
Х2
0
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
0
1
0
1
1
1
0
ХЗ
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
1
Х4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
1
1
Х5
0
0
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
1
1
Х6
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
Х7
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
0
0
Х8
1
1
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
Х9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
0
0
Х10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
1
X11
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
Х12
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
1
Подготовим данные для опроса в соответствии в форме таблицы 7 и сохраним под именем Прогноз.dbf.
Исходные данные для прогноза
Y
Х1 Х2 хз Х4 Х5 Х6 Х7 Х8 Х9 X10
0
1
1
1 1
1
0
1
1
1
Таблица 7
Х11 Х12
0
0
2) Задание топологии нейронной сети.
Определим топологию НС с одним скрытым слоем. По формулам
mN
N
 Lw  m(  1)( n  m  1)  m
1  log 2 N
m
l
Lw
nm
14
определим, что при заданных значениях Nх= 6, Ny= 1, Np = 17 число нейронов в
скрытом слое N < 4. Будем использовать НС с одним скрытым слоем. Очевидно, число входных нейронов - 12, число выходных нейронов - 1. Для определения числа нейронов в скрытом слое воспользуемся рекомендациями, приведенными выше.
Использование формулы при Nх= 12, Ny = 1, Np = 31 дает минимальное
значение для Nw - 5, и максимальное - 51; из формулы (2) следует, что число
нейронов в скрытом слое должно быть от 1 до 4. Из выражения (3) видно, что
это число не должно превышать 2,5. На основании этих результатов примем
число нейронов в скрытом слое равным 2.
3) Обучение нейронной сети.
Используя подготовленный файл Выборы.dbf, создадим нейронную сеть
заданной топологии, проведем ее обучение и определим наиболее значащие
признаки. Полученный результат несколько отличается от приведенного в цитированном источнике. В нашем исследовании получилось, что наибольшее
влияние на исход выборов оказывают ответы на вопросы 4, 8. 3 и 9.
Сохраним сеть и проект под именем «Выборы»; закроем программу.
4) Опрос обученной сети.
Откроем сохраненный проект и файл Прогноз.dbf. Выберем режим тестирования сети. Полученный при этом результат (в нашем случае - 2,01401, т.е. 2
при округлении) говорит о том, что на 1992 год прогнозируется победа кандидата от оппозиционной партии, т. е. Б.Клинтона. Как известно, так и произошло. Отметим, что весьма близкий выход сети к числу 2 говорит, пожалуй, что
сделанному прогнозу следовало доверять с большой степенью уверенности.
4. Требования к оформлению отчета
Отчет должен содержать
1. Название и цель работы.
2. Постановка задачи классификации.
 Структура НС (описание входов и выходов)
 Содержание обучающей выборки.
 Результаты обучения НС

Результаты опроса нейронной сети.
 Выводы.
3. Постановка задачи аппроксимации функций.
 Структура НС (описание входов и выходов)
 Содержание обучающей выборки.
 Результаты обучения НС

Результаты опроса нейронной сети.
 Выводы.
15
Download