Главная страница
Навигация по странице:

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

  • 1.2 Выбор класса НС

  • Тип сети Название Область применения

  • 1.3 Выбор структуры НС

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

  • 2. Обучение НС

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

  • инф_системы_урсовик. Содержание 1Анализ исходных данных и разработка тз


    Скачать 0.66 Mb.
    НазваниеСодержание 1Анализ исходных данных и разработка тз
    Дата25.04.2018
    Размер0.66 Mb.
    Формат файлаdoc
    Имя файлаинф_системы_урсовик.doc
    ТипДокументы
    #42187

    Содержание




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

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

    1.2Выбор класса НС...............................................................................................................4

    1.3Выбор структуры НС........................................................................................................5

    1.4Выбор пакета НС...............................................................................................................5

    1.5Выбор алгоритма обучения..............................................................................................7

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

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

    2Обучение НС....................................................................................................................9

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

    2.2Формирование исходных данных....................................................................................9

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

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

    Литература…………………………………………………………………………………...13

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


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

    Задачи, решаемые нейронными сетями, можно разделить на категории:

    - Оптимизация

    - Управление

    - Аппроксимация функций

    - Предсказание/прогноз

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

    - Классификация образов

    - Кластеризация / категоризация

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

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

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

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

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

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

    Кластеризация/категоризация. При решении задачи кластеризации, отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер.
    Задача распознавания рисунка сетчатки глаза состоит в следующем. Имеется несколько рисунков сетчатки (образов), возможно искажённых, которые подаются на вход обученной нейронной сети. Предположим что на вход сети подан какой то конкретный образ. Сеть должна определить, на какой из известных ей образов похож распознаваемый образ. Таким образом, можно сделать вывод, что задача распознавания рисунка сетчатки глаза относиться к задачам классификации образов.
    1.2 Выбор класса НС

    Главным критерием выбора класса нейронной сети является её способность к решению задачи классификации образов. Ещё одним критерием является способность нейронной сети к быстрому и качественному обучению.

    Тип сети

    Название

    Область применения

    Распознавание образов

    Классификация, кластеризация данных

    Аппроксимация функций

    Прогноз

    Оптимизация

    Ассоциативная память

    Статические

    Сети с общей регрессией

    +

    +

    +

    -

    -

    -

    Персептроны

    +

    +

    +

    +

    -

    +

    Динамические

    Сеть Хопфилда

    +

    -

    -

    +

    +

    +

    Сеть Кохена

    +

    +

    -

    +

    +

    +

    Двунаправленная ассоциативная память

    +

    +

    -

    +

    -

    +

    Сеть встречного распространения

    +

    +

    -

    -

    -

    -

    Сеть теории адаптивного резонанса

    +

    +

    -

    -

    -

    -

    Нетрадиционные

    Имитация отжига

    -

    -

    -

    -

    +

    -

    Метод эластичной сети

    -

    -

    -

    -

    +

    -

    Растущие нейронные сети

    -

    -

    -

    -

    +

    -

    Нечеткие структуры

    Связанные сети

    +

    +

    -

    -

    -

    -

    Сеть теории адаптивного резонанса

    +

    +

    -

    -

    -

    -


    Для решения поставленной задачи будем использовать сеть с общей регрессией (НСОР). Эти сети известны своей способностью к быстрому обучению на "рыхлых" наборах данных, кроме того, на многих типах задач они ведут себя намного лучше, чем сети с обратным распространением ошибки. Здесь нет таких параметров тренировки, как скорость обучения и момент, характерные для сетей с обратным распространением ошибки, однако есть параметр сглаживания, который определяет насколько точно предсказания сети описывают данные в тренировочном наборе.

    1.3 Выбор структуры НС
    Нейронная сеть с общей регрессией представляет собой сеть с тремя слоями: входным слоем, скрытым слоем и выходным слоем.

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

    1. Количество выходов нейронной сети равно числу тренировочных наборов, каждый выход соответствует конкретному набору. Если значение на каком-либо выходе является максимальным по отношению к другим, то этот выход является "победителем" распознавания.

    2. Один выход нейронной сети. Результатом распознавания на выходе, будет номер распознанного набора, или близкое к этому номеру значение (в зависимости от того, на сколько точно распознан тестовый набор).

    Выберем второй вариант - один выход нейронной сети.

    1.4 Выбор пакета НС
    Задачу классификации образов можно решить в следующих программных продуктах:

    - QwikNet 32

    - BrainMaker

    - NeuroShell 2

    - NeuralWorks Professional II/ Plus

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

    - должны быть различ­ные архитектуры нейронных сетей

    - должна работать в операционной системе Windows

    - простота формирования обучающей выборки

    - понятный и простой интерфейс

    - русскоязычный интерфейс

    QwikNet32 - реализуется лишь один тип нейронной сети - многослойная сеть прямого распространения с числом скрытых слоев до 5 и с набором из 6 алгоритмов обучения (модификации алгоритма обратного распространения ошибки). Рассмотренный пакет имеет много привлекательных черт: он компактен, достаточно прост в изучении и обращении, имеет хо­рошие иллюстративные графические возможности, позволяет со­хранять обученную нейронную сеть в кодах языка C, имеет доста­точно хорошие возможности по моделированию и обучения ней­ронных сетей. К недостаткам пакета следует отнести необ­ходимость использования, по сути, ручного масштабирования дан­ных и опроса сети.

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

    NeuroShell2 – представляет собой универсальный нейропакет для моделирования нескольких наиболее известных нейронных парадигм: многослойных сетей, сетей Кохонена и т. д.. Применяется для решения задач по классификации образов, позволяет

    строить приложения для решения сложных задач, не занимаясь программированием. NeuroShell предоставляет хорошие средства обмена данными с другими приложениями. Он обеспечивает обмен данными, представленными в текстовом бинарном виде, а также в наиболее популярных финансовых форматах MataStock и DowJones. Нейропакет имеет генератор исходного кода на языках Visual С и Visual Basic. Прост в использовании за счет жесткой последовательности действий по созданию и обучению нейронной сети.

    NeuralWorksProfessionalII/ Plus - является мощным средством для моделирования нейронных сетей. В нем реализованы 28 нейрон­ных парадигм, а также большое количество алгоритмов обучения. Дополнительный модуль UDND (User Define Neural Dynamics) по­зволяет создавать собственные нейронные структуры. NeuralWorks Professional имеет хоро­шую систему визуализации данных: структуры нейронной сети, изменения ошибки обучения, изменения весов и их корреляции в процессе обучения. Последнее является

    уникальным свойством пакета и полезна при анализе поведения сети. В NeuralWorks Professional можно интегрировать внешние программные модули. Он имеет встроенный генератор кода, под­держивающий компилятор Microsoft Visual C++.

    Выбираем пакет NeuroShell 2 по следующим причинам:

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

    - представляет собой 32-разрядный продукт, работающий под Windows 95/98/NT, все модули и дополнения поддерживают длинные имена файлов

    - модуль импорта файлов позволяет производить импорт рабочих листов из электронных таблиц Microsoft Excel, текстовых и двоичных файлов

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

    - программа имеет русскоязычный интерфейс и русский файл справки, что существенно облегчает работу с ней

    1.5 Выбор алгоритма обучения

    Существует множество различных алгоритмов обучения, которые делятся на два больших класса: Детерминистские и Статистические (стохастические).

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

    - Метод построения эталонов

    - Метод дробящихся эталонов

    - Метод ближайших соседей

    - Метод потенциальных функций

    - Кластерный анализ

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

    - Метод ближайших соседей

    - Метод максимума правдоподобия

    - Минимаксный метод

    - Метод Неймана-Пирсона
    Нейронные сети с общей регрессией (НСОР) используют метод построения эталонов, относящийся к детерминистским алгоритмам.

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


    Для решения задачи распознавания рисунка сетчатки глаза, необходимо:

    - Операционная система Windows

    - Пакет NeuroShell 2

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


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

    - Персональный компьютер класса 486/66

    - 25 Mb свободного пространства на жестком диске

    - 16 Mb оперативной памяти

    - Видеоадаптер SVGA

    - Монитор VGA

    - Мышь

    - Клавиатура
    2. Обучение НС
      1. Блок-схема алгоритма обучения



    Для каждого класса по обучающей выборке строится эталон, имеющий значения признаков:



    По существу, эталон – это усреднённый по обучающей выборке абстрактный объект. Абстрактный он потому, что может не совпадать не только ни с одним объектом обучающей выборки, но и ни с одним объектом генеральной совокупности.

    Распознавание осуществляется следующим образом. На вход системы поступает объект, принадлежность которого к тому или иному образу системе неизвестна. От этого объекта измеряются расстояния до эталонов всех образов, и система относит его к тому образу, расстояние до эталона которого минимально. Расстояние измеряется в той метрике, которая введена для решения определённой задачи распознавания.

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



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


    Устройство сканирования позиционирует лазер на светлый участок – диск зрительного нерва.

    При выполнении сканирования, свет лазера отражается сосудами глазного дна.

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

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

    Для формирования входных данных, была разработана программа Retina Scan, которая считывает цвет пикселей, преобразует его в биты и заносит в текстовый файл pattern.txt. Затем данные переносятся в нейронную сеть с помощью функции импорта файлов пакета NeuroShell 2.

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

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



    Для решения задачи был выбран модуль “Нейронные сети для профессионалов”, который предоставляет опытному пользователю возможность создавать и применять нейронные сети множества разнообразных архитектур при более тщательном контроле за процессом со стороны пользователя.

    Импорт файлов: импортируем входные данные в файл retina.pat из текстового файла, созданного программой.

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

    Выбор входов/выходов: отмечаем столбцы, содержащие входные и выходные данные соответственно и устанавливаем значения минимумов и максимумов.

    Выделение тестового набора: для задач классификации тестовый набор не требуется.

    Проектирование:

    - архитектура – сеть с общей регрессией (400 нейронов во входном слое, 5 в скрытом, т.к. 5 тренировочных наборов и 1 нейрон в выходном слое).

    - параметр сглаживания – равен 0,3 по умолчанию.

    - метрика расстояния – простая (Евклидова), рекомендуется для большинства сетей, так как она лучше работает.

    - калибровка – не нужна, так как отсутствует тестовый набор.

    Обучение:

    - подстройка параметра сглаживания – так как калибровка не используется, то выбираем “Оставить значение по умолчанию”.

    - остальные параметры оставляем по умолчанию.

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

    Анализ качества обучения производился при помощи вышеупомянутой программы Retina Scan. Для этого, с помощью функции генерации автономных систем пакета NeuroShell 2, был создан автономный файл обученной сети retina.def. Доступ к обученной сети производиться через динамическую библиотеку (NS2-32.DLL).

    На вход сети подаем изменённый набор данных (данные с шумом) и проводим распознавание. Ответом сети является номер класса (номер распознанного набора).


    В ходе тестирования сети выяснилось, что сеть способна распознавать образы с искажением до 5% пикселей (20 пикселей из 400). Таким образом, можно сделать вывод, что нейронная сеть обучилась хорошо и способна с приемлемой точностью производить распознавание рисунков сетчатки глаза.
    Литература



    1. Короткий C. “Нейронные сети: основные положения”.

    2. Виталий Дзюба, Петр Яганов “Интеллектуальные системы распознавания образов”.

    3. Волошин Г.Я. “Методы распознавания образов”. 2000 г.

    4. Горелик А.Л., Скрипкин В.А. “Методы распознавания” – М.: Высш. шк., 1977.

    5. Материалы сайта International Biometric Group (http://www.biometricgroup.com)

    6. Материалы сайта Retinal Technologies (http://www.retinaltech.com)







    написать администратору сайта