Создание классификатора, основанного на нейронной сети и способного определять качество вина

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.12.2015
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

· если для несколько подряд идущих тренировочных образцов изменение веса при некоторой синаптической связи происходит в одну и ту же сторону, то скорость обучения, соответствующая этой связи, увеличивается;

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

Как показывает практика, применение подобной модификации алгоритма обратного распространения ошибки, как правило, приводит к увеличению скорости обучения [4]. Этот алгоритм, в ходе своей работы, будет изменять веса на большие величины, если значение минимума функции ошибки находится далеко от текущего положения. При приближении к минимуму, величина, на которую будут изменяться веса в ходе обучения, будет уменьшаться [14].

Обновления весов между двумя слоями на шаге t+1 проходят по следующей формуле:

(38)

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

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

(39)

Для определения нового коэффициента обучения необходимо знание на текущем и предыдущем шагах обучения.

(40)

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

(41)

Величины должны быть заданы исследователем.

2.4.4 Методы задания начальных значений весов

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

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

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

2.5 Кодирование классов

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

(42)

Где - i-й элемент вектора, j - номер класса, - символ Кронекера [2].

2.6 Выводы по разделу

Рассмотрены описанные в данном разделе нейросетевые парадигмы с точки зрения их применимости к решению задач классификации винно-водочных изделий.

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

Радиально-базисная сеть способна классифицировать образы с точностью, равной точности многослойного персептрона, но часто это требует большего количества элементов [1].

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

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

3. Построение классификатора

3.1 Постановка задачи

Исходный набор данных содержит 4898 примеров для белых вин и 1599 примеров для красных вин. Каждый пример состоит из 11 атрибутов и номера класса. Атрибуты характеризуют следующие химические параметры вина:

1. Летучая кислотность;

2. Активная кислотность;

3. Содержание лимонной кислоты;

4. Остаточный сахар;

5. Хлориды;

6. Количество свободной двуокиси серы;

7. Общее количество двуокиси серы;

8. Плотность;

9. Общая кислотность;

10. Количество сульфатов;

11. Содержание алкоголя.

Целевым параметром является численно выраженное качество вина, которое для известных примеров принимает значение от 3 до 9 включительно.

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

3.2 Нормировка данных

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

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

(43)

где j - номер признака, - общее число примеров. Затем выполняется следующее линейное преобразование:

(44)

У преобразованных признаков значение математического ожидания равно 0, а значение стандартного отклонения равно 1. В таблице Таблица 1 показаны характеристики исходных данных.

Таблица 1

Характеристики исходных данных

Признак, №

Максимальное значение

Минимальное значение

Математическое ожидание

Стандартное отклонение

1

15.9

3.8

7.2153

1.2964

2

1.58

0.08

0.33967

0.16464

3

1.66

0.0

0.31863

0.14532

4

65.8

0.6

5.4432

4.7578

5

0.611

0.009

0.056034

0.035034

6

289.0

1.0

30.525

17.749

7

440.0

6.0

115.74

56.522

8

1.039

0.98711

0.9947

0.0029987

9

4.01

2.72

3.2185

0.16079

10

2.0

0.22

0.53127

0.14881

11

14.9

8.0

10.492

1.1927

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

В таблице Таблица 2 показаны характеристики преобразованных данных. У всех признаков стандартное отклонение равно 1, а математическое ожидание равно 0.

Таблица 2

Характеристики преобразованных данных

Признак, №

Максимальное значение

Минимальное значение

1

6.6989

-2.6344,

2

7.5338

-1.5772,

3

9.2306

-2.1927,

4

12.686

-1.018,

5

15.841

-1.3425,

6

14.562

-1.6635,

7

5.7368

-1.9416,

8

14.768

-2.53,

9

4.9227

-3.1004,

10

9.8701

-2.0918,

11

3.6959

-2.0892

3.3 Кодирование классов

Целевой параметр качества для элементов выборки меняется от 3 до 9, то есть в выборке отсутствует информация о винах со значением качества ниже 3 или выше 9. Поэтому было принято решение задать 7 классов. Класс под номером 1 будет соответствовать значению качества равному 3, а класс с номером 7 будет соответствовать значению качества равному 9. Для кодирования будем использовать способ задания класса в виде вектора с 1 на позиции с номером класса, и с 0 на остальных позициях.

3.4 Топология сети

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

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

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

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

(45)

Эта функция принимает значения от 0 до 1. Ее график приведен на рисунке Рис. 12.

