Распознавание образов с помощью нейронных сетей
Практические приложения распознавания образов. Выработка правил классификации самолетов для бомбардировщиков и истребителей в зависимости от их максимальной скорости и максимального взлетного веса. Обучение по алгоритму обратного распространения ошибки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 28.08.2013 |
Размер файла | 33,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Распознавание образов с помощью нейронных сетей
1. Описание задачи и практические приложения задачи распознавания образов
Многие существующие задачи можно интерпретировать как задачи распознавания (классификации). Например, имеется немало вариантов изображения цифры 1, но все эти изображения должны принадлежать к одному классу - классу «1»; распознавание слов в звуковой записи, воспроизводимой динамиком магнитофона - тоже пример распознавания (классификации).
Когда мы знаем, к какому классу относится каждый из учебных примеров, можно использовать управляемое обучение. Задачей для сети является ее обучение тому, как сопоставить предъявляемый образец с контрольным целевым образцом, представляющим нужный класс. Например, сети можно предъявить изображений цифры 1 и обучить сеть тому, что при этом соответствующий 1 выходной элемент должен быть включен. А выходные элементы, соответствующие другим цифрам - выключены. В этом случае входной образец может быть набором значений. Характеризующих пиксели изображения в оттенках серого, а целевой выходной образец - вектором, значения всех координат которого должны быть равными 0, за исключением координаты, соответствующей выходному элементу, представляющему 1.
Чтобы понять каким образом работает НС при решении задачи распознавания, рассмотрим тривиальную задачу и используем для решения этой задачи самый простой тип сети.
Задача состоит в выработке правил классификации самолетов для бомбардировщиков и истребителей в зависимости от их максимальной скорости и максимального взлетного веса (рис. 1). Такие правила могут быть заданы формально:
ЕСЛИ вес>0.80 И скорость < 0.55, ТО бомбардировщик,
ЕСЛИ вес<0.90 И скорость > 0.25, ТО истребитель,
Разделение, порожденное этими правилами, вполне успешно классифицирует самолеты, но оказывается не слишком гибким, если по этим правилам придется классифицировать новый самолет.
Размещено на http://www.allbest.ru/
Рис. 1
Кроме того, эти правила в указанном виде ничего не сообщают о том, насколько точной будет классификация нового самолета.
Альтернативный подход к использованию правил заключается в выводе функции классификации путем построения прямой, разделяющей два класса. Для нового самолета нам нужно просто указать точку на плоскости, соответствующую известным значениям максимальной скорости и максимального взлета и посмотреть, по какую сторону от прямой будет расположена эта точка. В данном случае для небольшого числа самолетов рассмотрены два признака, скорость и вес, поэтому можно представить данные в виде изображения на плоскости. Однако если придется иметь дело с сотнями самолетов и значительно большим числом признаков, задачу классификации в виде простой картинки представить будет невозможно.
Выход заключается в использовании функции выбора решения. Уравнение прямой, разделяющей два типа самолетов, записывается в следующем виде:
х2=1.5х1+0.5
где х1 представляет скорость, а х2 - вес. Это уравнение можно использовать для создания функции выбора решения:
Например, истребитель, представленный точкой (0.4, 0.5), даст
и функция выбора решения правильно классифицирует эту точку, как истребитель.
Предлагаемую функцию выбора решения можно моделировать с помощью нейронной сети и реализовать в виде аппаратных средств
2. Проблема разделения классов (проблема «исключающего ИЛИ»)
Для задачи классификации, например, выяснения типа самолетов, если прямая (для размерности два) или гиперплоскость (для размерности n) может разделить все образцы на соответствующие им классы, то проблема является линейной. Если же для решения проблемы разделения классов требуется несколько прямых или гиперплоскостей, то проблема называется нелинейной. Широко известным примером нелинейной проблемы является проблема моделирования отношения XOR. Определение отношения XOR приведено в таблице 1.
Таблица 1
х |
у |
z |
|
1 |
1 |
0 |
|
1 |
0 |
1 |
|
0 |
1 |
1 |
|
0 |
0 |
0 |
Проблема XOR таким образом является нелинейной, и для ее решения с помощью НС имеется две возможности: либо использовать сеть, которая будет строить две или больше прямых для разделения данных, либо изменить вид вводимых данных. Последняя возможность может превратить проблему в линейную, если к двум имеющимся вводимым признакам добавить третий и сделать пространство вводимых данных трехмерным (в результате два класса будут размещаться в двух противоположных вершинах куба). Однако данный подход не является нейронным решением, поэтому предпочтительным является работа сети в условиях нелинейной проблемы. Таким образом, мы сосредоточимся на решении, использующем две прямые для разделения классов. Такая сеть потребует элемента, каждый из которых получит на входе по два значения, чтобы представить две разделяющие прямые, и третий элемент, объединяющий информацию об этих двух прямых.
Для элементов входного слоя будут использоваться индекс i, для элементов скрытого слоя - j, а для элементов выходного слоя - k. Элементы первого слоя являются элементами ввода данных в сеть. Второй слой элементов называется скрытым слоем - скрытые элементы связаны только с другими элементами и не имеют непосредственных связей с внешней средой. Выходной слой предназначен для передачи ответа сети во внешнюю среду.
Таблица 2
Комбинированный ввод скрытого слоя |
Вывод скрытого слоя |
|||||
х |
у |
Элемент 1 |
Элемент 2 |
Элемент 1 |
Элемент 2 |
|
1 |
1 |
-0.5 |
-1.5 |
0 |
0 |
|
1 |
0 |
0.5 |
-0.5 |
1 |
0 |
|
0 |
1 |
0.53 |
-0.5 |
1 |
0 |
|
0 |
0 |
1.5 |
0.5 |
1 |
1 |
Вводимые образы преобразуются под воздействием весовых коэффициентов первого слоя и скрытых элементов. Второй слой весов, соединяющих скрытый слой с выходным слоем, тоже будет моделировать прямую, поскольку у единственного выходного элемента также имеется два вводимых значения и значение смещения. Если выходной элемент правильно указывает класс, соответствующий каждому вводимому образцу, то данные ввода для второго слоя весов должны быть линейно отделимы. Можно проверит это с помощью нанесения на плоскость точек, соответствующих выводу скрытых элементов.
Прежде чем обратиться к рассмотрению алгоритма обучения, дающего возможность сети научиться находить решения, необходимо подчеркнуть важность функции преобразования (функции активности), связываемой с каждым элементом сети. Примером нелинейной функции активности является пороговая функция. Примером линейной функции является тождественная функция, при которой вывод оказывается равным вводу.
3. Обучение по алгоритму обратного распространения ошибки
В общем случае задача обучения НС сводится к нахождению некой функциональной зависимости Y=F(X) где X - входной, а Y - выходной векторы. В общем случае такая задача, при ограниченном наборе входных данных, имеет бесконечное множество решений. Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов:
(1)
где
yj - значение j-го выхода НС
dj - целевое значение j-го выхода
p - число нейронов в выходном слое
Обучение НС производится методом градиентного спуска, т.е. на каждой итерации изменение веса производится по формуле
(2)
где h - параметр, определяющий скорость обучения.
(3)
где
yj - значение выхода j-го нейрона
Sj - взвешенная сумма входных сигналов, определяемая по формуле
При этом множитель
(4)
где
- значение i-го входа нейрона
Далее рассмотрим определение первого множителя формулы (3)
(5)
где
k - число нейронов в слое n+1.
Введем вспомогательную переменную
(6)
Тогда мы сможем определить рекурсивную формулу для определения n-ного слоя, если нам известно следующего (n+1) - го слоя.
(7)
Нахождение же для последнего слоя НС не представляет трудности, так как нам известен целевой вектор, т.е. вектор тех значений, которые должна выдавать НС при данном наборе входных значений.
(8)
И наконец запишем формулу (6) в раскрытом виде
(9)
Рассмотрим теперь полный алгоритм обучения НС:
1. подать на вход НС один из требуемых образов и определить значения выходов нейронов НС
2. рассчитать для выходного слоя НС по формуле (8) и рассчитать изменения весов выходного слоя N по формуле (9)
3. Рассчитать по формулам (7) и (9) соответственно и для остальных слоев НС,
4. Скорректировать все веса НС
(10)
распознавание самолет скорость нейронный
5. Если ошибка существенна, то перейти на шаг 1
На этапе 2 сети поочередно в случайном порядке предъявляются вектора из обучающей последовательности.
Размещено на Allbest.ru
...Подобные документы
Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Обзор задач, возникающих при разработке систем распознавания образов. Обучаемые классификаторы образов. Алгоритм персептрона и его модификации. Создание программы, предназначенной для классификации образов методом наименьшей среднеквадратической ошибки.
курсовая работа [645,2 K], добавлен 05.04.2015Обучение нейронных сетей как мощного метода моделирования, позволяющего воспроизводить сложные зависимости. Реализация алгоритма обратного распространения ошибки на примере аппроксимации функции. Анализ алгоритма обратного распространения ошибки.
реферат [654,2 K], добавлен 09.06.2014Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Понятие и особенности построения алгоритмов распознавания образов. Различные подходы к типологии методов распознавания. Изучение основных способов представления знаний. Характеристика интенсиональных и экстенсиональных методов, оценка их качества.
презентация [31,6 K], добавлен 06.01.2014Распознавание образов - задача идентификации объекта или определения его свойств по его изображению или аудиозаписи. История теоретических и технических изменений в данной области. Методы и принципы, применяемые в вычислительной технике для распознавания.
реферат [413,6 K], добавлен 10.04.2010Анализ нейронных сетей и выбор их разновидностей. Модель многослойного персептрона с обучением по методу обратного распространения ошибки. Проектирование библиотеки классов для реализации нейросети и тестовой программы, описание тестирующей программы.
курсовая работа [515,4 K], добавлен 19.06.2010Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Методы распознавания образов (классификаторы): байесовский, линейный, метод потенциальных функций. Разработка программы распознавания человека по его фотографиям. Примеры работы классификаторов, экспериментальные результаты о точности работы методов.
курсовая работа [2,7 M], добавлен 15.08.2011Распознавание образов как раздел кибернетики, развивающий теоретические основы и методы классификации и идентификации предметов. Знакомство с принципом действия сканирующих устройств. Анализ особенностей преобразования документа в электронный вид.
презентация [160,1 K], добавлен 06.01.2014Рассмотрение способов применения и основных понятий нейронных сетей. Проектирование функциональной структуры автоматизированной системы построения нейросети обратного распространения ошибки, ее классов и интерфейсов. Описание периода "бета тестирования".
дипломная работа [3,0 M], добавлен 02.03.2010Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Появление технических систем автоматического распознавания. Человек как элемент или звено сложных автоматических систем. Возможности автоматических распознающих устройств. Этапы создания системы распознавания образов. Процессы измерения и кодирования.
презентация [523,7 K], добавлен 14.08.2013Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Разработка систем автоматического управления. Свойства нейронных сетей. Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров. Формальная модель искусственного нейрона. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.
реферат [1,4 M], добавлен 05.12.2010