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

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

CC BY
1453
275
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГНОЗ / ВРЕМЕННОЙ РЯД / МОНИТОРИНГ / МОДЕЛИРОВАНИЕ / НЕЙРОННАЯ СЕТЬ / ОБУЧЕНИЕ / ОШИБКА / THE FORECAST / A TIME NUMBER / MONITORING / MODELING / A NEURAL NETWORK / TRAINING / AN ERROR

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рощупкин Э. В.

Приводится описание результата прогноза временного ряда с помощью нейронной сети обратного распространения ошибки. Обучение нейронной сети производилось в профессиональной аналитической платформе DEDUCTOR STUDIO ACADEMIC.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рощупкин Э. В.

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

The forecast of quantity of motor transport for city streets by means of neural networks

The description of result of the forecast of a time number by means of a neural network of return distribution of an error is resulted. Training of a neural network was made in professional analytical platform deductor studio academic.

Текст научной работы на тему «Прогноз количества автотранспорта на улицах города с помощью нейронных сетей»

УДК 502.7:502.55

Э.В. Рощупкин, канд. техн. наук, доц., докторант,

(4872) 35-37-60, roeduardo@mail.ru (Россия, Тула, ТулГУ)

ПРОГНОЗ КОЛИЧЕСТВА АВТОТРАНСПОРТА НА УЛИЦАХ ГОРОДА С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ

Приводится описание результата прогноза временного ряда с помощью нейронной сети обратного распространения ошибки. Обучение нейронной сети производилось в профессиональной аналитической платформе DEDUCTOR STUDIO ACADEMIC.

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

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

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

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

Каждый нейрон сети можно считать своеобразным процессором: он суммирует с соответствующими весами сигналы, приходящие от других нейронов, выполняет нелинейную решающую функцию и передает результирующее значение связанным с ним нейронам. В соответствии с действующим правилом «все или ничего» в простейших моделях нейронов выходной сигнал принимает двоичные значения: 0 или 1. Значение

1 соответствует превышению порога возбуждения нейрона, а значение

0 - возбуждению ниже порогового уровня.

В одной из первых моделей нейрона, называемой моделью Мак-Каллока - Питса (предложенной в 1943 г.), нейрон считается бинарным элементом [2]. Структурная схема этой модели представлена на рис. 1

Рис. 1. Модель нейрона МакКаллоку-Питсу

Входные сигналы

хг (] = 1,2, М) (1)

суммируются с учетом соответствующих весов wl] (сигнал поступает в направлении от узла I к узлу у) в сумматоре, после чего результат сравнивается с пороговым значением wl 0 [2]. Выходной сигнал нейрона у- опреде-

ляется при этом зависимостью

У і = /

(2)

X щх] (*) + Що

^ ]=1

Аргументом функции выступает суммарный сигнал

N

щ = X Щ]х]({) + що- (3)

]=1

Функция /(щ) называется функцией активации. В модели Мак-Каллока - Питса это пороговая функция вида

Г1 , и > 0,

/ (и) = 10 £ 0 (4)

[0 , и £ 0.

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

цательное значение щ - - тормозящим синапсам, тогда как щ = 0 свидетельствует об отсутствии связи между -м и - -м нейронами. Модель

МакКаллока - Питса - это дискретная модель, в которой состояние нейрона в момент времен ^ +1) рассчитывается по значениям его входных сигналов в предыдущий момент ?. Построение дискретной модели обосновывается проявлением рефракции у биологических нейронов, приводящей к тому, что нейрон может изменять свое состояние с конечной частотой, причем длительность периодов бездействия зависит от частоты его срабатывания.

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

или биполярной функции.

Униполярная функция, как правило, представляется формулой

* (х) = —4^ ’ (5)

1 + е_рх

тогда как биполярная функция задается в виде

/ (х) = 1апИ(Рх). (6)

В формулах (5) - (6) параметр Р подбирается пользователем. Его значение влияет на форму функции активации. На рис. 2 представлены графики сигмоидальной униполярной функции от переменной х для различных значений Р. На практике чаще всего для упрощения используется значение Р = 1 [2].

Рис. 2. График униполярной сигмоидальной функции при различных

