Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НЕЙРОСЕТИ_уч_Боровков.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.73 Mб
Скачать

Глава 4 практические советы по решению задач

В этой главе будет рассказано, как применять пакет ST Neural Networks для решения задач. Мы затронем следующие темы: подготовка данных и их пре-процессирование, выбор архитектуры сети и настройка ее пара­метров.

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

В пакете ST Neural Networks реализован ряд новейших инструментов, предназначенных для решения указанных проблем. Это функция для ав­томатического построения сети и Генетический алгоритм отбора вход­ных данных - Genetic Algorithm Input Selection. Однако даже эти методы, отражающие самое современное состояние вопроса, не гарантируют оты­скания оптимального решения. Как правило, они позволяют получить просто хороший вариант ответа.

Представление данных

Обсуждение

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

Сеть умеет обрабатывать только числовые значения; более того, она вос­принимает значения только из определенного диапазона. Ваши данные, однако, могут включать номинальные переменные, указывающие на при­надлежность к одному из нескольких классов, даты, целочисленные зна­чения и текстовые строки, а также числовые переменные, меняющиеся в самых различных диапазонах. Чтобы справиться с этими сложностями, в системе ST Neural Networks предусмотрен ряд средств пре/пост-процессирования для автоматического преобразования типов данных.

Представление переменных

Обычно переменные разных типов представляются в программах сле­дующим образом.

Непрерывные (числовые) значения. Представляются одной веще­ственной переменной. Все вопросы, связанные и диапазоном значений, решаются в системе ST Neural Networks путем масштабирования (шкали­рования), которое является составной частью процедуры пре/пост-процессирования.

Целочисленные. Представляются в вещественном эквиваленте.

Даты и время. Преобразуются в числовые значения вычислением по­ложения момента времени относительно заданного начала отсчета.

Номинальные переменные (атрибуты). В ST Neural Networks имеют специальное представление как номинальные переменные. Специальные средства позволяют преобразовывать их к виду, понятному для нейронной сети. Пример номинальной переменной: Род - Gender ={Муж - Male, Жен - Female}.

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

Любую номинальную переменную можно записать методом кодирования 1-из-N: при этом одной номинальной переменной соответствует N эле­ментов сети (здесь N - число различных номинальных значений перемен­ной), один из которых бывает активен, а остальные - нет. Кодирование методом 1-из-N - это стандартный способ записи номинальных перемен­ных, которые могут принимать более двух значений. Для переменных, принимающих только два значения, стандартным является бинарное представление, хотя можно использовать и кодирование 1-из-N (за одним исключением: выходная переменная вероятностной нейронной сети всегда кодируется методом 1-из-N, даже если у нее всего два возможных со­стояния).

Если номинальная переменная может принимать очень много различных значений, то для нее можно использовать метод кодирования N – в - одну: различным вариантам соответствуют различные целочисленные значения единственной переменной. В пакете ST Neural Networks для этого нужно выбрать вариант кодирования Явное - Explicit, Минимакс - Minimax или Нет - None. Различным номинальным значениям будут поставлены в со­ответствие числа 1,2,3..., после чего они будут естественным образом упорядочены. Как правило, такой способ записи хуже, чем 1-из- N, но в отдельных случаях - когда кодирование 1-из-N приводит к сети слишком большого размера - может оказаться более предпочтительным.

Текстовые строки. Нейронная сеть не сможет обрабатывать произ­вольные строки текста, пока вы не укажете ей осмысленный способ при­писывать им числовые значения или 1-из-N коды.

Дальнейшая обработка

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

При анализе временных рядов иногда бывает лучше рассматривать не сами значения ряда, а разности соседних значений. Если во временном ряду просматривается тренд, то стоит или выделить его (например, по­догнать линейную модель, а нейросетевую модель применять к ряду ос­татков прогноза линейной модели), или использовать нормированные разности (аi –аi-1)/аi.

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