Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Записка.doc
Скачиваний:
65
Добавлен:
09.02.2015
Размер:
360.96 Кб
Скачать

2. Конструкторская часть.

2.1. Основные этапы разработки.

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

  1. Турнирная таблица. Эта вкладка должна решать следующие задачи:

  • Добавление, удаление, редактирование турнирной таблицы команд участвующих в чемпионате России по футболу;

  • Просмотр прошедших матчей той или иной команды участвующей в чемпионате России по футболу;

  1. Новые матчи. На этой вкладке пользователь может:

  • Добавлять новое состязания среди футбольных команд входящих в турнирную таблицу.

  • Устанавливать скорость и число проходов обучения двухслойного персептрона с алгоритмом обратного распространения ошибки.

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

  • Рассчитывать результаты прогнозируемых матчей.

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

2.2. Проектирование нейронной сети.

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

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

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

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

  3. Очистка и преобразование данных. Основная цель преобразования данных в том, чтобы они измерялись в одних единицах и варьировались в разумных пределах, например, в интервале [0, 1] (или [-1, 1]). При отсутствии этих свойств лучше использовать безразмерные данные, выполнив определенные преобразования, например линейные, с помощью статистических характеристик, логистической функции или функции активации нейронов и т.д. Также полезными будут определенные комбинации признаков, такие как произведения, частные и др. Часто с их помощью можно получить более простую модель.

  4. Построение модели. На данном этапе решаются следующие задачи:

  • выбор топологии сети (число нейронов, число скрытых слоев, структура связей);

  • выбор функции активации нейронов;

  • определение весов нейронов.

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

  1. Следующая задача – определение веса нейронов – решается с помощью алгоритма обучения, который представляет собой итерационный процесс коррекции синаптических весов: wk+1=wk+ +hkpk, где вектор pk задает направление движения, hk – размер шага, k – номер итерации. В основе практически всех алгоритмов обучения лежит оптимизационная задача, а алгоритм обучения является алгоритмом ее решения. В связи с этим необходимо выбрать направление движения и шаг. Обычно для выбора используются градиентные методы и методы случайного поиска. Для декомпозиции сложной задачи обучения применяется хорошо известный алгоритм обратного распространения ошибки. В целом методы обучения можно классифицировать следующим образом:

  • методы нулевого порядка (алгоритм случайного поиска, метод покоординатного спуска, метод многогранника и т.д.);

  • методы первого порядка (простой градиентный спуск, методы сопряженных градиентов, метод ПАРТАН, BFGS с конечной памятью, комбинированный алгоритм случайного поиска и статистического градиента, RProp, QuiqProp, Delta-delta, Delta-bar-delta и т.д.);

  • методы второго порядка (методы Ньютона, Ньютона–Гаусса, Левенберга–Марквардта, а также алгоритмы квазиньютоновского типа, Relax, Relch);

  • нелокальные модификации одноточечных методов (имитация отжига, метод прыгучего шарика, метод СПП, то есть спуск–подъем–перевал, туннельный алгоритм).

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

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