Рефетека.ру / Коммуникации и связь

Дипломная работа: Классификация римских цифр на основе нейронных сетей

ЗАДАНИЕ

на курсовое проектирование

Тема курсового проекта

Классификация римских цифр на основе нейронных сетей

Исходные данные к проекту

1.       NeuroShell2 русское издание

2.       NeuroShell Classifier v2.0

3.       NeuroPro

Содержание пояснительной записки

1.       Назначение проекта

2.       Требования

3.       Выбор нейронной сети и нейропакета

4.       Обучение

5.       Блок-схема алгоритма обучения

6.       Тестовый пример

Рекомендуемая литература

1.       Стандарт предприятия СТП 1–У–НГТУ–98

2.       Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – М.: Горячая линия – Телеком, 2001. – 382 с.:ил.

3.       Электронный учебник по NeuroShell 2

4.       Каллан Р. Основные концепции нейронных сетей


Содержание

1       Анализ исходных данных и разработка ТЗ

1.1  Основание и назначение разработки

1.2  Классификация решаемой задачи

1.3  Предварительный выбор класса нейронной сети

1.4  Предварительный выбор структуры нейронной сети

1.5  Выбор пакета нейронной сети

1.6  Минимальные требования к информационной и программной совместимости

1.7  Минимальные требования к составу и параметрам технических средств

2       Обучение нейронной сети

2.1  Формирование исходных данных

2.2  Окончательный выбор модели, структуры нейронной сети

2.3  Выбор параметров обучения

2.4  Оптимальные параметры обучения

2.5  Блок-схема алгоритма обучения

3       Анализ качества обучения

Вывод

Список использованных источников


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.

Dоптимизация:

многочисленные проблемы в математике, статистике, технике, науке, медицине и экономике могут рассматриваться как проблемы оптимизации. Задачей оптимизации является нахождение решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию.

E - Память, адресуемая по содержанию:

В модели вычислений фон Неймана обращение к памяти доступно только посредством адреса, который не зависит от содержания памяти. Более того, если допущена ошибка в вычислении адреса, то может быть найдена совершенно иная информация. Память, адресуемая по содержанию, или ассоциативная память, доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному или искаженному содержанию. Ассоциативная память чрезвычайно желательна при создании перспективных информационно-вычислительных систем.

F- Управление:

Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, a y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью.

Исходными данными для данной задачи является вектора(из нулей и единиц) размерности 63, которые описывают каждую из 9 римских цифр, выбранных для обучения. Исходные данные предлагаются в прилагаемом файле “данные для нейросети”.

В этом же файле содержатся и выходные вектора размерности 9, где единица в одном из 9 положений означает принадлежность классифицируемого образца к той или иной букве.

Сеть, принимая входной вектор, должна в соответствии с ним выдать соответствующий данной последовательности выходной вектор.

Исходя из исходных данных, данная задача относится к классу A- задача классификации.

1.3 Предварительный выбор класса НС

 

Рассмотрим классификацию искусственных нейронных сетей по Терехову (Управление на основе нейронных сетей). В книге говорится о различиях вычислительных процессов в сетях, частично обусловленных способом взаимосвязи нейронов, поэтому выделяют следующие виды сетей , при помощи которых можно решить данную задачу:

·                сети прямого распространения (feedforward);

·                сети с обратными связями (feedforward /feedback);

·                гибридные сети (fuzzy).

·                некоторые модели сетей, основанных на статических методах

Для решения нашей задачи наиболее подходящими классами являются классы статических и динамических сетей, так как первые позволяют довольно эффективно решать достаточно широкий диапазон задач (наиболее известными и используемыми являются многослойные нейронные сети , где искусственные нейроны расположены слоями. ), а вторые из-за обратных связей состояние сети в каждый момент времени зависит от предшествующего состояния, что позволяет эффективно обучать сеть и подстраивать весовые коэффициенты (наиболее известны сети Хопфилда, т. к. в них происходит обучение по обратному распространению ошибок). Также подходят сети, основанные на статических методах (среди них можно выделить вероятностную нейронную сеть). Сети, с помощью которых нельзя решить поставленную задачу: нечёткие структуры (fuzzy), среди которых можно выделить сети («самоорганизующихся карт») Кохонена, а так же сети с «радиальными базисными функциями» активации.

Остановим свой выбор на следующих видах сетей:

·             многослойный персептрон

·             сети Ворда

·             сети Кохонена

·             вероятностная нейронная сеть

1.4 Предварительный выбор структуры НС

Понятие структуры НС включает в себя

·          Количество слоев,

·          Количество нейронов в каждом слое,

·          Вид функции активации,

·          Обратные связи

