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

дипломная работа

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

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

Данный пакет позволяет подавать на вход нейросети порядка 32000 значений для одной обучающей пары, но необходимо ограничить размер входного изображения, т.к. MS Excel XP имеет максимальное число столбцов 256.

При создании входного вектора мы руководствовались несколькими критериями:

· Макимальная различимость

· Минимальный размер

Изначально рассматривались различные варианты размерности входного вектора.

Минимально для различимости символов высота изображения цифры требуется 7 пикселей, т.к. 2 пиксела идет на изображение подчеркивания (это является особенностью написания римских цифр), а оставшиеся 5 на сам символ. На сетке меньшей высоты теряется различимость. Для определения второго параметра изображения мы брали в расчет те цифры, для написания которых требуется максимальная ширина сетки: это цифры 7 и 8. При написании этих цифр минимальной оказалась ширина = 9 пикселам. Дело в том что эти цифры состоят из нескольких символов: основной символ, изображающий цифру 5 либо 10, а также дополнительные, которые показывают сколько к основной цифре нужно добавить (либо отнять) единиц, чтобы получилась искомая. А поскольку именно в эти цифры входит максимально для наших данных по два дополнительных символа, два пиксела мы оставляем на промежуток между символами и основной символ, нам потребовалось не менее 9 пикселей.

Таким образом для моделирования был выбран размер изображения 7x9 пикселей.

Обучающая пара содержит 63+9=72 значения.

Представили 144 объекта различной формы.

В Excel получили файл, таблицу с обучающими параметрами.

Наш объект заносится в таблицу при помощи нулей и единиц, т.е. формируется соответствующий массив, записанный в одну строку, также в процессе обучения используются реальные выходные значения, которые записаны как одно значения в конце строки сформированного массива. Объекты, расположение которых должно быть выучено сетью, представляются размерной сеткой (7x9), где темным пикселям (частям объекта) соответствуют 1, а белым (пустое пространство) - 0.

изображение римской цифры 9.

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

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

По рекомендациям разработчиков пакета критерием остановки обучения будет:

события после минимума > 20000, так как с использованием встроенной калибровки этот критерий позволяет избежать переучивания сети и запоминания тестовых примеров.

Рассмотрим наиболее подходящие сети для решения данной задачи. Основные параметры, такие как виды функций активации: скорость обучения (=0,1),веса (=0,3),момент равен (=0,1)

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

Стандартные сети.

Попробуем провести обучение с помощью модели 4-хслойной сети, в которой каждый слой соединён только с предыдущим слоем.

Структура НС:

1. количество слоев: 4

2. количество нейронов:

а) во входном слое: 63

б) в выходном слое: 9

3. вид функций активации:

а) входной слой - линейная [0;1]

б) выходной слой - логистическая

В таблице отражена зависимость минимальной средней ошибки на тренировочном и тестовом наборах от количества нейронов в скрытом слое.

Скорость обучения = 0,1; момент = 0,1; скрытые слои - слой 1 - 24 нейрона, слой 2 - 24 нейрона.

Таблица данных

Время обучения

Функции активации

Min средняя ошибка

1слой

2слой

на тренировочном наборе

на тестовом наборе

"right">03:18

"right">логистическая

"right">логистическая

0,0000036

0,0002548

"right">08:03

Гауссова

Гауссова

0,0000006

0,0003652

"right">00:05

линейная

линейная

0,5047548

0,7126971

"right">01:01

компГауссова

компГауссова

0,0000059

0,0004709

Исходя из таблицы, оптимальной структурой для данной сети являестся сесть с Гауссовыми активационными функциями.

Вых1

Вых2

Вых3

Вых4

Вых5

Вых6

Вых7

Вых8

Вых9

R квадрат

1,0000

1,0000

1,0000

1,0000

1,0000

1,0000

0,9995

1,0000

0,9999

СКО

0,002

0,002

0,001

0,001

0,001

0,002

0,007

0,001

0,004

Относ СКО %

0,155

0,195

0,073

0,057

0,082

0,166

0,722

0,084

0,351

НС после обучения показывает не очень хорошие обобщающие данные. Неплохие обобщающие данные сеть в середине интервала.

