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

Обучение искусственной нейронной сети для задач прогнозирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1622
1188
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМЫ ОБУЧЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ / ЭТАПЫ ФОРМИРОВАНИЯ ОБУЧАЮЩЕЙ ВЫБОРКИ / RAINING ALGORITHMS OF NEURAL NETWORKS / FORMING STAGES OF TRAINING SAMPLE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горбачевская Елена Николаевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Горбачевская Елена Николаевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TRAINING OF ARTIFICIAL NEURAL NETWORK FOR FORECASTING

Training algorithms of neural networks are divided into "learning with a teacher", " learning without a teacher" and mixed algorithms. We can divide algorithms into deterministic and stochastic. We defined forming stages of training sample.

Текст научной работы на тему «Обучение искусственной нейронной сети для задач прогнозирования»

УДК 004.7 ББК 32.973.202

Горбачевская Е.Н.

ОБУЧЕНИЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ ДЛЯ ЗАДАЧ ПРОГНОЗИРОВАНИЯ Gorbachevskaya E.N. TRAINING OF ARTIFICIAL NEURAL NETWORK FOR FORECASTING

Ключевые слова: Алгоритмы обучения искусственных нейронных сетей. Этапы формирования обучающей выборки.

Keywords: training algorithms of neural networks, forming stages of training sample.

Аннотация

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

Abstract

Training algorithms of neural networks are divided into “learning with a teacher”, “ learning without a teacher” and mixed algorithms. We can divide algorithms into deterministic and stochastic. We defined forming stages of training sample.

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

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

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

В исследовании использовались работы по описанию и обучению нейронных сетей: В. В. Круглова, В. В. Борисова, И.Г. Сидоркиной, В. А. Терехова, Л. Н. Ясницкого, С.Короткого и др.

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

Алгоритмы обучения нейронных сетей делятся на два вида «обучение с учителем» и «обучение без учителя».

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

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

Большое количество существующих алгоритмов можно разделить на два больших класса: детерминистские и стохастические. При детерминированных алгоритмах обучения подстройка весов представляет собой жесткую последовательность действий. Здесь слово «детерминированный» означает, что при необходимости обновления весовых значений или значения активности элемента соответствующие величины изменений могут быть определены в результате непосредственного прямого вычисления. Такой метод обучения применим для сетей с простыми и обратными рекуррентными связями, вероятностных нейронных сетей, сетей Хопфилда. Для данного вида сетей, если элемент уже выбран, новое значение активности может быть вычислено вполне однозначно. Для стохастических алгоритмов обучения подстройка весов производится на основе действий, подчиняющихся некоторому случайному процессу. Например для тех же сетей Хопфилда, если обновляемый элемент выбирается случайно, при стохастическом обновлении предсказать состояние элемента в любой момент времени невозможно. Для определения возможности перехода в новое состояние элемента используют функции распределения вероятностей. При данном алгоритме обучения, несмотря на то, что сложно определить текущее состояние элементы, вполне возможно определение общего состояния сети. Необходимо добавить, что чем сложнее поставленная задача, тем более сложные стохастические алгоритмы обучения используются для определения состояния элементов.

Рассмотрим наиболее практичный вариант реализации алгоритма «обучение с учителем» стохастического вида[1].

1. Проинициализировать элементы весовой матрицы (обычно небольшими случайными значениями).

2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход.

3. Если выход правильный, перейти на шаг 4.

Иначе вычислить разницу между идеальным и полученным значениями выхода:

8 = У, - У

Модифицировать веса в соответствии с формулой:

^ (/ + 1) = ^ (/) + у-8- х

где I и 1+1 - номера соответственно текущей и следующей итераций; V -коэффициент скорости обучения, 0^Л; 1 - номер входа; j - номер нейрона в слое.

Очевидно, что если YI> Y весовые коэффициенты будут увеличены и тем самым уменьшат ошибку. В противном случае они будут уменьшены, и Y тоже уменьшится, приближаясь к YI.

4. Цикл с шага 2, пока сеть не перестанет ошибаться.

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

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

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

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

При нахождении данных в одной базе данных необходимо обратить внимание на пропущенные значения и значения, нереальной величины, так называемые «выбросы».

Формирование обучающей выборки нейронной сети для задач

прогнозирования

Этап сбора и подгото] - оценивание данных; - объединение и очищ - отбор данных; - преобразование даш зки д ение анных: данных;

Этап построение моде ши о бучения

-

Этап формирования частей выборки под модель обучения: - формирование обучающей части; - формирование тестирующей части; - формирование контрольной части.

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

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

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

- пропущенные значения;

- невозможные события («выброс»);

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

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

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

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

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

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

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

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

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

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. С.Короткий, Нейронные сети. Алгоритм обратного распределения..

2. В.В.Круглов, В.В.Борисов "Искусственные нейронные сети" Теория искусственных нейронных сетей. Основные положения

3. В. В. Круглов, В. В. Борисов — Искусственные нейронные сети. Теория и практика

4. Л. Н. Ясницкий — Введение в искусственный интеллект

i Надоели баннеры? Вы всегда можете отключить рекламу.