Автор работы: Пользователь скрыл имя, 04 Октября 2013 в 11:15, лабораторная работа
Условие задачи: Обучите определять нейронную сеть давать ли кредит банку.
Исходная выборка: 149 примеров, 22 столбца.
Таблица содержит столбцы: цель кредитования, возраст, пол, образование, частная собственность, квартира, площадь, расположение, прописка в данном районе, класс предприятия, специализация, должность, срок работы на предприятии, срок работы по специальности, среднемесячный доход, основное направление расходов, количество иждивенцев, давать ли кредит, давать кредит (число).
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Стерлитамакский филиал Башкирского
государственного университета »
Отчет по лабораторной работе №1
«Работа в программе Deductor»
Вариант №17
Выполнил:
студент группы АИС-21
Петров И.Л.
Проверила:
Беляева М.Б.
Стерлитамак 2012
Условие задачи: Обучите определять нейронную сеть давать ли кредит банку.
Исходная выборка: 149 примеров, 22 столбца
Таблица содержит столбцы: цель кредитования, возраст, пол, образование, частная собственность, квартира, площадь, расположение, прописка в данном районе, класс предприятия, специализация, должность, срок работы на предприятии, срок работы по специальности, среднемесячный доход, основное направление расходов, количество иждивенцев, давать ли кредит, давать кредит (число).
Подготовка выборки. Как видим столбцы содержат нечисловые значения, а для сети в принципе важно, чтобы значения были числами. Для этого необходимо эти столбцы нормализовать. Т. е. выразить все данные в виде чисел.
Для этого закодируем данные по следующему принципу:
Имеем следующие данные по исходной выборке:
Импортируя таблицу в
программу дедуктор, установим: сумма
кредита - непрерывный, входной тип;
стоимость кредита –
Нейросеть 1
Для обучения первой нейросети установим 134 примера (90 %) в качестве обучающего множества и 15 примеров (10%) в качестве тестирующего множества. Установим 1 скрытый слой с 18 нейронами, тип активационной функции – сигмоида, крутизна сигмоиды 0,600.
Зададим режим обратного распространения ошибки как алгоритм обучения. Коррекция весов производится после предъявления каждого примера обучающего множества. Скорость обучения 0,1. Установим параметры обучения по следующему принципу:
Запустим процесс обучения нейросети. В итоге получим сеть со следующими показателями:
Распознано примеров (всего примеров) |
Средняя ошибка |
Максимальная ошибка | |
Обучающее мн. |
129(134) |
0,01487 |
0,06766 |
Тестовое мн. |
14(15) |
0,0113 |
0,05505 |
Количество пройденных эпох:3. Состояние: обучено.
Граф нейросети:
Нейросеть 2
Для обучения первой нейросети установим 142 примера (95 %) в качестве обучающего множества и 7 примеров (5%) в качестве тестирующего множества. Установим 2 скрытых слоя с 18 нейронами на первом и 15 нейронами на втором, тип активационной функции – сигмоида, крутизна сигмоиды 1,000.
Зададим режим обратного распространения ошибки как алгоритм обучения. Коррекция весов производится после предъявления каждого примера обучающего множества. Скорость обучения 0,2. Установим параметры обучения по следующему принципу:
Запустим процесс обучения нейросети. В итоге получим сеть со следующими показателями:
Распознано примеров (всего примеров) |
Средняя ошибка |
Максимальная ошибка | |
Обучающее мн. |
142(142) |
0,001788 |
0,01583 |
Тестовое мн. |
7(7) |
0,001758 |
0,00382 |
Количество пройденных эпох:3. Состояние: обучено.
Граф нейросети:
Нейросеть 3
Для обучения первой нейросети установим 119 примеров (80 %) в качестве обучающего множества и 30 примеров (20%) в качестве тестирующего множества. Установим 3 скрытых слоя с 15 нейронами на первом и 17 нейронами на втором, 16 нейронами на третьем, тип активационной функции – сигмоида, крутизна сигмоиды 1,400.
Зададим режим обратного распространения ошибки как алгоритм обучения. Коррекция весов производится после предъявления каждого примера обучающего множества. Скорость обучения 0,1. Установим параметры обучения по следующему принципу:
Запустим процесс обучения нейросети. В итоге получим сеть со следующими показателями:
Распознано примеров (всего примеров) |
Средняя ошибка |
Максимальная ошибка | |
Обучающее мн. |
119(119) |
0,000252 |
0,001706 |
Тестовое мн. |
30(30) |
0,0003883 |
0,001805 |
Количество пройденных эпох:3. Состояние: обучено.
Граф нейросети:
Сравнивая нейросети получим:
Нейросеть 1(21*18*1) |
Нейросеть 2(21*18*15*1) |
Нейросеть 3(21*15*17*16*1) | |
Время обучения(мс.) |
811 |
1124 |
2685 |
Ошибка обучения(средняя) |
0,01487 |
0,001788 |
0,000252 |
Ошибка обучения(макс.) |
0,06766 |
0,01583 |
0,001706 |
Ошибка тестирования(средняя) |
0,0113 |
0,001758 |
0,0003883 |
Ошибка тестирования(макс.) |
0,05505 |
0,00382 |
0,001805 |
Количество скрытых слоев |
1 |
2 |
3 |
Количество строк обучающее тестовое |
149 134 15 |
149 142 7 |
149 119 30 |
Алгоритм обучения |
BackPropagation |
BackPropagation |
BackPropagation |
На основе полученных данных можно сделать вывод, что из трех представленных нейронных сетей наиболее подходит первая, так как вторая и третья сеть переобучились и запомнили входные параметры и выходные данные.