значениях коэффициента Р

Объединенные между собой нейроны образуют систему, которая называется искусственной нейронной сетью (ИНС). В зависимости от способа объединения нейронов они могут быть сетями однонаправленными либо рекуррентными (с обратной связью).

Среди различных известных видов ИНС наибольший интерес вызывает однонаправленная сеть, называемая многослойным персептроном

MLP (MultiLayerPerceptron), состоящая из нейронов сигмоидального типа. Обучение многослойного персептрона проводится, как правило, с учителем, а основная идея обучения состоит в подборе кортежей < х, й >, в которых х - входной вектор, a й - соответствующий ему ожидаемый выходной вектор сети. Если векторы х и й не равны между собой, сеть называется гетероассоциативной. В случае, когда х = й, сеть называется автоассоциативной. В сетях подобного типа используются персептронные модели нейронов либо их обобщенная форма в виде сигмоидальной модели.

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

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

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

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

Процесс прогнозирования с помощью нейронных сетей состоит из следующих этапов:

1. Подбор архитектуры нейронной сети.

2. Выбор обучающих данных и структуры входных векторов.

3. Обучение нейронной сети.

4. Тестирование сети на контрольном множестве данных и при необходимости ее дообучение.

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

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

Для прогнозирования используем сигмоидальную сеть с одним скрытым слоем. Объем входного слоя выбран равным размерности вход-

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

Качество прогнозирования оценивается показателем процентной погрешности МАРЕ (англ.: Mean Absolute Percentage Error), определяемым в виде

1 n C — c

MAPE = - ----- -100%, (7)

ni=1 Ct

где C - прямо спрогнозированное значение количества единиц автотранспорта; C - фактическая значение количества единиц автотранспорта, тогда как n обозначено число часов, на которые составлялся прогноз.

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

В качестве исходных данных возьмем показания с камер наблюдения за автомобильными потоками. Рассмотрим на примере камеры 108. Из исходных данных выбираем непрерывные фрагменты временного ряда, в рассматриваемом случае это с 4 по 8 августа, с 11 по 15 августа, и 19 по 22 августа 2008 года.

Задача подготовки исходных данных состоит в приведении всех значений временного ряда x к «общему знаменателю», т. е. применение к каждому из них такого преобразования, в результате которого область возможных значений ограничится отрезком [0;1]. При этом нулевое значение преобразованных данных должно соответствовать минимальному значению исходной выборки, а единичное - максимальному. Значение соответствующей унифицированной переменной ~ подсчитывается по формуле (8)

~ = x -xmin , (8)

xmax — xmin

где xmin, xmax - соответственно наименьшее и наибольшее значения исходного временного ряда. После данных преобразований получим временной ряд в диапазоне, ограниченном отрезком [0;1]. Далее необходимо вычислить среднее значение ряда и вычесть это значение из полученной выборки. В результате получим временной ряд с математическим ожиданием среднего, равного нулю.

Для подготовки обучающей выборки воспользуемся средствами Microsoft Office Excel. Для этого необходимо выполнить следующие операции:

1. Скопировать столбец преобразованных данных в соседние 5 столбцов.

2. Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д.

В результате получим таблицу, представляющую собой обучающий пример, где первые 5 чисел строки (X1,X2,X3,X4,X5) являются входными значениями нейронные сети, а шестое число (Y) - желаемое значение выхода нейронной сети. Столбцы Х1-Х5 являются значениями количества автотранспорта в пять последних отсчетов времени, а столбец Y - желаемое значение выхода нейронной сети.

Объем обучающей выборки зависит от выбранного количества входов нейронной сети. Принимая во внимание объем исходных данных, было решено ограничиться избранными днями измерения с 4 по 8 августа 2008. В данном случае обучающая выборка содержит 720 строк. Если сделать 720 входов, то такая нейронная сеть потенциально могла бы строить лучший прогноз, чем нейронная сеть с 5 входами, однако в этом случае имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов нейронной сети необходимо это учитывать, выбирая разумный компромисс между глубиной предсказания (числом входов нейронной сети) и качеством обучения нейронной сети (объемом тренировочного набора).