Рис. 12. График функции сигмоиды

3.5 Начальное состояние нейронной сети

Метод начальной инициализации весов является одним из важнейших факторов, влияющих на скорость обучения многослойной сети [5]. При определении способа задания весов следует учитывать, что от величин весов зависит величина аргумента функции активации. Если веса будут слишком большими или слишком маленькими, то аргумент попадет в зоны затухания функции, производная в которых имеет крайне маленькое значение. Это приведет к сильному падению скорости обучения нейронной сети.

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

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

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

4. Реализация классификатора

4.1 Структура программного обеспечения

Для реализации приложения был выбран язык программирования С++ в версии стандарта от 2011 года, а также следующие программные средства:

· Библиотека классов Boost;

· Среда программирования QtCreator;

· Система автоматизированной сборки приложений из исходного кода CMake;

· Распределенная систем управления версиями исходного кода программного обеспечения Mercurial.

Приложение способно функционировать в операционной системе GNU/Linux. Компиляция исходных кодов производилась компилятором Clang версии 3.6. При разработке был разработан ряд классов. Исходный код программного обеспечения приведен в приложение А.

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

Классы layer_t и net_t служат для реализации модели искусственной нейронной сети. Класс layer_t содержит в себе данные, необходимые для описания единичного слоя сети, а именно матрица весов между нейронами этого и предыдущего слоя, и входные и выходные вектора. Также этот класс содержит в себе информацию, которую необходимо сохранять для каждого слоя сети в ходе обучения. Эта информация включает в себя вектор аргументов функции активации, вектор значений величин ошибок. При использовании модификации алгоритма обратного распространения ошибок с адаптивным изменением скорости обучения, в объекте класса layer_t также сохраняется матрица значений скоростей обучений для весов и значений , полученных на предыдущем шаге обучения. Для упрощения реализации модели нейронной сети и алгоритма обучения, величина смещения задается с помощью виртуального нейрона, чей выход всегда равен 1. При этом, настоящее значение смещения сохраняется как вес синаптической связи между этим нейроном и некоторым нейроном слоя. Вследствие этого, матрица весов имеет дополнительную строку под индексом 0, которая относится к весам, приходящим от виртуального нейрона. Также, нулевые элементы входного и выходного векторов всегда равны 1.

Класс net_t содержит в себе массив нейронной сети и информацию о размерности векторов входа и выхода. Этот класс ответственен за создание необходимого количества объектов класса layer_t. При этом он настраивает их таким образом, чтобы вектор входа некоторого слоя был выходом предыдущего. Это позволяет убрать лишнее дублирование в памяти одних и тех же данных, а так же уменьшить количество производимых в ходе работы программы операций копирования данных. Этот класс ответственен за инициализацию весовых коэффициентов сети. Также он позволяет осуществлять загрузку сети из файла и запись ее в файл для дальнейшего использования.

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

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

