Классификация букв алфавита на основе нейронных сетей / ПЗ_Каримов
.doc
НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
___________ Каримов Евгений Викторович _____________________
(фамилия, имя, отчество)
Факультет ____________Информационных систем и технологий_______________
Кафедра Компьютерные технологии в проектировании и производстве_____
Группа ________________________ 02-КТ-1_______________________________
Дата защиты «10»___января _____2005 г.
________________________
Индекс 001025
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Нижегородский государственный технический
университет
Кафедра Компьютерные технологии в проектировании и производстве___
Заведующий кафедрой
_____________ Моругин С.Л.
( подпись ) ( фамилия, и.о. )
__________________
( дата )
_______ __Классификация букв алфавита на основе НС_ ________
( наименование темы проекта или работы )
_________________________________________________________________
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
______ КР-НГТУ-071900-(02-КТ-1)-15-04_______
(вид документа - проект дипломный, курсовой, исследовательская работа)
КОНСУЛЬТАНТЫ: РУКОВОДИТЕЛЬ
По___________________ ____________ Волков М.Б.
__________ ___________ (подпись) (фамилия, и.о.)
(подпись) (фамилия, и.о.) __________________(дата)
______________(дата)
-
По ____________________ СТУДЕНТ
__________ ___________ ____________ Каримов Е.В.
(подпись) (фамилия, и.о.) (подпись) (фамилия, и.о.)
______________(дата) _________(дата) ____02-КТ-1_____
-
По_____________________ (группа или шифр)
___________ ___________
(подпись) (фамилия ,и.о.) Проект защищен___________(дата)
_______________(дата)
РЕЦЕНЗЕНТ Протокол №____________________
______________ _____________
(подпись) (фамилия, и.о.) С оценкой ______________________
_______________(дата) _______________________________
2005 г.
НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра
Компьютерные технологии в проектировании и производстве
УТВЕРЖДАЮ
Зав. Кафедрой С.Л.Моругин
ЗА Д А Н И Е
на курсовое проектирование
Студент
Каримов Евгений Викторович
Тема курсового проекта
Классификация букв алфавита на основе нейронных сетей
Исходные данные к проекту
-
NeuroShell2 русское издание
-
NeuroOffice’99_rus
-
NeuroPro
Содержание пояснительной записки
-
Назначение проекта
-
Требования
-
Выбор нейронной сети и нейропакета
-
Обучение
-
Блок-схема алгоритма
-
Тестовый пример
Рекомендуемая литература
-
Стандарт предприятия СТП 1–У–НГТУ–98
-
Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – М.: Горячая линия – Телеком, 2001. – 382 с.:ил.
-
Уоссермен Ф. Нейрокомпьютерная техника – М.: Мир 1992
-
Электронный учебник по NeuroShell 2
-
Терехов В.А. Управление на основе нейронных сетей. – М.: Высшая школа,2002. – 153 с.: ил.
Руководитель Волков М.Б.
Консультант__________________
« 10 » ___января__2005 года ______________
(подпись)
Содержание
Список использованных источников……………………………….………21
|
|||||||||
|
|
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
|||||
|
|
|
|
||||||
Изм. лист |
№ докум. |
Подпись |
Дата |
||||||
Разработал |
Каримов А.А. |
|
|
Классификация букв алфавита Пояснительная записка |
Литер |
Лист |
Листов |
||
Проверил |
Волков М.Б. |
|
|
|
|
|
4 |
|
|
|
|
|
|
Кафедра КТПП гр. 02-КТ-1
|
|||||
Н. контр. |
|
|
|
||||||
Утвердил |
|
|
|
1 Анализ исходных данных и разработка ТЗ
1.1 Основание и назначение разработки
Основанием данной работы является необходимость выполнения курсовой работы по дисциплине “Представление знаний в информационных системах”. Назначением данной работы является классификация букв на основе нейронной сети.
1.2 Классификация решаемой задачи
Проанализируем некоторые проблемы, решаемые нейронными сетями. Классификация образов- задача состоит в указании принадлежности входного образа одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови. Исходными данными является вектор признаков, выходные данные - вектор, значения всех координат которого должны быть равными О, за исключением координаты, соответствующей выходному элементу, представляющему искомый класс(значение этой координаты должно быть равным 1). Кластеризация/Категоризация- при решении задачи кластеризации, которая известна также как классификация образов без учителя. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Известны случаи применения кластеризации для извлечения знаний, сжатия данных и исследования свойств данных. Исходными данными является вектор признаков, в котором отсутствуют метки классов. Аппроксимация функций - предположим, что имеется обучающая выборка ((xl yi), (х2, у2), ..., (xn, yw)), которая генерируется неизвестной функцией, искаженной шумом. Задача аппроксимации состоит в нахождении оценки этой функции. Исходные данные – набор обучающих векторов. Выход сети – рассчитанное сетью значение функции. Предсказание/прогноз - пусть заданы N дискретных отсчетов {(y(f1), y(f2), …, y(fN)} в последовательные моменты времени t1, t2, …, tN . Задача состоит в предсказании значения y(tN+1) в момент tN+1. Прогноз имеют значительное влияние на принятие решений в бизнесе, науке и технике. Исходные данные – вектора данных по M признакам за T периодов времени. Выход сети – вектора данных по M признакам за периоды времени T+L.
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
5 |
Оптимизация - многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей оптимизации является нахождение решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию. Память, адресуемая по содержанию. В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Память, адресуемая по содержанию, или ассоциативная память, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному или искаженному содержанию. Ассоциативная память чрезвычайно желательна при создании перспективных информационно-вычислительных систем. Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, a y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью.
Исходными данными для данной задачи является вектора(из нулей и единиц) размерности 100, которые описывают каждую из 26 букв английского алфавита, выбранных для обучения. Исходные данные предлагаются в прилагаемом файле “alphavit.xls” В этом же файле содержатся и выходные вектора размерности 26, где единица в одном из 26 положений означает принадлежность классифицируемого образца к той или иной букве. Сеть, принимая входной вектор, должна в соответствии с ним выдать соответствующий данной последовательности выходной вектор. Исходя из исходных данных данная задача является задачей классификации.
1.3 Предварительный выбор класса нейронной сети
Опираясь на [Терехов] можно сказать, что данную задачу позволяют решить несколько классов НС. Сети прямого распространения, такие как, персептрон, однослойный и многослойный. Рекуррентные сети: однослойные и многослойные, в том числе сети Хопфилда и двунаправленная ассоциативная память. Из классов, которые не подходят для решения задач классификации можно указать многослойные динамические сети с возбуждением и торможением и динамикой второго порядка.
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
6 |
Строго и однозначно определить класс НС для этой задачи не представляется возможным, так как большинство из них в той или иной мере подходят для ее решения. Исходя из выше сказанного остановим свой выбор на следующих классах:
Проведем сравнительный анализ данных классов: 1.3.1 Однослойный персептрон. Модель: отдельный персептронный нейрон вычисляет взвешенную сумму элементов входного сигнала, вычитает значение смещения и пропускает результат через жесткую пороговую функцию, выход которой равен +1 или -1 в зависимости от принадлежности входного сигнала к одному из двух классов. Области применения: распознавание образов, классификация. Недостатки: простые разделяющие поверхности (гиперплоскости) дают возможность решать лишь несложные задачи распознавания. Преимущества: программные или аппаратные реализации модели очень просты. Простой и быстрый алгоритм обучения.
1.3.2 Многослойный персептрон с обучением по методу обратного распространения ошибки.
Модель: используется алгоритм обратного распространения ошибки. Тип входных сигналов – целые и действительные, тип выходных сигналов – действительные из интервала, заданного передаточной функцией нейронов. Тип передаточной функции – сигмоидальная. Область применения: распознавание образов, классификация, прогнозирование, распознавание речи. Контроль, адаптивное управление, построение экспертных систем. Достоинства: первый эффективный алгоритм обучения многослойных нейронных сетей. Недостатки: этот метод относится а алгоритмам с минимальной скоростью сходимости. Для увеличения скорости сходимости необходимо использовать матрицы вторых производных функции ошибки.
1.3.3 Сеть Хопфилда
Модель: используется как автоассоциативная память. Исходные данные – векторы-образцы классов. Выход каждого из нейронов подаётся на вход всех остальных нейронов. |
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
7 |
Тип входных и выходных сигналов – биполярные. Тип передаточной функции – жёсткая пороговая. Область применения: ассоциативная память, адресуемая по содержанию, распознавание образов, задачи оптимизации(в том числе, комбинаторной оптимизации). Достоинства: позволяет восстановить искажённые сигналы. Недостатки: размерность и тип входных сигналов совпадают с размерностью и типом выходных сигналов. Это существенно ограничивает применение сети в задачах распознавания образов. При использовании сильно коррелированных векторов-образцов возможно зацикливание сети в процессе функционирования. Небольшая ёмкость, квадратичный рост числа синапсов при увеличении размерности входного сигнала.
1.3.4 Сети Ворда Модель: обычная трехслойная сеть с обратным распространением ошибки с разными передаточными функциями в блоках скрытого слоя. Область применения: классификация. Достоинства: быстрое обучение, хорошее обобщение на зашумленных данных.
1.3.5 Сети Кохонена Модель: сеть состоит из М нейронов, образующих прямоугольную решетку на плоскости. Элементы входных сигналов подаются на входы всех нейронов сети. В процессе работы алгоритма настраиваются синаптические веса нейронов. Входные сигналы (вектора действительных чисел) последовательно предъявляются сети, при этом требуемые выходные сигналы не определяются.После предъявления достаточного числа входных векторов, синаптические веса сети определяют кластеры. Кроме того, веса организуются так, что топологически близкие нейроны чувствительны к похожим входным сигналам. Области применения: кластерный анализ, распознавание образов, классификация. Недостатки: сеть может быть использована для кластерного анализа только в случае, если заранее известно число кластеров. Преимущества: способна функционировать в условиях помех, так как число классов фиксировано, веса модифицируются медленно, и настройка весов заканчивается после обучения .
1.3.6 Двунаправленная ассоциативная память
Модель: является гетероассоциативной. Входной вектор поступает на один набор нейронов, а соответствующий выходной вектор вырабатывается на другом наборе нейронов. Входные образы ассоциируются с выходными.
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
8 |
Область применения: ассоциативная память, распознавание образов. Достоинства: сеть может строить ассоциации между входными и выходными векторами, имеющими разные размерности. Недостатки: Емкость жестко ограничена, возможны ложные ответы.
Исходя из выше сказанного сужаем выбор класса до многослойного персептрона и сети Ворда.
1.4 Предварительный выбор структуры нейронной сети Понятие структуры НС включает в себя
Многослойный персептрон обладает тем большими интеллектуальными способностями, чем больше число связей внутри сети. На вход сети подается вектор размерности 100, так как в нашей математической модели растровое изображение делится сеткой 10х10 и представляется вектором. На выходе сети вектор из нулей и единиц размерности 26, так как число классов равно 26. Соответственно число нейронов входного слоя – 100, выходного слоя – 26. Определим оптимальное число слоев для количества скрытых нейронов, равного половине числа входных. Число связей при 1 скрытом слое равно: 100*50+50*4=5200 при 2 скрытых слоях: 100*25+25*25+25*4=3225 при 3 слоях: 100*18+18*16+16*16+16*4=2408 Таким образом оптимальное число скрытых слоев равно 1. Вид функции активации определим далее экспериментально. Скорость обучения выберем исходя из того, что при очень большой скорости сеть может обучиться неверно, а при очень маленькой процесс обучения может быть долгим.
Выбор пакета основывался на следующих принципах: • Доступность пакета; • Полнота пакета (наличие достаточного количества параметров для построения и обучения нейронных сетей);
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
9 |
• Простота использования; • Русифицированная документация по пакету.
Проведем сравнительный анализ нескольких пакетов:
1.5.1 Нейропакет NeuroPro
Возможности программы: 1) Работа (чтение, запись, редактирование) с файлами данных, представленными в форматах *.dbf (СУБД dBase, FoxPro, Clipper) и *.db (СУБД Paradox). Создание слоистых нейронных сетей для решения задач прогнозирования: • число слоев нейронов - до 10; • число нейронов в слое - до 100; • нейроны: с нелинейной сигмоидной функцией активации f(A) = А/(|А| + с), крутизна сигмоиды может задаваться отдельно т для каждого слоя нейронов. Нейронная сеть может одновременно решать несколько задач прогнозирования; для каждого из выходных сигналов могут быть установлены свои требования к точности прогнозирования. 2) Обучение нейронной сети производится по принципу двойственного функционирования с применением одного из следующих методов оптимизации: • градиентного спуска; • модифицированного ParTan - метода; • метода сопряженных градиентов. Руководство: есть. Наличие пакета: есть.
1.5.2 Нейропакет NeuroShell 2
Не очень хорошо продуман интерфейс пользователя. Обучающая выборка формируется достаточно просто, поддерживает импорт таблиц с входными данными в формате Excel или Lotus. Наличие пакета: есть. Руководство: есть(русифицированное). Кроме русскоязычного руководства, есть учебник по NeuroShell 2. Нейропакет реализует как необходимые для решения задачи сети, так и некоторые другие: многослойную сеть, сети Кохонена, вероятностные нейронные сети, НС с общей регрессией и сети метода группового учёта аргументов.
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
10 |
|
1.5.3 Нейропакет Statistica Neural Networks
Нейропакет реализует многослойные сети, сети Кохонена, линейные сети, радиальные базисные функции (RBF), вероятностные и обобщенно-регрессионные нейронные сети PNN/GRNN. Формирование обучающей выборки достаточно просто. Работает с текстовыми файлами, файлами БД, буфером обмена. Проблемы с использованием пакета на моей машине. Руководство: есть. Пакет на английском языке. Наличие пакета: есть.
Исходя из сравнительного анализа нейропакетов останавливаем свой выбор на продукте Neuro Shell 2.
1.6 Минимальные требования к информационной и программной совместимости
Для решения задачи необходима установленная операционная система MS Windows 98 и выше, либо любая другая, поддерживающая NeuroShell2 русское издание. На компьютере должен быть установлен пакет NeuroShell2 русское издание.
1.7 Минимальные требования к составу и параметрам технических средств
• IBM – совместимый персональный компьютер класса 486/66 или выше (желательно Pentium II или выше); • 32 Mb RAM; • Видеоадаптер SVGA; • Монитор VGA и выше; • Клавиатура, мышь;
|
|
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
11 |
2. Обучение нейронной сети
2.1. Окончательный выбор нейронной сети
Окончательный выбор нейронной сети основан на анализе полученных в результате эксперимента данных для средней ошибки <0,000001.
Таблица 1 Окончательный выбор нейронной сети
Из анализа таблицы 1 следует, что наилучшей моделью является сеть Ворда с двумя блоками скрытого слоя, имеющеми разные передаточные функции, с обходным соединением.
2.2. Окончательный выбор структуры нейронной сети
Окончательный выбор структуры нейронной сети основан на анализе полученных экспериментально результатов для средней ошибки < 0,000001. Изменяем количество скрытых нейронов и передаточные функции скрытых блоков для выбора оптимальной структуры сети. Передаточная функция блока 1 – Б1. Передаточная функция блока 2 – Б2.
Таблица 2 Окончательный выбор структуры нейронной сети
|
||||||||||||||||||||||||||||||||||||||||||||||
КР-НГТУ-071900-(02-КТ-1)-15-05 |
Лист |
|||||||||||||||||||||||||||||||||||||||||||||
12 |