Содержание
4. Тестовый пример
5. Выводы
1. Анализ исходных данных и разработка технического задания
1.1 Основание и назначение разработки
Основанием данной работы является необходимость выполнения курсовой работы по дисциплине "Представление знаний в информационных системах".
Назначением работы является освоение нейронной сети.
1.2 Классификация решаемой задачи
В таблице 1 представлены некоторые проблемы, решаемые нейронными сетями [5].
Таблица 1.
Проблема | Исходные данные | Выходные данные | Задача | Применение | |||
Классификация | вектор признаков | вектор, значения всех координат которого должны быть равными 0, за исключением координаты, соответствующей выходному элементу, представляющему искомый класс(значение этой координаты должно быть равным 1) | указание принадлежности входного образа одному или нескольким предварительно определенным классам | распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови | |||
Кластеризация (классификация образа без учителя) | вектор признаков, в котором отсутствуют метки классов | - | Алгоритм основан на подобии образов и размещает близкие образы в один кластер | извлечение знаний, сжатие данных и исследование свойств данных | |||
Апроксимация функций (имеется обучающая выборка ((xl yi), (х2, у2), ..., (xn, yw)), которая генерируется неизвестной функцией, искаженной шумом) | набор обучающих векторов | рассчитанное сетью значение функции | нахождение оценки функции | ||||
Прогнозирование ( заданы N дискретных отсчетов {(y(f1), y(f2), …, y(fN)} в последовательные моменты времени t1, t2, …, tN ) | вектора данных по M признакам за T периодов времени | вектора данных по M признакам за периоды времени T+L | предсказание значения y(tN+1) в момент tN+1 | принятие решений в бизнесе, науке и технике | |||
Управление (рассматривается динамическая система, заданная совокупностью {u(t), y(t)}) | u(t) - входное управляющее воздействие | (t) - выход системы в момент времени t | расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью |
Исходными данными для данной задачи является вектора(из нулей и единиц) размерности 60, которые описывают каждую из 10 арабских цифр, выбранных для обучения. Исходные данные предлагаются в прилагаемом файле "cifri.xls"
В этом же файле содержатся и выходные вектора размерности 10, где единица в одном из 10 положений означает принадлежность классифицируемого образца к той или иной цифре.
Сеть, принимая входной вектор, должна в соответствии с ним выдать соответствующий данной последовательности выходной вектор.
Исходя из исходных, выходных данных, задачам, которые необходимо решить, данная задача является задачей классификации.
1.3 Предварительный выбор класса нейронной сети
Список классов НС, в которых существует возможность решения задачи, отражён в таблице 2 [5].
Таблица 2.
Класс НС |
сети прямого распространения (персептрон, однослойный и многослойный) |
реккурентные (однослойные и многослойные, в том числе сети Хопфилда и двунаправленная ассоциативная память) |
Из классов, которые не подходят для решения задач классификации можно указать многослойные динамические сети с возбуждением и торможением и динамикой второго порядка.
Строго и однозначно определить класс НС для этой задачи не представляется возможным, так как большинство из них в той или иной мере подходят для ее решения.
Исходя из выше сказанного остановим свой выбор на следующих классах: Персептрон, однослойный и многослойный; Сети Хопфилда; Сети Ворда; Сети Кохонена; Двунаправленная ассоциативная память(ДАП);
Проведем сравнительный анализ данных классов[5]:
Класс | Модель | Область применения | Достоинства | Недостатки |
Однослойный персептрон | отдельный персептронный нейрон вычисляет взвешенную сумму элементов входного сигнала, вычитает значение смещения и пропускает результат через жесткую пороговую функцию, выход которой равен +1 или -1 в зависимости от принадлежности входного сигнала к одному из двух классов | распознавание образов, классификация | программные или аппаратные реализации модели очень просты. Простой и быстрый алгоритм обучения | простые разделяющие поверхности (гиперплоскости) дают возможность решать лишь несложные задачи распознавания |
Многослойный персептрон с обучением по методу обратного распространения ошибки | используется алгоритм обратного распространения ошибки. Тип входных сигналов – целые и действительные, тип выходных сигналов – действительные из интервала, заданного передаточной функцией нейронов. Тип передаточной функции – сигмоидальная | распознавание образов, классификация, прогнозирование, распознавание речи. Контроль, адаптивное управление, построение экспертных систем | первый эффективный алгоритм обучения многослойных нейронных сетей | этот метод относится к алгоритмам с минимальной скоростью сходимости. Для увеличения скорости сходимости необходимо использовать матрицы вторых производных функции ошибки |
Сеть Хопфилда | используется как автоассоциативная память. Исходные данные – векторы-образцы классов. Выход каждого из нейронов подаётся на вход всех остальных нейронов. Тип входных и выходных сигналов – биполярные. Тип передаточной функции – жёсткая пороговая. | ассоциативная память, адресуемая по содержанию, распознавание образов, задачи оптимизации(в том числе, комбинаторной оптимизации). | позволяет восстановить искажённые сигналы | размерность и тип входных сигналов совпадают с размерностью и типом выходных сигналов. Это существенно ограничивает применение сети в задачах распознавания образов. При использовании сильно коррелированных векторов-образцов возможно зацикливание сети в процессе функционирования. Небольшая ёмкость, квадратичный рост числа синапсов при увеличении размерности входного сигнала |
Сети Ворда | обычная трехслойная сеть с обратным распространением ошибки с разными передаточными функциями в блоках скрытого слоя | Классифика-ция | обучение, хорошее обобщение на зашумленных данных | |
Сети Кохонена | сеть состоит из М нейронов, образующих прямоугольную решетку на плоскости. Элементы входных сигналов подаются на входы всех нейронов сети. В процессе работы алгоритма настраиваются синаптические веса нейронов. Входные сигналы (вектора действительных чисел) последовательно предъявляются сети, при этом требуемые выходные сигналы не определяются. После предъявления достаточного числа входных векторов, синаптические веса сети определяют кластеры. Кроме того, веса организуются так, что топологически близкие нейроны чувствительны к похожим входным сигналам | кластерный анализ, распознавание образов, классификация | сеть может быть использована для кластерного анализа только в случае, если заранее известно число кластеров | способна функционировать в условиях помех, так как число классов фиксировано, веса модифицируются медленно, и настройка весов заканчивается после обучения |
Двунаправленная ассоциативная память | является гетероассоциативной. Входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Входные образы ассоциируются с выходными | ассоциативная память, распознавание образов | сеть может строить ассоциации между входными и выходными векторами, имеющими разные размерности | Емкость жестко ограничена, возможны ложные ответы |
Исходя из выше сказанного сужаем выбор класса до многослойного персептрона и сети Ворда.
1.4 Предварительный выбор структуры НС
Рекомендации по выбору структуры:
На вход сети подается вектор размерности 60, так как в нашей математической модели растровое изображение делится сеткой 6х10 и представляется вектором.
На выходе сети вектор из нулей и единиц размерности 10, так как число классов равно 10.
1. количество слоев: 1, как правило, начинают с одного скрытого слоя, а затем экспериментально при необходимости увеличивают это число
2. количество нейронов:
1) во входном слое: 60, так как размер изображения 6x10;
2) в скрытом слое: 30-50% от 60, также определяется экспериментально в процессе моделирования;
3) в выходном слое: 10;
3. вид функций активации: определим далее экспериментально
Скорость обучения выберем исходя из того, что при очень большой скорости сеть может обучиться неверно, а при очень маленькой процесс обучения может быть долгим.