Для создания и обучения сети используем свободно распространяемую версию программного продукта Deductor Studio Academic 5.2 Российской фирмы «BaseGroup Labs», профессионального поставщика программных продуктов и решений в области анализа данных [3].

Настраиваем в программе Deductor столбцы выборки X1, X2, X3, X4, X5 как входные для обучения нейронной сети, столбец Y настраиваем как желаемый выход сети. Разбиваем исходную выборку на обучающее множество и тестовое в процентном содержании 90 и 10 % соответственно. На следующем шаге нам необходимо выбрать структуру сети и функцию активации. Для краткосрочного прогнозирования используем трехслойную нейронная сеть, входной слой которой содержит 5 нейронов, скрытый слой

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

Далее выбираем алгоритм и задаем параметры обучения. Для алгоритма обратного распространения ошибки (Back-Propagation) задаются два параметра:

«Скорость обучения» - определяет величину шага при итерационной коррекции весов в нейронной сети (рекомендуется задавать в интервале 0...1);

«Момент» - учитывает величину последнего изменения веса при коррекции весов (задается в интервале 0.1).

Для данной сети выбираем алгоритм обратного распространения ошибки со скоростью обучения 0,1 и моментом обучения 0,9.

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

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

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

0,0163, а для тестового 0,0110.

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

Программа Deductor позволяет представить графически нейронную сеть со всеми нейронами входного слоя, скрытого слоя и выходного слоя. На рис. 3 приведен негатив копии окна «Граф нейросети».

Граф нейросети 1 *11

Х1

Х2 Л

ХЗ ■о х/ ' V

Х4 у

Х5

-12,0707383029382 -0,571738568281099 10,927261166376

Рис. 3. Негатив копии экрана «Граф нейросети»

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

Далее применим обученную сеть к выборке из временного ряда количества единиц автотранспорта с 22 по 24 декабря 2008 года, не знакомую нейронной сети. Над выборкой с новыми данными необходимо провести все мероприятия, что и над обучающей выборкой: привести к

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

Полученную выборку подключаем с помощью мастера импорта и настраиваем столбцы Х1-Х5 как вход сети, а столбец У - как выход. Для применения обученной сети к новым данным временного ряда в программе Беёис1от есть специальный механизм «Скрипт». Применяем механизм «Скрипт» к новой выборке, указываем в качестве модели модель обученной нейронной сети. В итоге получаем результат обработки обученной сети новых данных.

На рис. 4 представлен увеличенный фрагмент диаграммы результатов работы нейронной сети по формированию прогноза на 22 - 24 декабря 2008 года на основе обучающей выборки с 4 по 8 августа 2008 года.

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

На рис. 4 черным цветом изображено истинное значение количества единиц автотранспорта на 22 - 24 декабря 2008 года, белым цветом - прогнозируемое нейронной сетью значение на 22 - 24 декабря по обучающей выборке с 4 по 8 августа 2008 года. Из рис. 4 видно, что сеть почти точно спрогнозировала следующее значение количества единиц автотранспорта по пяти предыдущим значениям. На рис. 4 представлен фрагмент с максимальной ошибкой прогноза.

Рис. 4. Увеличенный фрагмент диаграммы прогноза на 22 - 24 декабря 2008 года

186

Максимальная ошибка прогноза составляет приблизительно 116 %, а среднее значение ошибки составляет около 7 %.

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

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

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

Список литературы

1. Рощупкин Э.В. Система распределенного автоматизированного мониторинга загрязнения атмосферного воздуха промышленных регионов// Безопасность жизнедеятельности. №5. 2010. С. 46-52.

2. Оссовский С. Нейронные сети для обработки информации/ пер. с польского И. Д. Рудинского. М.: Финансы и статистика. 2002. 344 с.

3. Фирма BaseGroup. URL.: http://www.basegroup.ru/ (дата обращения 20.01.11).

E. Roshchupkin

The forecast of quantity of motor transport for city streets by means of neural

networks

The description of result of the forecast of a time number by means of a neural network of return distribution of an error is resulted. Training of a neural network was made in professional analytical platform deductor studio academic.

Key words: the forecast, a time number, monitoring, modeling, a neural network, training, an error.

Получено 02.11.10

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