
- •Глава 1
- •Глава 2 первые шаги Начинаем работу с пакетом
- •Создание набора данных
- •Создание новой сети
- •Сохранение набора данных и сети
- •Обучение сети
- •Запуск нейронной сети
- •Проведение классификации
- •Заключение
- •Глава 3 дальнейшие возможности
- •Ирисы Фишера
- •Обучение с кросс-проверкой
- •Условия остановки
- •Восстановление наилучшей сети
- •Решение задач регрессии
- •Радиальные базисные функции
- •Линейные модели
- •Сети Кохонена
- •Вероятностные (pnn) и обобщенно-регрессионные (grnn) сети
- •Автоматический конструктор сети
- •Генетический алгоритм отбора входных данных
- •Временные ряды
- •Глава 4 практические советы по решению задач
- •Представление данных
- •Выделение полезных входных переменных
- •Понижение размерности
- •Выбор архитектуры сети
- •Пользовательские архитектуры сетей
- •Временные ряды
- •Глава 5 краткое руководство
- •Обучение сетей
- •Работа с сетью
- •Пересылка результатов в систему statistica
- •Список литературы
Понижение размерности
Обсуждение
Другой - альтернативный или дополняющий первый - подход к отсечению лишних переменных основан на понижении размерности. Цель его заключается в таком преобразовании входных данных, чтобы та же информация была записана с помощью меньшего числа переменных. Этот метод позволяет распознавать ситуации, когда истинная размерность данных меньше числа входных переменных. Иными словами, те же данные иногда можно задать с помощью меньшего числа переменных, если найти подходящее преобразование.
В пакете ST Neural Networks реализованы различные методы понижения размерности, и самый распространенный из них - это анализ главных компонент, сокращенно АГК (Bishop, 1995; Press, 1992). Метод представляет собой такое линейное преобразование входных данных, при котором количество переменных уменьшается до заданного предела, но при этом максимально сохраняется вариация данных. Цель состоит в том, чтобы сохранить как можно больше информации, однако здесь же следует заметить, что не всегда направления максимальной вариации данных несут максимальную информацию.
Нелинейное понижение размерности
О
дин
из недостатков метода главных компонент
состоит в том, что это преобразование
является линейным и может улавливать
только линейные направления максимальной
вариации (метод будет хорошо работать
на данных, изображенных на левом рисунке,
но не на правом).
Поэтому предлагается другой подход к проблеме: нелинейный вариант АГК, основанный на применении автоассоциативных сетей (Fausett, 1994; Bishop, 1995).
Автоассоциативная сеть - это сеть, предназначенная для воспроизведения на выходе своих же входных данных. У такой сети число выходов совпадает с числом входов, и все переменные имеют тип входная/выходная. Число же скрытых элементов делается меньше числа входов-выходов, и это заставляет сеть «сжимать» информацию, представляя ее в меньшей размерности.
Трехслойная автоассоциативная сеть сначала линейно преобразует входные данные в меньшую размерность промежуточного слоя, а затем снова линейно разворачивает их в выходном слое. Можно показать, что такая сеть на самом деле реализует стандартный алгоритм анализа главных компонент (Bourland and Kamp, 1988). Для того чтобы выполнить нелинейное понижение размерности, нужно использовать пятислойную сеть (Kramer, 1991). Ее средний слой служит для уменьшения размерности, а соседние с ним слои, отделяющие его от входного и выходного слоев, выполняют нелинейные преобразования.
Чтобы осуществить нелинейное понижение размерности с помощью автоассоциативной сети в пакете ST Neural Networks, нужно действовать так:
1. Сформировать обучающий набор данных для автоассоциативной сети. Выходные переменные нужно объявить неучитываемыми, а входным переменным присвоить тип Входная/выходная - Input/Output.
2. Построить автоассоциативную MLP-сеть с пятью слоями. В среднем скрытом слое должно быть меньше элементов, чем во входном и выходном слоях. В двух оставшихся промежуточных слоях должно быть достаточно большое (и одинаковое) число элементов.
3. Обучить автоассоциативную сеть на подготовленном обучающем множестве. Здесь годится любой итеративный алгоритм обучения (например, спуск по сопряженным градиентам).
4. Удалить два последних слоя автоассоциативной сети (кнопкой Удалить - Delete в окне Редактор сети - Network Editor). В результате получится сеть для пре-процессирования, понижающая размерность.
5. С помощью пре-процессирующей сети получить версию входных данных в уменьшенной размерности. Скопировать эти данные из окна Прогнать набор данных - Run Data Set в окно Редактор данных -Data Set Editor, заменив ими первоначальные входные, но оставив исходные выходные переменные. Таким образом, будет построено обучающее множество для понижения размерности.
6. Построить другую (обрабатывающую) сеть и обучить ее на построенном на предыдущем шаге обучающем множестве.
7. С помощью команды Сеть (добавить) - Network (Append)... меню Файл -Открыть – File -Open добавить обрабатывающую сеть к пре-процессирующей сети. При этом будет построена единая сеть, которая одновременно пре-процессирует и обрабатывает данные.