Данные, которые будут использованы для обучения нейронной сети, должны быть записаны в файлах определенного формата, а путь к ним передан программе при запуске. Входные и целевые выходные вектора описываются в разных файлах, при этом i-й входной вектор будет сопоставлен с i-м выходным вектором. В каждом файле каждый вектор данных записывается на отдельной строке, элементы вектора разделяются символом `;'. Первая строка, при чтении пропускается, так как обычно в нее записываются наименования величин, лежащих во входных векторах. Пустые строки игнорируются. Чтение файлов реализовано в функции import_csv.

Задание параметров работы приложения производится путем передачи соответствующих аргументов при запуске программы. Следующие аргументы являются обязательными:

· --data_file,-d - параметр, задающий файл, содержащий набор входных векторов

· --target_file,-t - параметр, задающий файл, содержащий набор выходных векторов

· --train - произвести тренировку сети. Этот параметр может быть заменен параметром --test

· --test - произвести тестирование сети, при этом также должен быть указан путь к файлу с уже обученной нейронной сетью.

Следующие параметры могут быть переданы программе при необходимости:

· --help,-h - вывести справочную информацию о программе

· --epoches,-e число - задать число эпох, в ходе которых будет производиться обучение. Число должно быть неотрицательным.

· --validation число - этот параметр позволяет задать долю примеров, которая будет использована для проведения валидации в ходе обучения нейронной сети. Число должно находиться в диапазоне

· --learn_rate,-r число - задать скорость обучения. Число должно быть неотрицательным.

· --shuffle,-s - перемешать примеры случайным образом перед началом обучения.

· --layers,-l набор чисел - этот параметр позволяет задать количество и размерности скрытых слоев сети. При использовании этого параметра необходимо указать набор чисел, записанных через пробел. Число скрытых слоев будет равно количеству указанных чисел, а сами числа задают число нейронов в соответствующем слое.

· --save путь к файлу - этот параметр задает путь к файлу, в который будет сохранена искусственная нейронная сеть после завершения обучения.

· --load путь к файлу - указывает файл, из которого должна быть загружена нейронная сеть при запуске приложения.

· --adaptive_learn число1 число2 число3 - задает использование метода адаптивной скорости обучения. Три числа задают параметры соответственно.

· --clone - передача этого параметра включает использование алгоритма борьбы с попадание в локальный минимум.

При использовании опции --test, все опции, относящиеся к обучению новой сети, будут проигнорированы. Для задания числа и размерности скрытых слоев, соответствующую опцию можно указать несколько раз, при этом будут учитываться все переданные числа. Размерность выходного слоя рассчитывается автоматически по размерности выходного вектора, полученной из файла, переданного с опцией target_file.

4.2 Результаты обучения нейронной сети

Для обучения выборка была разделена на тренировочную, валидационную и тестовую часть в соотношение 0.7, 0.15, 0.15. Использовался режим адаптивной скорости обучения с параметрами . Параметр принимал значения 0.05. Сеть обучается 1000 эпох, после нахождения минимума валидационной ошибки происходит откат на 50 эпох, скорости обучения весов при этом увеличиваются на 5 и 10.

Тестируются нейронной сети с количеством скрытых слоев от 0 до 2 включительно. Количество нейронов в каждом слое последовательно увеличивается от 10 до 100 с шагом в 10.

При обучении сети без скрытого слоя на тестовой выборке была получена среднеквадратичная ошибка равная 0.3064935. При этом точно указан класс для 50% тестовых образцов, с погрешностью класс - для 93.9% тестовых образцов. Данные о классификации образцов в ходе тестирования нейронной сети приведены в таблице Таблица 3.

Таблица 3

Результаты тестирования сети без скрытого слоя

Целевой класс

0

0

2

3

0

0

0

0

1

23

11

0

0

0

0

0

148

115

1

0

0

0

1

79

231

20

0

0

0

0

8

108

22

0

0

0

0

0

18

7

0

0

0

0

0

0

1

0

0

Точность, %

0

3

56

70

16

0

0

Выданный сетью класс

При обучении сети с одним скрытым слоем наилучшие результаты были получены при количестве нейронов в слое равном 40. В этой сети величина средней квадратичной ошибки на тестовых примерах равна 0.2896. При этом точно указан класс для 57% тестовых образцов, с погрешностью класс - для 94.6% тестовых образцов. Данные о классификации образцов в ходе тестирования нейронной сети приведены в таблице Таблица 4.

Таблица 4

Результаты тестирования сети с одним скрытым слоем

Целевой класс

0

0

2

3

0

0

0

0

1

23

11

0

0

0

0

2

186

71

5

0

0

0

1

85

220

24

1

0

0

0

6

85

46

1

0

0

0

0

13

11

1

0

0

0

0

0

1

0

0

Точность, %

0

3

70

66

33

4

0

Выданный сетью класс

При обучении сети с двумя скрытыми слоями наилучшие результаты были получены при количестве нейронов в слоях равном 50 в первом скрытом и 40 во втором скрытом слое. В этой сети величина средней квадратичной ошибки на тестовых примерах равна 0.278. При этом точно указан класс для 58% тестовых образцов, с погрешностью класс - для 95.6% тестовых образцов. Данные о классификации образцов в ходе тестирования нейронной сети приведены в таблице Таблица 5.

Таблица 5

Результаты тестирования сети с двумя скрытыми слоями

Целевой класс

0

0

4

1

0

0

0

0

0

28

6

1

0

0

1

0

174

87

2

0

0

0

0

71

238

22

0

0

0

0

3

82

53

0

0

0

0

1

15

9

0

0

0

0

0

0

1

0

0

Точность, %

0

0

66

72

38

0

0

Выданный сетью класс

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

Рис. 13. График изменения валидационной ошибки в ходе обучения

5. Анализ результатов

После обучения была получена нейронная сеть, способная в 58% процентах случаях точно классифицировать входной образ, и в 95.6% классифицировать с точностью класс. На графикеРис. 13 показано, что скорость обучения нейронной сети без скрытых слоев на определенном этапе резко падает до 0, в то время как наличие одного или двух скрытых слоев позволяет производить обучение дальше.

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

Тестирование показала низкую, от 0% до 4%, точность классификации объектов, принадлежащим к крайним двум слева и двум справа классам. Возможно, это является следствием небольшого количества примеров, принадлежащих этим классам. Точность определения 5 класса изменяется от 16% до 38% в зависимости от количества скрытых слоев в сети. При этом, точность классификации объектов, принадлежащим классам 3 и 4, принимает значение от 56% до 72%.

Добавление второго скрытого слоя в сеть не дало сильного улучшения точности классификации, но сильно уменьшило скорость обучения сети.

Заключение

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

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

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

На основе многослойной сети прямого распространения, обучаемой с помощью алгоритма обратного распространения, построен классификатор. Методы предварительной обработки данных и кодирования классов выбраны с учетом особенной поставленной задачи. Задана топология сети и метод начальной инициализации параметров. Определена структура классификатора, и его функциональные возможности. Классификатор реализован на языке программирования С++.

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

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

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

1. Хайкин С. Нейронные сети - М. : Издательский дом «Вильямс», 2006 - 1104 с.

2. Bishop C. M. Neural network for pattern recognition - New York: Oxford University Press, 1995 - 482 pp.

3. Broomnhead D. S. and Lowe D. Radial Basis Functions, Multi-Variable Functional Interpolation and Adaptive Nctworks - London, 1988 URL: http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA196234 (дата обращения 14.04.2015)

4. Fausett L. Fundamentals of neural network - New Jersey: Prentice-Hall, 1994 - XVII pp. +492 pp.

5. G. Thimm, E. Fiesler High Order and Multilayer Perceptron Initialization // IEEE Transactions on Neural Networks. 1996, №94-07

6. Hagan M. T., Demuth H. B., Beale M. Neural network design - USA: PWS Publishing Company, 1996 - 733 pp.

7. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning - Springer Verlag, 2009 - 764 pp.

8. N. H. Beltran, M. A. Duarte-Mermoud, M. A. Bustos, S. A. Salah, E. A. Loyola, A. I. Pena-Neira, J. W. Jalocha. Feature extraction and classification of Chilean wines // Journal of Food Engineering. 2006, Т. 75 вып. 1, с. 1-10

9. Paulo Cortez, Antonio Cerdeira, Fernando Almeida, Telmo Matos, Jose Reis. Modeling wine preferences by data mining from physicochemical properties - Portugal, University of Minho, 2008

10. Rojas R. Neural Networks. A Systematic Introduction - Berlin: Springer, 1996 - 509 pp.

11. S. R. Gunn. Support Vector Machines for Classification and Regression - University of Southampton, 1998

12. S. Vlassides, J. Ferrier, and D. Block. Using Historical Data for Bioprocess Optimization: Modeling Wine Characteristics Using Artificial Neural Networks and Archived Process Information // Biotechnology and Bioengineering. 2001, №73(1), c. 55-68

13. Tim Jones M. Al Application Programming - Massachusetts: CHARLES RIVER MEDIA, INC, 2003 - 311pp.

14. Yann LeCun, Leon Bottou, Genevieve B. Orr, Klaus-Robert Muller. Efficient BackProp. URL: http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf (дата обращения 22.05.2015)

Размещено на Allbest.ru


Подобные документы

  • Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.

    лабораторная работа [1,1 M], добавлен 05.10.2010

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

    реферат [111,6 K], добавлен 19.10.2010

  • Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.

    реферат [347,6 K], добавлен 17.12.2011

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

    реферат [284,2 K], добавлен 04.05.2012

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

  • Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.

    курсовая работа [1019,5 K], добавлен 05.05.2015

  • Обзор программных продуктов для анализа изображений: ABBYY FineReader и OCR CuneiForm. Понятие и виды нейронных сетей. Алгоритм обучения персептрона. Результаты исследований и описание интерфейса программы. Расчет себестоимости программного обеспечения.

    дипломная работа [590,7 K], добавлен 17.08.2011

  • Изучение и реализация системы, использующей возможности Microsoft Azure для распределенного обучения нейронной сети. Рассмотрение функционирования распределенных вычислений. Выбор задачи для исследования; тестирование данного программного ресурса.

    дипломная работа [2,0 M], добавлен 20.07.2015

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

    курсовая работа [1,0 M], добавлен 05.01.2013

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

    дипломная работа [1,3 M], добавлен 19.05.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.