Конструирование сети для применения
При конструировании сети необходимо решить для чего она будет использоваться: для предсказания, обобщения или распознавания. Требуется также выбрать информацию, на основе которой сеть будет принять решение.
Нейронная сеть обучается путем установления связи между входами и выходами. Необходимо хорошо продумать какие виды входных данных влияют на получение желаемого результата. Наличие разнообразных типов данных увеличивает шансы на выявление существенных корреляций, которые могут быть обнаружены. Причем лучше иметь несколько малозначимых типов данных, чем иметь их недостаточное количество. Нейронная сеть в процессе обучения сама учтет важные данные и проигнорирует остальные.
Другим важным моментом является подготовка достаточного числа примеров, включающих значения входных данных и правильные ответы. Хорошее правило состоит в том, чтобы иметь число примеров не превышающее более чем в 10 раз число соединений в нейронной сети.
Нейроны оперируют с числовыми входами и выходами. Данные могут быть представлены символами, изображениями и так далее. Поэтому необходима процедура их кодирования и нормализации, приводящая данные к некоторому стандартному диапазону [0,1] или [-1,1]. Для кодирования изображений возможны различные подходы. Так можно соотносить каждый пиксель изображения с входным нейроном. Это требует построения достаточно больших сетей. Можно подойти иначе, сделав преобразование Фурье изображения и выделяя в спектре существенные для решаемой проблемы свойства.
Еще одна особенность заключается в использовании одного входа для представления качественно разных случаев. Например, состояние человека может быть: холостой, женатый, разведенный, овдовевший. Неправильно это кодировать одним входом со значениями 1-4. Правильно: завести для каждого состояния отдельный вход и кодировать 0 и 1. Аналогично с месяцами года.
Построение нейронной сети. При построении сети необходимо определить число входных и выходных нейронов, равные соответственно числу типов входных данных и числу ожидаемых ответов. Необходимо также определить число внутренних слоев и число внутренних нейронов.
В настоящее время не существует законченной теории, дающей ответ о необходимом числе внутренних нейронов. Одно из эвристических правил заключается в использовании среднего между числом входных нейронов и числом выходных. Другое правило советует использовать наименьшее из двух чисел и изменять число внутренних нейронов на основе удовлетворительности результатов обучения сети.
Опасность наличия избыточного числа внутренних нейронов заключается в возможности перехода сети в режим запоминания примеров, вместо обучения обобщению. Когда это происходит, сеть отлично функционирует при обучении, но плохо выполняет примеры, которым не обучалась.
Обучение, тестирование и функционирование. Обучение сети включает многократную подачу примеров на ее входы. Сеть отгадывает выход, сравнивает его с предложенным правильным и выполняет внутреннюю коррекцию сети, если выход был неправильным. Этот процесс повторяется для каждого примера.
Для оценки выхода сети, необходим критерий, определяющий достаточность соответствия. Обычно считается достаточным, если сеть дает правильный ответ в 90 % случаев.
Сеть может дать правильный ответ на очередной пример и неправильный на следующий за ним. В этом случае выполняется процедура коррекции сети. При этом необходимо повторить подачу всех примеров, так как сеть изменилась и там, где ранее был правильный ответ, возможен неправильный. Таким образом, процедура обучения носит рекуррентный характер.
В ходе обучения сеть может достигнуть состояния хорошего обобщения примеров до момента предоставления ей всех примеров. Дальнейшее обучение может привести к плохому функционированию. Поэтому целесообразно периодически тестировать сеть во время обучения.
Представляется важным выделить примеры, трудные для обучения. Эти примеры могут противоречить другим примерам или они могут лежать вне обычной постановки проблемы. В этом случае возможно добавление внутренних слоев или нейронов, но это может привести к тому, что общее понимание проблемы не улучшится, а в сети появится эффект запоминания.
Процесс конструирования нейронной сети включает следующее пять шагов:
1. Формирование проблемы. Определение входной информации и функций нейронной сети.
2. Описание информации и сбор ее в виде примеров.
3. Определение нейронной сети. Выбор входов сети и спецификация выходов.
4. Обучение сети.
5. Тестирование обученной сети.
Рассмотрим по шагам процесс конструирования нейронной сети на примере проблемы финансового прогнозирования.
Шаг 1. Формирование проблемы. Необходимо сконструировать сеть, выполняющая финансовый прогноз для тех, кто не является экспертом в области рынка. Сеть должна предсказывать среднее значение индекса Dow Jons на следующий месяц. Будем использовать прошлую финансовую информацию за предыдущие периоды, включающую индекс потребительских цен, цены на сырую нефть, скорость инфляции и индекс частного интереса.
В число входных данных включим также один или два раздела информации, которые может быть не совсем соответствуют поставленной проблеме, такие как индекс безработицы. Если эта информация окажется несущественной для решения проблемы, то сеть при обучении проигнорирует ее.
Существует много экономических теорий. Нет необходимости ограничивать создаваемую сеть какой-либо из них.
Шаг 2. Представление информации. Большинство входных данных берутся из финансовых отчетов. Некоторые данные такие, как политический климат выявляются путем определения усредненного мнения группы экспертов. Следующая информация представляется за текущий и два предыдущих периода:
Нейрон Вход | Типичное значение |
1. Индекс потребительских цен в текущем месяце. | 200-300 |
2. Цена сырой нефти в текущем месяце | 15-30 |
3. Индекс инфляции в текущем месяце | 4-12 |
4. Изменение в индексе Dow в текущем месяце | -100 - 100 |
5. Индекс безработицы в текущем месяце | 1-8 |
6. Индекс частного интереса в текущем месяце | 7-12 |
Шаг 3.Конструирование сети. Конструируемая сеть использует числовые входы и выход. Для каждого входа назначается отдельный нейрон. Общее число их будет 31. Один нейрон будет выходным. Начать обучение можно с 16 внутренних нейронов, как полусуммы числа входов и выходов.
Шаг 4. Обучение сети. Для обучения сети составим 60 примеров (5 лет по 12 месяцев). Первый пример показан ниже. Финансовые предсказания являются весьма трудным делом, что обуславливает специфичность обучения. Предположим, что сеть дает 50 правильных ответов из 60. В этом случае, возможно, поможет случайное перемешивание примеров вместо подачи их в хронологическом порядке, что может избавить сеть от навязываемых ей тенденций изменения значений.
Дата добавления: 2016-10-26; просмотров: 1383;