Входные данные для всех четырех типов сетей одинаковые, и представляют собой вектора из 0 и 1, полученный в результате деления растрового изображения сеткой 7х9.

Выходные данные для всех сетей кроме сети Кохонена – вектор из нулей и единиц размерности 9, так как число классов равно 9.

Многослойный персептрон, как и сети Ворда, обладает тем большими интеллектуальными способностями, чем больше число связей внутри сети.

Число скрытых нейронов для этих классов сетей определим по формуле:

N скрытых нейронов = 1/2 (Nвходов + Nвыходов) + корень квадратный из количества тренировочных примеров.

Число входных нейронов 63. Число выходных 9. По формуле число скрытых нейронов 48.

Определим число слоев:

Число связей при 1 скрытом слое равно (между слоями каждый нейрон соединен с каждым):

63*48+48*9=3456

при 2 скрытых слоях:

63*24+24*24+24*9=2304

при 3 слоях:

63*16+16*16+16*16+16*9=1664

Таким образом оптимальное число скрытых слоев равно 2.

В вероятностной нейронной сети и сети Кохонена выбор числа входных нейронов равен числу примеров (в нашем случае 63), а выходных – числу категорий (в нашем случае 9).

Для ВНС число скрытых нейронов должно быть не менее числа примеров (в нашем случае 10 – на 1 боле числа примеров).

вид функций активации: зависит от окончательного выбора модели и структуры (наиболее подходящими являются логистическая (сигмоидальная) и линейная).

Скорость обучения выберем исходя из того, что при очень большой скорости сеть может обучиться неверно, а при очень маленькой процесс обучения может быть долгим.


1.5 Выбор пакета НС

 

Выбор пакета основывался на следующих принципах:

• Доступность пакета;

• Полнота пакета (наличие необходимых моделей сети, достаточного количества параметров для построения и обучения нейронных сетей);

• Простота использования;

• Русифицированная документация

• Работа с .bmp файлами

Опираясь на [Круглов, Борисов] проведем сравнительный анализ нескольких пакетов:

1)     NeuroPro

2)     NeuroShell 2

3)     NeuroShell Classifier v2.0

4)     QwikNet32 v2.1

5)     Neural Planner

Нейропакет NeuroPro

Возможности программы:

1) Работа (чтение, запись, редактирование) с файлами данных, представленными в форматах *.dbf (СУБД dBase, FoxPro, Clipper) и *.db (СУБД Paradox).

Создание слоистых нейронных сетей для решения задач прогнозирования:

• число слоев нейронов - до 10;

• число нейронов в слое - до 100;

• нейроны: с нелинейной сигмоидальной функцией активации f(A) = А/(|А| + с), крутизна сигмоиды может задаваться отдельно т для каждого слоя нейронов.

Нейронная сеть может одновременно решать несколько задач прогнозирования; для каждого из выходных сигналов могут быть установлены свои требования к точности прогнозирования.

2) Обучение нейронной сети производится по принципу двойственного функционирования с применением одного из следующих методов оптимизации:

• градиентного спуска;

• модифицированного ParTan - метода;

• метода сопряженных градиентов.

Работа с .bmp файлами: нет.

Руководство: есть.

Наличие пакета: есть.

Нейропакет NeuroShell 2

Для начинающего пользователя непонятный интерфейс.

Обучающая выборка формируется достаточно просто, поддерживает импорт таблиц с входными данными в формате Excel или Lotus.

Работа с .bmp файлами: нет.

Наличие пакета: есть.

Руководство: есть (русифицированное).

Кроме русскоязычного руководства, есть учебник по NeuroShell 2.

Нейропакет реализует широкий круг типов нейронных сетей.

Нейропакет NeuroShell Classifier v2.0

Этот пакет является средством разработки нейронносетевых приложений, для решения проблем классификации. Поддержка генетических алгоритмов.

Работа с .bmp файлами: нет.

Руководство: есть.

Пакет на английском языке.

Наличие пакета: есть.

Нейропакет QwikNet32 v2.1

В QwikNet реализуется лишь один тип нейронной сети - многослойная сеть прямого распространения с числом скрытых слоев до 5 и с набором из 6 алгоритмов обучения (модификации алгоритма обратного распространения ошибки).

Работа с .bmp файлами: нет.

Руководство: есть (русифицированное).

Пакет на английском языке.

Наличие пакета: нет.

Нейропакет Neural Planner

Предназначен для решения различных задач классификации объектов, обработки значений случайных процессов, решения некоторых математических задач, создания эффективных экспертных систем.

Работа с .bmp файлами: нет.

Руководство: есть (русифицированное).

Пакет на английском языке.

Наличие пакета: нет.

Таблица 1 Сравнение пакетов