Скорость обучения и начальный момент на качество обобщения не влияют.

Сеть Ворда с двумя блоками в скрытом слое.

Структура НС:

1. количество слоев: 4

2. количество нейронов:

а) во входном слое: 63

б) в выходном слое: 9

В таблице отражена зависимость минимальной средней ошибки на тренировочном и тестовом наборах и времени обучения от вида функций активации.

Скорость обучения = 0,1; момент = 0,1

Таблица данных

1 скрытый слой

2 скрытый слой

Min средняя ошибка

Время обучения

Функция активации

Кол-во нейронов

Функция активации

Кол-во нейронов

на тренировочном наборе

на тестовом наборе

Комп.Гауссова

24

Комп. Гауссова

24

0,0000016

0,0005358

04:42

Гауссова

24

Гауссова

24

0,0000017

0,0019529

03:58

логистическая

24

логистическая

24

0,0000058

0,0003688

02:18

логистическая

24

Комп.Гауссова

24

0,0000043

0,0006007

01:35

Исходя из таблицы дла данной сети оптимальными будут гауссовы функции активации.

Вых1

Вых2

Вых3

Вых4

Вых5

Вых6

Вых7

Вых8

Вых9

R квадрат

1.0000

0.9992

0.9999

1.0000

0.9999

1.0000

0.9995

1.0000

1.0000

СКО

0.002

0.009

0.003

0.001

0.003

0.001

0.021

0.001

0.002

Относ СКО %

0.152

0.910

0.275

0.107

0.320

0.133

2.112

0.128

0.153

Данная сеть после обучения показывает хорошие обобщающие данные.

Скорость обучения и начальный момент на качество обобщения не влияют.

Сеть Ворда с двумя блоками в скрытом слое и с обходным соединением

Структура НС:

1. количество слоев: 4

2. количество нейронов:

а) во входном слое: 63

б) в выходном слое: 9

3. активационная функция

а) во входном слое: линейная

б) в выходном: логистическая

В таблице отражена зависимость минимальной средней ошибки на тренировочном и тестовом наборах и времени обучения от вида функций активации.

Скорость обучения = 0,1; момент = 0,1

Таблица данных

1 скрытый слой

2 скрытый слой

Min средняя ошибка

Время обучения

Функция активации

Кол-во нейронов

Функция активации

Кол-во нейронов

на тренировочном наборе

на тестовом наборе

Гауссова

24

компГауссова

24

0,0000013

0,0034898

02:59

Гауссова

24

Гауссова

24

0,0000005

0,0065507

05:21

компГауссова

24

компГауссова

24

0,0000017

0,0037426

02:29

логистческая

24

логистическая

24

0,0000147

0,0019549

00:38

Исходя из таблицы дла данной сети оптимальными будут функции активации Гауссова для 1 слоя и Комплем. Гауссова для 2 слоя.

Вых1

Вых2

Вых3

Вых4

Вых5

Вых6

Вых7

Вых8

Вых9

R квадрат

0,9995

0,9995

0,9986

0,9995

0,9983

0,9994

0,9996

0,9977

0,9979

СКО

0,007

0,008

0,013

0,007

0,012

0,007

0,006

0,014

0,015

Относ СКО %

0,690

0,760

1,258

0,692

1,230

0,746

0,620

1,429

1,512

Данная сеть после обучения показывает не очень хорошие обобщающие данные.

Скорость обучения и начальный момент на качество обобщения не влияют.

Сеть Кохонена

Структура НС:

1. кол-во нейронов

a. входной слой: 63

b. выходной слой: 9

2. скорость обучения: 0,5

3. начальные веса: 0,5

4. окрестность: 8

5. эпохи: 500

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

Параметры выбора примеров

Метрики расстояния

Время обучения

Кол-во неиспозльзованных категорий

поочередный

евклидова

00:02

1

случайный

евклидова

00:02

1

поочередный

нормированная

00:02

3

случайный

нормированная

00:02

2

Данная сеть обладает плохим обобщением.

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

Т.к сеть Кохонена обладает наихудшими обобщением, ее в диаграмму не включаем.

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

Исходя из представленных диаграмм оптимальной для нас будет сеть Ворда с 2мя скрытыми блоками.

Делись добром ;)