Компьютерная грамотность, помощь и ремонт

Нейронные сети. Statistica Neural Networks

ЗНАКОМСТВО С СОВРЕМЕННЫМ НЕЙРОСЕТЕВЫМ

Лабораторная работа № 1

ПРОГРАММНЫМ ПРОДУКТОМ STATISTICA NEURAL NETWORKS (SNN) ВЕРСИИ «SNN 7.0»

Цель работы – познакомиться с программным продуктом Statistica

Neural Networks (SNN), построить нейронную сеть с помощью мастера решений.

1. Открыть файл данных Вентилятор.stw (табл.П.1) с помощью команды Файл Открыть . В этом файле находятся данные о двух типах классах – 1 и 2, наличие и отсутствие перегрева.

2. Выбрать команду Нейронные сети в меню Анализ для вызова стартовой панели STATISTICA Нейронные сети.

Рис. 4. Выбор инструмента

3. На вкладке Быстрый стартовой панели Нейронные сети выбрать из списка тип задачи (в данном случаеКлассификация ) и метод решения (в данном случае – Мастеррешений ) и нажать кнопку OK (рис. 4). После этого будет отображен стандартный диалог выбора переменных.

4. Выбрать зависимую (выходную) переменную (в данном случае – переменная КЛАСС) (рис. 5).

Рис. 5. Входные данные

5. Для отображения Мастера решений нажать кнопку OK на стартовой панели.

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

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

6. Ввести число 10 для сохранения сетей, чтобы Мастер решений сохранил только 10 наилучших вариантов сетей.

Вкладка Мастер решений Быстрый будет иметь вид, отображенный на рис. 6.

Рис. 6. Настройки для проведения анализа

Нажать кнопку OK , чтобы Мастер решений начал построение

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



Рис. 7. Результаты обучения

7. Нажать кнопку Описательные стат . на вкладке Быстрый в диалоге Результаты , чтобы отобразить две итоговые таблицы: Классификация и Матрица ошибок.

В таблице классификаций (рис. 8) представлена полная информация о решении соответствующей задачи. В этой таблице для каждого выходного класса, предсказанной каждой моделью, существует несколько столбцов. Например, столбец, обозначенный КЛАСС.1.11, соответствует предсказаниям модели 1 в классе ПЕРЕГРЕВА для переменной КЛАСС . В первой строке приводится информация о количестве наблюдений различных типов перегревов в файле данных. Во второй (третьей) строке отображаются данные (для каждого класса) о количестве правильно (неправильно) классифицированных наблюдений. В четвертой строке приводятся «неизвестные» наблюдения. Матрица ошибок обычно используется в задачах с несколькими вы-

ходными классами.

8. Для отображения итоговой статистики необходимо открыть Анализ (кнопка Результаты в строке Анализа или команда Продолжить в меню Анализ ). В группе Выборки для вывода результатов выбрать опцию Все (отдельно). Затем нажать кнопку Описательные статистики . Итоговая таблица классификаций разделена на четыре части. Заголовки столбцов имеют различные префиксы: О, К, Т и И , которые соответствуют обучающей, контрольной, тестовой и игнорируемой выборкам соответственно. По умолчанию, наблюдения разделены на три подмножества в отношении 2:1:1. Таким образом, выделено 50 обучающих наблюдений, 25 контрольных наблюдений и 25 проверочных наблюдений. Результаты работы нейронной сети на этих множествах практически совпадают, то есть качество нейронной сети можно считать приемлемым.

Рис. 8. Таблица классификаций

9. Для завершения Анализа нажать кнопку OK в диалоге Результаты . На стартовой панели при нажатии на кнопку Отмена все построенные нейронные сети будут удалены. Сохранять нейронные сети необходимо для того, чтобы быстрее провести обучение нейронных сетей, соответственно перед этим найти сеть с наилучшей производительностью, и далее построенные нейронные сети сохраняются для дальнейшего использования. Для сохранения нейронной сети выбрать вкладку Сети/Ансамбли и нажать кнопку Сохранить файл сети как... . (файл имеет расширение.snn).

Задания

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

2. Ввести исходные данные в соответствии с табл. 1, конкретные значения переменных получить у преподавателя.

3. Построить нейронную сеть в соответствии с настройками:

Тип задачи: классификация;

Инструмент: мастер решений;

Количество сетей: 25;

5. Сделать анализ построения нейронной сети и отразить в отчете.

6. Оформить отчет о выполненной работе.

STATISTICA Automated Neural Networks - единственный в мире нейросетевой программный продукт, полностью переведенный на русский язык!

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

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

В чем преимущества использования ?

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

    Исключительная простота в использовании плюс непревзойденная аналитическая мощность; так, например, не имеющий аналогов инструмент автоматического нейросетевого поиска Автоматизированная нейронная сеть (АНС) проведет пользователя через все этапы создания различных нейронных сетей и выберет наилучшую (в противном случае эта задача решается длительным путем "проб и ошибок" и требует серьезного знания теории);

    Самые современные, оптимизированные и мощные алгоритмы обучения сети (включая методы сопряженных градиентов, алгоритм Левенберга-Марквардта, BFGS, алгоритм Кохонена); полный контроль над всеми параметрами, влияющими на качество сети, такими как функции активации и ошибок, сложность сети;

    Поддержка ансамблей нейросетей и нейросетевых архитектур практически неограниченного размера;

    Богатые графические и статистические возможности, которые облегчают интерактивный исследовательский анализ;

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

    Полная интеграция с мощными автоматическими инструментами STATISTICA ; запись полноценных макросов для любых анализов; создание собственных нейросетевых анализов и приложений с помощью STATISTICA Visual Basic, вызов STATISTICA Automated Neural Networks из любого приложения, поддерживающего технологию СОМ (например, автоматическое проведение нейросетевого анализа в таблице MS Excel или объединение нескольких пользовательских приложений, написанных на языках C, С++, С#, Java и т. д.).

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

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

    Поддержка загрузки и анализа нескольких моделей.

  • Опциональная возможность генерации исходного кода на языках C, C++, C#, Java, PMML (Predictive Model Markup Language), который может быть легко интегрирован во внешнюю среду для создания собственных приложений.

Генератор кода

Генератор кода STATISTICA Автоматизированные Нейронные Сети может сгенерировать исходный системный программный код нейросетевых моделей на языках C, Java и PMML (Predictive Model Markup Language). Генератор кода является дополнительным приложением к системе STATISTICA Автоматизированные Нейронные Сети , которое позволяет пользователям на основе проведенного нейросетевого анализа генерировать C или Java-файл с исходным кодом моделей и интегрировать его в независимые внешние приложения.

    Генератор кода требует наличия STATISTICA Автоматизированные Нейронные Сети .

    Генерирует версию исходного кода нейронной сети (в виде файла на языке C, C++, C# или Java).

    C или Java-файл с кодом можно затем встроить во внешние программы.

STATISTICA Automated Neural Networks в нейросетевых вычислениях

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

STATISTICA Automated Neural Networks (SANN) предоставляет разнообразные функциональные возможности, для работы с очень сложными задачами, включающие не только новейшие Архитектуры Нейронных Сетей и Алгоритмы обучения , но также и новые подходы к построению нейросетевых архитектур с возможностью перебора различных функций активаций и ошибок, что позволяет проще интерпретировать результаты. Кроме того, разработчики программного обеспечения и пользователи, экспериментирующие с настройками приложений, оценят тот факт, что после проведения заданных экспериментов в простом и интуитивно понятном интерфейсе STATISTICA Automated Neural Networks (SANN) , нейросетевые анализы могут быть объединены в пользовательском приложении. Это достигается либо с помощью библиотеки СОМ-функций STATISTICA , которая полностью отражает все функциональные возможности программы, либо с помощью кода на языке C/C++, который генерируется программой и помогает запустить полностью обученную нейронную сеть.

Модуль STATISTICA Automated Neural Networks полностью интегрирован с системой STATISTICA , таким образом доступен огромный выбор инструментов редактирования (подготовки) данных для анализа (преобразования, условия выбора наблюдений, средства проверки данных и т. д.).

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

Шкалирование данных и преобразование номинальных значений

Перед тем, как данные будут введены в сеть, они должны быть определенным образом подготовлены. Столь же важно, чтобы выходные данные можно было правильно интерпретировать. В STATISTICA Automated Neural Networks (SANN) имеется возможность автоматического масштабирования входных и выходных данных; также могут быть автоматически перекодированы переменные с номинальными значениями (например, Пол={Муж,Жен}), в том числе по методу 1-из-N кодирования. STATISTICA Automated Neural Networks (SANN) содержит также средства работы с пропущенными данными. Имеются средства подготовки и интерпретации данных, специально предназначенные для анализа временных рядов. Большое разнообразие аналогичных средств реализовано также в STATISTICA .

В задачах классификации имеется возможность установить доверительные интервалы, которые STATISTICA Automated Neural Networks (SANN) использует затем для отнесения наблюдений к тому или иному классу. В сочетании со специальной реализованной в STATISTICA Automated Neural Networks (SANN) функцией активации Софтмакс и кросс-энтропийными функциями ошибок это дает принципиальный теоретико-вероятностный подход к задачам классификации.

Выбор нейросетевой модели, ансамбли нейронных сетей

Многообразие моделей нейронных сетей и множество параметров, которые необходимо установить (размеры сети, параметры алгоритма обучения и т. д.), может поставить иного пользователя в тупик. Но для этого и существует инструмент автоматического нейросетевого поиска, , который может автоматически провести поиск подходящей архитектуры сети любой сложности, см. ниже. В системе STATISTICA Automated Neural Networks (SANN) реализованы все основные типы нейронных сетей, используемые при решении практических задач, в том числе:

    многослойные персептроны (сети с прямой передачей сигнала);

    сети на радиальных базисных функциях;

    самоорганизующиеся карты Кохонена.

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

Кроме того, в системе STATISTICA Automated Neural Networks (SANN) реализованы Сетевые ансамбли , формируемые из случайных (но значимых) комбинаций вышеперечисленных сетей. Этот подход особенно полезен при зашумленных данных и данных небольшой размерности.

В пакете STATISTICA Automated Neural Networks (SANN) имеются многочисленные средства, облегчающие пользователю выбор подходящей архитектуры сети. Статистический и графический инструментарий системы включает гистограммы, матрицы и графики ошибок для всей совокупности и по отдельным наблюдениям, итоговые данные о правильной/неправильной классификации, а все важные статистики, например, объясненная доля дисперсии - вычисляются автоматически.

Для визуализации данных в пакете STATISTICA Automated Neural Networks (SANN) реализованы диаграммы рассеяния и трехмерные поверхности отклика, помогающие пользователю понять "поведение" сети.

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

STATISTICA Automated Neural Networks (SANN) автоматически запоминает лучший вариант сети из тех, которые Вы получали, экспериментируя над задачей, и Вы можете обратиться к нему в любой момент. Полезность сети и ее способность к прогнозированию автоматически проверяется на специальном проверочном множестве наблюдений, а также путем оценки размеров сети, ее эффективности и цены неправильной классификации. Реализованные в STATISTICA Automated Neural Networks (SANN) автоматические процедуры кросс-проверки и регуляризации весов позволяют Вам быстро выяснить, является ли Ваша сеть недостаточно или, наоборот, чересчур сложной для данной задачи.

Для улучшения производительности в пакете STATISTICA Automated Neural Networks представлены многочисленные опции настройки сети. Так, Вы можете задать линейный выходной слой сети в задачах регрессии или функцию активации типа софтмакс в задачах вероятностного оценивания и классификации. В системе также реализованы основанные на моделях теории информации кросс-энтропийные функции ошибок и ряд специальных функций активации, включающий Тождественную, Экспоненциальную, Гиперболическую, Логистическую (сигмоидная) и Синус функции как для скрытых, так и выходных нейронов.

Автоматизированная нейронная сеть (автоматический поиск и выбор различных нейросетевых архитектур)

Составной частью пакета STATISTICA Automated Neural Networks (SANN) является инструмент автоматического нейросетевого поиска, Автоматизированная нейронная сеть (АНС) - Automated Network Search (ANS) , который оценивает множество нейронных сетей различной архитектуры и сложности и выбирает сети наилучшей архитектуры для данной задачи.

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

Является чрезвычайно эффективным инструментом при использовании сложных техник, позволяя автоматически находить наилучшую архитектуру сети. Вместо того чтобы тратить многие часы на сидение перед компьютером, предоставьте системе STATISTICA Automated Neural Networks (SANN) сделать эту работу за Вас.

Успех Ваших экспериментов по поиску наилучшего типа и архитектуры сети существенным образом зависит от качества и скорости алгоритмов обучения сети. В системе STATISTICA Automated Neural Networks (SANN) реализованы самые лучшие на сегодняшний день обучающие алгоритмы.

В системе STATISTICA Automated Neural Networks (SANN) реализованы два быстрых алгоритма второго порядка - методы сопряженных градиентов и алгоритм BFGS. Последний представляет собой необычайно мощный современный алгоритм нелинейной оптимизации, и специалисты очень рекомендуют им пользоваться. Также имеется упрощенная версия алгоритма BFGS, требующая меньшего количества памяти, который используется системой в случае, когда возможности оперативной памяти компьютера достаточно ограничены. Эти алгоритмы, как правило, быстрее сходятся и получают более точное решение, чем алгоритмы первого порядка точности, например, Градиентный спуск.

Итеративный процесс обучения сети в системе STATISTICA Automated Neural Networks (SANN) сопровождается автоматическим отображением текущей ошибки обучения и вычисляемой независимо от нее ошибки на проверочном множестве, при этом показывается и график суммарной ошибки. Вы можете прервать обучение в любой момент, просто нажав кнопку. Кроме того, имеется возможность задать условия остановки, при выполнении которых обучение будет прервано; таким условием может быть, например, достижение определенного уровня ошибки, или стабильный рост проверочной ошибки на протяжении заданного числа проходов - "эпох" (что свидетельствует о так называемом переобучении сети). Если переобучение имеет место, это не должно заботить пользователя: STATISTICA Automated Neural Networks (SANN) автоматически запоминает экземпляр наилучшей сети, полученной в процессе обучения, и к этому варианту сети всегда можно обратиться, нажав соответствующую кнопку. После того, как обучение сети завершено, Вы можете проверить качество ее работы на отдельном тестовом множестве.

После того, как сеть обучена, нужно проверить качество ее работы и определить характеристики. Для этого в пакете STATISTICA Automated Neural Networks (SANN) имеется набор экранных статистик и графических средств.

В том случае, если заданы несколько моделей (сетей и ансамблей), то (если это возможно) STATISTICA Automated Neural Networks (SANN) отобразит сравнительные результаты (например, построит кривые отклика нескольких моделей на одном графике, или представит предикторы нескольких моделей в одной таблице). Это свойство очень полезно для сравнения различных моделей, обучаемых на одном наборе данных.

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

Автоматически вычисляются следующие итоговые статистики: среднеквадратичная ошибка сети, так называемая матрица несоответствий (confusion matrix) для задач классификации (где суммируются все случаи правильной и неправильной классификации) и корреляции для задач регрессии. Сеть Кохонена имеет окно Топологической карты, в котором можно визуально наблюдать активации элементов сети.

Готовые решения (пользовательские приложения, использующие STATISTICA Automated Neural Networks )

Простой и удобный интерфейс системы STATISTICA Automated Neural Networks (SANN) позволяет Вам быстро создавать нейросетевые приложения для решения Ваших задач.

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

Обученные нейронные сети могут быть применены к новым наборам данных (для предсказания) несколькими способами: Можно сохранить обученные сети и затем применить их к новому набору данных (для предсказания, классификации или прогнозирования); Можно использовать генератор кода для автоматического создания программного кода на языке С (С++, C#) или Visual Basic и в дальнейшем использовать его для предсказания новых данных в любой программной среде visual basic или С++ (C#), т. е. внедрить полностью обученную нейронную сеть в Ваше приложение. В заключение, все функциональные возможности системы STATISTICA , включая STATISTICA Automated Neural Networks (SANN) , могут быть использованы в качестве СОМ объектов (Component Object Model) в других приложениях (например, Java, MS Excel, C#, VB.NET и т. д.). Например, Вы можете внедрить автоматический анализ, созданный с помощью STATISTICA Automated Neural Networks (SANN) в таблицы MS Excel.

Перечень алгоритмов обучения

    Градиентный спуск

    Сопряженные градиенты

    Обучение Кохонена

    Метод k-средних для Сети радиальных базисных функций

Ограничения в размерах сетей

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

Электронное руководство

В составе системы STATISTICA Automated Neural Networks (SANN) имеется хорошо иллюстрированный учебник, содержащий полное и понятное введение в нейронные сети, а также примеры. Из любого диалогового окна доступна система подробных контекстно-зависимых справок.

Генератор исходного кода

Генератор исходного кода является дополнительным продуктом, который позволяет пользователям легко создавать собственные приложения на базе системы STATISTICA Automated Neural Networks (SANN) . Этот дополнительный продукт создает исходный системный код нейросетевой модели (в виде файла на языке C, C++, C# или Java), который можно отдельно скомпилировать и интегрировать в Вашу программу для свободного распространения. Этот продукт разработан специально для корпоративных системных разработчиков, а также тех пользователей, кому необходимо преобразовать высокооптимизированные процедуры, созданные в STATISTICA Automated Neural Networks (SANN) , во внешние приложения для решения сложных аналитических задач. (Необходимо отметить, что для получения разрешения, пользователи должны сообщить сотрудникам компании сайтssia о распространении программ, использующих сгенерированный код).

Под редакцией В.П. Боровикова

2-е изд., перераб. и доп.

2008 г.

Тираж 1000 экз.

Формат 70x100/16 (170x240 мм)

Исполнение: в мягкой обложке

ISBN 978-5-9912-0015-8

ББК 32.973

УДК 004.8.032.26

Аннотация

Изложены нейросетевые методы анализа данных, основанные на использовании пакета STATISTICA Neural Networks (фирма производитель StatSoft), полностью адаптированного для русского пользователя. Даны основы теории нейронных сетей; большое внимание уделено решению практических задач, всесторонне рассмотрена методология и технология проведения исследований с помощью пакета STATISTICA Neural Networks – мощного инструмента анализа и прогнозирования данных, имеющего широкие применения в бизнесе, промышленности, управлении, финансах. Книга содержит множество примеров анализа данных, практические рекомендации по проведению анализа, прогнозирования, классификации, распознавания образов, управления производственными процессами с помощью нейронных сетей.

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

Предисловие ко второму изданию

Введение. Приглашение в нейронные сети

Глава 1. ОСНОВНЫЕ ПОНЯТИЯ АНАЛИЗА ДАННЫХ

Глава 2. ВВЕДЕНИЕ В ТЕОРИЮ ВЕРОЯТНОСТЕЙ

Глава 3. ВВЕДЕНИЕ В ТЕОРИЮ НЕЙРОННЫХ СЕТЕЙ

Глава 4. ОБЩИЙ ОБЗОР НЕЙРОННЫХ СЕТЕЙ
Параллели из биологии
Базовая искусственная модель
Применение нейронных сетей
Пре- и постпроцессирование
Многослойный персептрон
Радиальная базисная функция
Вероятностная нейронная сеть
Обобщенно-регрессионная нейронная сеть
Линейная сеть
Сеть Кохонена
Задачи классификации
Задачи регрессии
Прогнозирование временных рядов
Отбор переменных и понижение размерности

Глава 5. ПЕРВЫЕ ШАГИ В STATISTICA NEURAL NETWORKS
Начинаем работу
Создание набора данных
Создание новой сети
Создание набора данных и сети
Обучение сети
Запуск нейронной сети
Проведение классификации

Глава 6. ДАЛЬНЕЙШИЕ ВОЗМОЖНОСТИ НЕЙРОННЫХ СЕТЕЙ
Классический пример: Ирисы Фишера
Обучение с кросс-проверкой
Условия остановки
Решение задач регрессии
Радиальные базисные функции
Линейные модели
Сети Кохонена
Вероятностные и обощенно-регрессионные сети
Конструктор сетей
Генетический алгоритм отбора входных данных
Временные ряды

Глава 7. ПРАКТИЧЕСКИЕ СОВЕТЫ ПО РЕШЕНИЮ ЗАДАЧ
Представление данных
Выделение полезных входных переменных.
Понижение размерности
Выбор архитектуры сети
Пользовательские архитектуры сетей
Временные ряды

Глава 8. ПРИМЕРЫ ПРИМЕНЕНИЯ (CASE STUDIES)
Пример 1. Понижение размернотси в геологическом исследование
Пример 2. Распознование образов
Пример 3. Нелинейная классификация двумерных множеств
Пример 4. Сегментация различных образцов топлива по данным лабораторного исследования
Пример 5. Построение модели поведенческого скоринга
Пример 6. Аппроксимация функций
Пример 7. Прогнозирование продаж нефти
Пример 8. Мониторинг и предсказание
температурного режима на установке
Пример 9. Определение достоверности цифровой подписи

Глава 9. КРАТКОЕ РУКОВОДСТВО
Данные
Сети
Обучение сетей
Другие типы сетей
Работа с сетью
Пересылка результатов в систему STATISTICA

Глава 10. КЛАССИЧЕСКИЕ МЕТОДЫ, АЛЬТЕРНАТИВНЫЕ НЕЙРОННЫМ СЕТЯМ
Классический дискриминаннтный анализ в STATISTICA
Классификация
Логит-регрессия
Факторный анализ в STATISTICA

Глава 11. ДОБЫЧА ДАННЫХ В STATISTICA

Приложение 1. Генератор кода

Приложение 2. Интеграция STATISTICA с ERP-системами

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

Предметный указатель

Аннотация: Нейронные сети и статистика. Нейронные сети и нечеткая логика. Нейронные сети и экспертные системы. Нейронные сети и статистическая физика.

Животные делятся на:

  1. принадлежащих Императору,
  2. набальзамированных,
  3. прирученных,
  4. сосунков,
  5. сирен,
  6. сказочных,
  7. отдельных собак,
  8. включенных в эту классификацию,
  9. бегающих, как сумасшедшие,
  10. бесчисленных,
  11. нарисованных тончайшей кистью из верблюжьей шерсти,
  12. прочих,
  13. разбивших цветочную вазу,
  14. издали напоминающих мух.

Х.Л.Борхес, "Аналитический язык Джона Уилкинса"

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

Нейронные сети и статистика

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

Являются ли нейронные сети языком описания?

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

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

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

Я в действительности обнаружил, что с помощью техники, которую я разработал в работе1961 года (…), я мог бы легко ответить на все вопросы, которые мне задают специалисты по мозгу (...) или компьютерщики. Как физик, однако, я хорошо знал, что теория, которая объясняет все, на самом деле не объясняет ничего: в лучшем случае она является языком. Эдуардо Каянелло

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

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

В чем же заключается сходство и различие языков нейрокомпьютинга и статистики в анализе данных. Рассмотрим простейший пример.

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

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

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


Рис. 11.1.

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

Если вспомнить, что с формулами и уравнениями оперирует левое полушарие, а с графическими образами правое, то можно понять, что в сопоставлении со статистикой вновь проявляется "правополушарность" нейросетевого подхода.

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

Как фундаментальное изменение модели.

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

Может дать значительно лучшие значения параметров.

Помимо рассмотренной простейшей модели можно привести примеры других в некотором смысле эквивалентных моделей статистики и нейросетевых парадигм

Сеть Хопфилда имеет очевидную связь с кластеризацией данных и их факторным анализом.

Факторный анализ используется для изучения структуры данных. Основной его посылкой является предположение о существовании таких признаков - факторов, которые невозможно наблюдать непосредственно, но можно оценить по нескольким наблюдаемым первичным признакам. Так, например, такие признаки, как объем производства и стоимость основных фондов, могут определять такой фактор, как масштаб производства. В отличие от нейронных сетей, требующих обучения, факторный анализ может работать лишь с определенным числом наблюдений. Хотя в принципе число таких наблюдений должно лишь на единицу превосходить число переменных рекомендуется использовать хотя бы втрое большее число значение. Это все равно считается меньшим, чем объем обучающей выборки для нейронной сети. Поэтому статистики указывают на преимущество факторного анализа, заключающееся в использовании меньшего числа данных и, следовательно, приводящего к более быстрой генерации модели. Кроме того, это означает, что реализация методов факторного анализа требует менее мощных вычислительных средств. Другим преимуществом факторного анализа считается то, что он является методом типа white-box, т.е. полностью открыт и понятен - пользователь может легко осознавать, почему модель дает тот или иной результат. Связь факторного анализа с моделью Хопфилда можно увидеть, вспомнив векторы минимального базиса для набора наблюдений (образов памяти - см. Лекцию 5). Именно эти векторы являются аналогами факторов, объединяющих различные компоненты векторов памяти - первичные признаки.

Размер: px

Начинать показ со страницы:

Транскрипт

2 УДК ББК Н45 Н45 Нейронные сети. STATISTICA Neural Networks: Методология и технологии современного анализа данных / Под редакцией В. П. Боровикова. 2-е изд., перераб. и доп. М.: Горячая линия Телеком, с, ил. ISBN Изложены нейросетевые методы анализа данных, основанные на использовании пакета STATISTICA Neural Networks (фирма производитель StatSoft), полностью адаптированного для русского пользователя. Даны основы теории нейронных сетей; большое внимание уделено решению практических задач, всесторонне рассмотрена методология и технология проведения исследований с помощью пакета STATISTICA Neural Networks мощного инструмента анализа и прогнозирования данных, имеющего широкие применения в бизнесе, промышленности, управлении, финансах. Книга содержит множество примеров анализа данных, практические рекомендации по проведению анализа, прогнозирования, классификации, распознавания образов, управления производственными процессами с помощью нейронных сетей. Для широкого круга читателей, занимающихся исследованиями в банковской сфере, промышленности, экономике, бизнесе, геологоразведке, управлении, транспорте и других областях. Адрес издательства в Интернет Справочное издание Нейронные сети STATISTICA Neural Networks: Методология и технологии современного анализа данных ББК Корректор В.Н. Михин Подготовка оригинал-макета Е.В. Кормакова Обложка художника В.Г. Ситникова Подписано в печать Формат70 100/16. Усл. изд. л. 32,5. Изд ООО «Научно-техническое издательство «Горячая линия Телеком» Отпечатано в типографии «Тиль-2004» Заказ 05 ISBN STATISTICA Neural Networks (SNN), 2008 В. П. Боровиков, 2008 Оформление издательства «Горячая линия Телеком», 2008

3 Предисловие ко второму изданию Второе издание получившей известность книги существенно дополнено и переработано. Написаны новые главы, посвященные введению в анализ данных, теорию вероятностей, теорию нейронных сетей. Материал, содержащийся в этих главах, позволяет углубленно понимать методологию применения нейронных сетей. В настоящее время нейронные сети интенсивно используются в банках, промышленности, маркетинге, экономике, медицине и других областях, где требуется прогнозирование и углубленное понимание данных. Общепризнанно, что нейронные сети являются естественным дополнением классических методов анализа и применяются там, где стандартные процедуры не дают нужного эффекта. STATISTICA Neural Networks являются единственным в мире программным продуктом для проведения нейросетевых исследований, полностью переведенным на русский язык. Это означает, что весь интерфейс (десятки диалоговых окон и сценариев исследования) и справочная система STATIST1CA Neural Networks переведены на русский язык и доступны пользователю в единой среде. Мы включили в книгу дополнительную главу по классическим методам анализа, что позволяет читателю сравнить различные подходы. Отдельная глава книги посвящена методам добычи данных (Data Mining) современным технологиям анализа данных, объединяющим классические и нейросетевые модели. В работе над книгой приняли участие сотрудники StatSoft Russia: B.C. Pacтунков, А.К. Петров, В.А. Панов. Всем им мы выражаем искреннюю благодарность. Наша особенная признательность Людмиле Екатовой за сложную и кропотливую работу по подготовке рукописи к печати. Научный директор StatSoft Russia В.П. Боровиков

4 Введение Приглашение в нейронные сети За последние несколько лет интерес к нейронным сетям существенно возрос: они применяются в финансах, бизнесе, медицине, промышленности, технике, геологоразведке и других областях. Нейронные сети используются везде, где требуется решать задачи прогнозирования, классификации или управления, поскольку они применимы практически в любой ситуации, когда имеется связь между переменными предикторами (входными переменными) и прогнозируемыми переменными (выходными переменными), даже если эта связь имеет сложную природу и ее трудно выразить в обычных терминах корреляций или различий между группами. Методы нейронных сетей могут использоваться независимо или служить прекрасным дополнением к традиционным методам анализа данных. Большинство статистических методов связано с построением моделей, основанных на тех или иных предположениях и теоретических выводах (например, в предположении, что искомая зависимость является линейной или переменные имеют нормальное распределение). Нейросетевой подход свободен от модельных ограничений, он одинаково годится для линейных и сложных нелинейных зависимостей и особенно эффективен в разведочном анализе данных, когда необходимо выяснить, имеются ли вообще зависимости между переменными. Сила нейронных сетей заключается в их способности самообучаться. Процедура обучения состоит в настройке синаптических весов с целью минимизации функции потерь. В данной книге для построения нейронных сетей используется пакет STATISTICA Neural Networks, имеющий удобный интерфейс и позволяющий проводить исследования в диалоговом режиме. Все диалоговые окна и подсказки, включая электронную справочную систему, полностью переведены на русский язык и доступны пользователям. Нейронные сети STATISTICA это единственный в мире программный продукт для нейросетевых исследований, полностью переведенный на русский язык. Существенным преимуществом пакета STATISTICA Neural Networks является то, что он естественным образом встроен в мощный арсенал аналитических средств программы STATISTICA. Именно сочетание классических и нейросетевых методов дает нужный эффект. Настоящая книга состоит из одиннадцати глав. В первой главе мы описываем основные понятия анализа данных, во второй даем введение в теорию вероятностей. Третья глава содержит теоретическое введение в нейронные сети. Заметим, теория вероятностей является основанием нейронных сетей. Эта глава необходима для углубленного понимания методов и принципов работы нейронных сетей. В ней

5 мы описываем знаменитую формулу Байеса и правило оптимальной байесовской классификации. Четвертая глава содержит общий обзор нейронных сетей, реализованных в STATISTICA Neural Networks, знакомит читателя с интерфейсом программы, опциями, помогает усвоить основные направления анализа. В пятой главе читатель учится делать первые шаги в STATISTICA Neural Networks. В шестой главе описываются дальнейшие возможности нейронных сетей. Подробно рассматриваются сети на основе радиально базисных функций, описываются многослойные персептроны, самоорганизующиеся карты, вероятностные и обобщенно вероятностные модели. Рассказывается, как построить сеть с помощью Мастера решений, удобного средства проведения нейросетевого анализа для начинающих пользователей; дается представление о генетических алгоритмах понижения размерности. В седьмой главе представлены практические советы по решению задач с помощью нейронных сетей. В восьмой главе содержатся решения конкретных задач (case studies). Эта глава особенно интересна широкому кругу читателей, так как показывает технологию нейронных сетей в действии. Примеры охватывают широкий круг приложений: от геологии и промышленности до финансов; рассматриваются задачи классификации, распознавания образов, прогнозирования, управления производственными процессами. В девятой главе читатель найдет краткое руководство по использованию нейросетевого пакета STATISTICA Neural Networks. Десятая глава посвящена методам статистики, альтернативным нейронным сетям. Здесь описываются методы дискриминантного анализа, факторного анализа и логистической регрессии. Очевидно, пользователь должен иметь возможность сравнить методы и выбрать наиболее адекватные. В одиннадцатой главе мы кратко описываем современные технологии добычи данных, в которых методы нейронных сетей сочетаются с классическими методами анализа. Приведем типичные примеры применения нейронных сетей. В промышленности актуальной является задача управления производственными процессами (производственной установкой). Например, в газовой отрасли промышленности вы можете настроить нейронную сеть и автоматически изменять параметры, чтобы контролировать качество продукта на выходе. Аналогичные задачи возникают при переработке нефти. Можно контролировать качество бензина на основе спектральных характеристик, измеряя спектр, относить произведенный продукт к определенному классу. Так как зависимости носят нелинейный характер, то нейронные сети являются подходящим инструментом для проведения классификации. В финансовой сфере актуальной задачей является потребительское кредитование. За последние годы потребительское кредитование интенсивно развивалось и стало одним из наиболее растущих секторов банковского бизнеса. Число финансовых учреждений, предоставляющих товары и услуги в кредит, растет

6 день за днем. Риск этих учреждений зависит от того, насколько хорошо они могут отличать «хороших» претендентов на получение кредита от «плохих». Анализируя кредитную историю заемщика, можно предсказать способ его действий и принять решение о выдаче займа или отказе в кредите. Интересной задачей является различение электронной подписи, распознавания голоса, разнообразные задачи, связанные с геологоразведкой. Для решения этих задач могут применяться нейронные сети. Далее мы представим цепочку диалоговых окон в пакете Нейронные сети STATISTICA и покажем, как организован диалог с пользователем системы. Обратим внимание на удобный интерфейс и наличие инструментов Мастера решений и Конструктора сетей, позволяющих пользователям конструировать собственные сети и выбирать наилучшие. Итак, прежде всего, запустим пакет STATISTICA Neural Networks. Шаг 1. Начинаем со стартовой панели (рис. 1). Рис. 1. Стартовая панель нейронных сетей В данной панели можно выбрать различные виды анализа, которые необходимо выполнить: регрессию, классификацию, прогнозирование временных рядов, кластерный анализ. Выберите, например, временные ряды, если хотите построить прогноз. Далее следует выбрать инструмент решения в разделе Инструмент. Для начинающих пользователей рекомендуется выбрать Мастер решений, для опытного пользователя использовать Конструктор сетей. Мы

7 выберем Мастер решений. Шаг 2. Нажав кнопку Данные, откройте файл данных. Если файл уже открыт, эту кнопку нажимать не следует. При нажатии кнопки Дополнительно появляется окно, где доступны дополнительные инструменты, в частности процедуры понижения размерности, генератор кода и др. (рис. 2). Рис. 2. Стартовая панель Нейронные сети STATISTICA Шаг 3. Из открытого файла выберем переменные для анализа. Переменные могут быть непрерывными и категориальными; кроме того, наблюдения могут принадлежать разным выборкам (рис. 3).

8 Рис. 3. Окно выбора переменных Шаг 4. Зададим длительность анализа, указав число испытываемых сетей или время решения (рис. 4). Рис. 4. Мастер решений вкладка Быстрый Шаг 5. Выберем тип сетей, предлагаемые программой, с которыми будем работать: линейная сеть, вероятностная сеть, сеть, основанная на радиальных базисных функциях, многослойный персептрон. Можно выбрать любой тип сетей или комбинацию (рис. 5).

9 Рис. 5. Мастер решений вкладка Тип сети Шаг 6. Зададим формат представления итоговых результатов (рис. 6). Рис. 6. Мастер решений вкладка Обратная связь Шаг 7. Запускаем процедуру обучения нейронных сетей, нажав кнопку ОК (рис. 7).

10 Рис. 7. Отображение процесса обучения Шаг 8. В окне результатов можно проанализировать полученные решения. Программа отберет лучшие сети и покажет качество решения (рис.8). Рис. 8. Окно результатов вкладка Быстрый Шаг 9. Выбираем определенную сеть (рис. 9).

11 Рис. 9. Диалоговое окно выбора моделей Шаг 10. Одним из способов проверки является сравнение наблюдаемых значений и предсказанных результатов. Сравнение наблюдаемых и предсказанных значений для выбранной сети представлено на рис. 10.

12 Pиc. 10. Таблица наблюдаемых и предсказанных значений Шаг 11. Сохраняем лучшие сети с целью дальнейшего использования, например, для автоматического построения прогнозов (рис. 11 и 12). Рис. 11. Стартовая панель выбор и сохранение сетей/ансамблей

13 Рис. 12. Стандартное окно сохранения файла сети Именно такое типичный сценарий исследования в пакете Нейронные сети STATISTICA. Более систематическое изложение содержится в остальных главах книги.

14 Глава 9 КРАТКОЕ РУКОВОДСТВО В этой главе вы найдете краткое руководство по работе в системе STATISTICA Neural Networks (Нейронные сети STATISTICA). В пакете Нейронные сети STATISTICA реализованы все типы нейронных сетей, которые используются в настоящее время для решения практических задач, а также самые современные алгоритмы быстрого обучения, автоматического конструирования и отбора значимых предикторов. ДАННЫЕ Введение Напомним еще раз, что нейронные сети учатся на примерах и строят модель по обучающим данным. Обучающие данные представляют собой определенное количество наблюдений (образцов), для каждого из которых указаны значения нескольких переменных. Большинство из этих переменных будут заданы как входные, и сеть будет учиться находить соответствие между значениями входных и выходных переменных (чаще всего выходная переменная бывает одна), используя для этого информацию, содержащуюся в обучающих данных. После того как сеть обучится, она может быть использована для предсказания неизвестных выходных значений по предъявленным входным значениям. Таким образом, первый этап работы с нейронной сетью связан с формированием набора данных. Создать таблицу данных в пакете STATISTICA (Neural Networks) можно с помощью команды Создать меню Файл (или соответствующей кнопки на панели инструментов), указав число переменных и наблюдений. Созданный в результате новый файл данных будет поначалу содержать только пустые ячейки, а значения всех переменных в нем будут установлены как пропущенные (рис. 9.1).

15 Рис. 9.1 Выбор входных/выходных переменных, а также множеств, на которые разделяются переменные, производится внутри модуля Нейронные сети (но уже после того, как таблица с данными подготовлена). Однако обычно поступают не так: файл данных импортируется из какого то другого пакета с помощью команды Открыть (при этом потребуется указать формат данных) или команды Внешние данные меню Файл, которая позволяет создавать сложные запросы к различным базам данных (рис. 9.2 и 9.3).

16 Рис. 9.2 Рис. 9.3 В модуле Нейронные сети имеется возможность непосредственно считывать файлы данных системы STATISTICA, при этом автоматически определяются номинальные переменные (т.е. переменные, которые могут принимать одно из нескольких заданных текстовых значений, например, Пол = {Муж, Жен}), а такие типы данных, как даты и время, переводятся в числовое представление (на вход

17 нейронной сети могут подаваться только числовые данные). Если вы получаете данные в какой то другой программе (например, электронных таблицах), то, прежде всего, нужно будет осуществить импорт данных средствами системы STATISTICA. Помимо функции импорта в системе STATISTICA реализованы и другие возможности доступа к внешним источникам информации: использование буфера обмена Windows (STATISTICA понимает форматы данных в буфере обмена, применяемые в таких приложениях, как Excel и Lotus); доступ к различным базам данных с помощью инструмента построения запросов STATISTICA Query. Текстовые файлы с разделителями знаками табуляции или запятыми можно импортировать непосредственно в пакет STATISTICA. При этом по желанию, первую строку файла можно оставлять для имен переменных, а первый столбец для имен наблюдений (рис. 9.4). Рис. 9.4 После того, как файл данных открыт или вновь создан, его содержимое можно редактировать как обычную таблицу среды STATISTICA. В STATISTICA реализованы основные операции с данными, характерные для табличных процессоров, в том числе: редактирование, выделение блока ячеек,

18 пересылка в буфер обмена и т.д. Кроме этого, здесь имеются специальные операции для задания типа и имен переменных и наблюдений, их добавления, удаления, перемещения и копирования. Типы переменных и наблюдений В программе STATISTICA Нейронные сети все наблюдения из файла данных делятся на четыре группы (множества): обучающие, контрольные, тестовые и неучитываемые. Обучающее множество служит для обучения нейронной сети, контрольное для независимой оценки хода обучения, тестовое для окончательной оценки после завершения серии экспериментов. Неучитываемое множество не используется вовсе (оно может понадобиться, если часть данных испорчена, ненадежна или их просто слишком много). Аналогично все переменные делятся на входные, выходные, входные/выходные (например, при анализе временных рядов) и неучитываемые (последние обычно являются «кандидатами на роль входных переменных», чья полезность для построения прогноза заранее неясна, и потому в процессе экспериментирования некоторые из них отключают). Тип переменных и наблюдений задается в модуле Нейронные сети. Число входных и выходных переменных, а также обучающих, контрольных и тестовых наблюдений выводится в соответствующих полях в верхней части стартового окна STATISTICA Нейронные сети. Пропорции между типами можно изменить, редактируя установки в этих полях. Это не приведет к добавлению новых или удалению имеющихся наблюдений или переменных: будет меняться только тип уже существующих наблюдений или переменных. Подобная операция используется для формирования несмещенного контрольного множества. Сначала нужно указать размер этого множества (обычно на него отводится половина всего набора данных, а другая половина на обучающее; если же необходимо еще и тестовое множество, то файл надо разбить на три части). Затем, с помощью опции Случайный выбор все имеющиеся наблюдения случайным образом распределяются по различным типам. При первом чтении файла данных в программе STATISTICA Нейронные сети необходимо определить, какие из переменных будут входными, а какие выходными; точно также и для наблюдений необходимо задать параметры выборок для обучения, проверки, тестирования. Установки, относящиеся к переменным, необходимо производить на стартовом окне модуля Нейронные сети, а установки, касающиеся наблюдений, нужно производить с помощью инструмента Выборки в диалоговом окне задания параметров анализа (на него вы переходите после стартового окна). Заметим, однако, что если задана переменная идентификации выборок, то ее необходимо задавать на стартовом окне при задании входных/выходных переменных. Имена переменных и наблюдений Имеется возможность присваивать имена отдельным переменным и/или

19 наблюдениям. Это делается с помощью команды Спецификации переменных, команды Все спецификации переменных, Диспетчер имен наблюдений меню Данные. Можно и просто дважды щелкнуть на имени в поле заголовка строки или столбца, и имя можно будет ввести непосредственно в таблицу. В программе STATISTICA Нейронные сети не требуется в обязательном порядке присваивать имена наблюдениям или переменным. Если имя не было задано, то в таблице выводится условное имя, принимаемое по умолчанию. Определение переменной (номинальные значения) В программе STATISTICA Нейронные сети имеются специальные возможности для работы с категориальными (номинальными) переменными. Для номинальных переменных существуют специальные методы преобразования значений, а тип выходных переменных позволяет отличить задачи классификации (где используются номинальные переменные) от задач регрессии (где используются числовые переменные). Переменная может быть либо числовой, либо номинальной, но не то и другое вместе. Чтобы определить номинальную переменную в пакете STATISTICA Нейронные сети нужно выбрать эту переменную как категориальную (либо на вкладке Быстрый, нажав кнопку Переменные, либо перейти на вкладку Дополнительно и нажать кнопку Тип переменной). При импорте файлов с разделителями знаками табуляции или запятыми, в случае, если они содержат номинальные значения (представленные строками текста), программа STATISTICA Нейронные сети автоматически распознает их и сама определяет нужные номинальные значения. Добавление и удаление наблюдений и переменных Добавлять, удалять, копировать и перемещать наблюдения и переменные можно с помощью меню Данные или непосредственно в таблице. Различные команды меню Данные Переменные и Данные Наблюдения помогают достичь большей эффективности, а средства работы с таблицей непосредственно более удобны в работе. Добавить новые наблюдения можно двумя способами: 1. Выделить какое либо наблюдение. Щелкнуть левой кнопкой мыши на заголовок этого наблюдения и выбрать Добавить наблюдения. Можно поступить и так: зайти в меню Данные Наблюдения Добавить. 2. Наблюдения можно вставлять и из буфера обмена. Для этого небходимо щелкнуть левой кнопкой мыши на название того наблюдения или переменной, в которую мы хотим вставить данные. Чтобы удалить наблюдение или группу наблюдений, нужно обычным образом выделить их через заголовки строк, а затем нажать Ctrl+X. На самом деле при этом наблюдения будут помещены в буфер обмена, поэтому если вы переместите курсор

20 в другое место и нажмете Ctrl+V, наблюдения будут помещены на место курсора, а с помощью сочетаний клавиш Ctrl+С и Ctrl+V наблюдения можно копировать и вставлять. Перемещение и копирование переменных осуществляется аналогично. Пропущенные данные В модуле STATISTICA Нейронные сети имеются специальные средства для обработки пропущенных данных, которые аналогичны используемым в остальных модулях STAT1STICA. Несмотря на то, что программа STATISTICA Нейронные сети может работать с пропущенными данными, подставляя вместо них разумные оценки, тем не менее, как при обучении сети, так и при ее работе не рекомендуется использовать пропущенные значения, если есть такая возможность. Хотя бывает, что объем имеющихся обучающих наблюдений слишком мал, и мы вынуждены использовать все имеющиеся наблюдения. Программа STATISTICA Нейронные сети может автоматически помечать все переменные или наблюдения, содержащие пропущенные данные, как неучитываемые (чтобы они не использовались при анализе). Что именно будет объявляться неучитываемым наблюдения или переменные определяется выбором пользователя. Если у какой то из переменных слишком много значений пропущено, то ее, быть может, стоит исключить из рассмотрения. Если же у переменной отсутствует всего несколько значений, имеет смысл объявить неучитываемыми соответствующие наблюдения. Можно рекомендовать следующую последовательность действий: сначала объявить неучитываемой переменную и просмотреть, сколько значений на самом деле отсутствует. Если таких строк немного, то снова сделать переменную входной, а неучитываемыми объявить наблюдения. В импортируемом файле с разделителями знаками табуляции или запятыми пропущенные данные могут обозначаться пропуском. СЕТИ Введение После того, как создан или импортирован набор данных, можно приступать к построению и обучению нейронных сетей. Сеть пакета STAT1STICA Нейронные сети может содержать слои для пре и постпроцессирования, в которых соответственно исходные данные преобразуются к виду, подходящему для подачи на вход сети, а выходные данные к виду, удобному для интерпретации. При этом номинальные значения преобразуются в числовую форму, числовые значения масштабируются в подходящий диапазон, производится подстановка пропущенных значений, а в задачах с временными рядами формирование блоков последовательных наблюдений. Данные пре и постпроцессирования включают набор входных и выходных переменных, для каждой из которых указывается ее имя и тип, как в исходном наборе данных.

21 Замечание о входных и выходных переменных Набор входных и выходных переменных в пакете STATISTICA Нейронные сети существует отдельно от файла данных. Чтобы упростить процедуру построения сети, программа STATISTICA Нейронные сети автоматически копирует имена и определения переменных из набора данных в создаваемую сеть, а затем отделяет сеть и данные друг от друга. Благодаря этому сеть можно будет использовать для анализа новых данных, не обращаясь к исходному файлу (поскольку сеть помнит имена и типы своих переменных, она будет знать, что делать). Построение сети Чтобы создать новую сеть, следует воспользоваться инструментом Мастер решений или Конструктор сетей. В последовательности диалоговых окон Мастера решений и Конструктора сетей имеются средства для задания и редактирования параметров переменных пре и постпроцессирования. Предварительно, конечно, необходимо определить переменные и выбрать для них подходящий метод преобразования, а также архитектуру сети. Чтобы перейти к диалогу задания параметров анализа необходимо на стартовом окне нажать кнопку ОК. В зависимости от того, каким инструментом мы пользуемся, опция по выбору типа сети будет на вкладке Тип сети (для Мастера решений) или на вкладке Быстрый (Конструктор сетей). Если решается задача моделирования временного ряда, то при использовании любого инструмента будет доступна вкладка Временные ряды. В Мастере решений на этой вкладке устанавливаются границы для окна прогноза (т.е. числа наблюдений, которые используются для прогнозирования на одно наблюдение вперед). В Конструкторе сетей на данной вкладке доступны опции для задания точного значения окна прогноза и параметр количества шагов вперед. В задачах, не связанных с временными рядами, данные опции недоступны. В задачах анализа временных рядов количество шагов вперед берется равным 1 или больше (чаще всего 1, что соответствует прогнозу на один шаг вперед), а временное окно числу предыдущих значений ряда, по которым будет прогнозироваться его следующее значение. Кроме того, в задачах анализа временных рядов перед запуском соответствующего инструмента следует выбрать переменную, содержащую значения временного ряда, как входную и выходную одновременно, поскольку вы собираетесь предсказывать следующие значения переменной по ее же предыдущим значениям. Если строится многослойный персептрон, то можно менять число слоев в сети; для сетей других типов этот параметр менять нельзя (за одним исключением: вероятностная сеть может состоять из трех или четырех слоев в зависимости от того, входит ли в нее матрица потерь). В опции Правка (доступна для инструмента Конструктор сетей в диалоге задания параметров сети) выдается информация о переменных пре и постпроцессирования, включая их имена и определения, а также функцию

22 преобразования, которая используется для подготовки данных к подаче на вход нейронной сети. Можно менять способ подстановки пропущенных значений и управляющие параметры преобразования. Как правило, предлагаемые по умолчанию значения оказываются вполне подходящими. В этом же диалоге показаны текущие параметры архитектуры сети: число элементов в каждом слое и (если прокрутить таблицу вправо) ширина слоев. Количество входных и выходных переменных обычно жестко связано с числом входных и выходных переменных пре и постпроцессирования, функцией преобразования и (в задачах анализа временных рядов) размером временного окна. Программа STATISTICA Нейронные сети сама определяет соответствующие параметры и выводит их серым цветом, показывая тем самым, что редактировать их нельзя. Количество промежуточных слоев можно менять произвольно по своему усмотрению, однако обычно программа предлагает для них эвристически определенные разумные значения по умолчанию. Ширина слоя не несет никакого функционального смысла за исключением выходного слоя сети Кохонена и, как правило, игнорируется. Для того чтобы создать сеть, имея уже загруженный набор обучающих данных, обычно бывает достаточно: 1) Задать типы переменных в стартовом окне (Входные или Выходные). 2) Выбрать тип сети и временные ряды. 3) Задать значения параметров Временное окно и Прогноз вперед (только в задачах анализа временных рядов). 4) Задать число слоев (только для многослойных персептронов). 5) Задать число скрытых элементов (если используется Конструктор сетей). 6) Задать число элементов и ширину выходного слоя (только для сетей Кохонена). 7) Нажать ОК. Редактирование сетей После того, как сеть построена, ее конструкцию можно изменять с помощью инструмента Редактор моделей. При этом менять можно все параметры, использованные при ее построении, а также ряд дополнительных характеристик. Инструмент также позволяет менять имена и определения входных и выходных переменных, их функции и параметры преобразования и методы замены пропущенных значений. Также здесь имеются возможности для добавления новых и удаления уже существующих переменных и изменения параметров временного ряда (Временное окно и Прогноз вперед). Этими возможностями пользуются редко. Кроме того, редактор пре и постпроцессирования дает возможность менять параметры классификации, которые не задаются при построении сети, в то время как при работе может возникнуть необходимость их корректировки. Значения параметров классификации используются только при решении задач классификации, т.е. когда, по крайней мере, одна из выходных переменных является номинальной. При работе сети программа STATISTICA Нейронные сети принимает решение по классификации, основываясь на значениях этих выходных переменных. Так, если имеется номинальная выходная переменная с тремя возможными

23 значениями и применяется кодирование 1 из N, программа должна решать, следует ли, например, трактовать выходной вектор (0,03;0,98;0,02) как принадлежность ко второму классу (рис. 9.5). Рис. 9.5 Этот вопрос решается заданием порогов принятия и отвержения. При кодировании методом 1 из N решение о классификации принимается, если одно из N выходных значений превысит порог принятия, а остальные окажутся ниже порога отвержения; если это условие не выполняется, то результат считается неопределенным (и выдается как пропущенное значение). При установленных в программе по умолчанию значениях порога принятия (0,95) и отвержения (0,05) приведенный выше пример действительно будет отнесен ко второму классу. Выбор менее жестких порогов даст более результативную классификацию, но может привести к большему проценту ошибок. Способ интерпретации значений параметров Принять и Отвергнуть зависит от типа сети. Для некоторых типов сетей (например, сетей Кохонена) большие значения приводят к большим ошибкам, а решение о классификации принимается, если выходное значение оказалось ниже порога принятия (рис. 9.6 и 9.7).

24 Рис. 9.6

25 Рис. 9.7 Редактор сети дает возможность менять некоторые другие параметры сети. Так, можно изменить тип функции ошибок, которая используется при обучении сети и для оценки качества ее работы. Можно также выбрать конкретные слои сети и изменить в них функции активации и постсинаптические потенциальные (PSP) функции. Имеется также возможность добавлять или удалять элементы сети. Как правило, это можно делать только с промежуточными слоями, поскольку входные и выходные элементы привязаны к переменным пре и постпроцессирования (при добавления или удалении переменных будут добавляться или удаляться соответствующие элементы). Исключите составляют сети Кохонена, где можно добавлять и удалять выходные элементы. Чтобы добавить или удалить скрытые элементы, нужно зайти на вкладку Слои и удалить элементы скрытого слоя. Можно также использовать средства вырезания, копирования и вставки столбцов таблицы весов, которую можно редактировать на вкладке Веса. Все это позволяет экспериментировать с различными архитектурами сетей, не создавая сеть каждый раз заново. Из сети можно удалить некоторый слой целиком. Это требуется в редких случаях, например, для отделения препроцессирующей половины автоассоциативной сети при понижении размерности. В таблице весов показаны все веса и пороги либо для выделенного слоя, либо для всей сети. При желании веса и пороги можно редактировать непосредственно, однако это весьма нехарактерно (значения весов устанавливаются алгоритмами обучения). Эти данные выводятся главным образом для того, чтобы значения весов можно было переслать в другую программу для дальнейшего анализа. ОБУЧЕНИЕ СЕТЕЙ После того, как сеть построена, ее нужно обучить на имеющихся данных. В пакете STATISTICA Нейронные сети для обучения сетей каждого типа имеются специальные алгоритмы, сгруппированные по типам в меню Обучение (эти параметры доступны только при использовании Конструктора сетей). Многослойный персептрон Для обучения многослойных персептронов в пакете STATISTICA Нейронные сети реализовано пять различных алгоритмов обучения. Это хорошо известный алгоритм обратного распространения, быстрые методы второго порядка спуск по сопряженным градиентам и Левенберга Маркара, а также методы быстрого распространения и «дельта дельта с чертой» (представляющие собой вариации метода обратного распространения, которые в некоторых случаях работают быстрее). Все эти методы являются итерационными и способы их применения во многом схожи. В большинстве ситуаций следует остановиться на методе сопряженных градиентов, так как здесь обучение происходит значительно быстрее (иногда на

26 порядок величины), чем методом обратного распространения. Последний следует предпочесть только в том случае, когда в очень сложной задаче требуется быстро найти удовлетворительное решение, или когда данных очень много (порядка десятков тысяч наблюдений) и даже есть известный их избыток. Метод Левенберга Маркара для некоторых типов задач может оказаться гораздо эффективнее метода сопряженных градиентов, но его можно использовать только в сетях с одним выходом, среднеквадратичной функцией ошибок и не очень большим числом весов, так что фактически область его применения ограничивается небольшими по объему задачами регрессии. Итерационное обучение Алгоритм итерационного обучения последовательно проходит ряд так называемых эпох, на каждой из которых на вход сети подается наблюдение за наблюдением весь набор обучающих данных, вычисляются ошибки и по ним корректируются веса сети. Алгоритмы этого класса подвержены нежелательному явлению переобучения (когда сеть хорошо учится выдавать те же выходные значения, что и в обучающем множестве, но оказывается неспособной обобщить закономерность на новые данные). Поэтому качество работы сети следует проверять на каждой эпохе с помощью специального контрольного множества (кросс проверка). За ходом обучения можно следить в окне График ошибки обучения, где на графике изображается среднеквадратичная ошибка на обучающем множестве на данной эпохе. В случае, если включена кросс проверка, выводится также среднеквадратичная ошибка на контрольном множестве. С помощью расположенных под графиком элементов управления можно менять масштаб изображения, а если график целиком не помещается в окне, под ним появляются линейки прокрутки (рис. 9.8).

27 Рис. 9.8 Если требуется сопоставить результаты различных прогонов обучения, то нужно нажать кнопку Дополнительно в окне обучения, а затем снова нажать кнопку Обучить (повторное нажатие кнопки Обучить без инициализации просто продолжит обучение сети с того места, где оно было прервано). По окончании обучения с помощью кнопок, расположенных над полем условных обозначений, график можно переслать в систему STATISTICA (кнопка). Важно, что на графике можно легко заметить эффект переобучения. Поначалу и ошибка обучения, и контрольная ошибка убывают. С началом переобучения ошибка обучения продолжает убывать, а ошибка контроля начинает расти. Рост проверочной ошибки сигнализирует о начале переобучения и свидетельствует о том, что алгоритм обучения начинает быть деструктивным (и одновременно о том, что более подходящей может оказаться сеть меньшего размера). Если наблюдается переобучение, то процедуру обучения можно прервать, нажав кнопку Стоп Stop в окне обучения или клавишу Esc. Можно также задать автоматическую остановку программы STATISTICA Нейронные сети с помощью условий остановки. Условия остановки задаются в одноименном окне, доступ к которому осуществляется через меню Обучение Окончание анализа. Кроме максимального числа эпох, отводимого на обучение (которое задается на вкладке Быстрый), здесь можно потребовать, чтобы обучение прекращалось при достижении определенного уровня ошибки или когда ошибка перестает уменьшаться на определенную величину. Целевое значение и минимальное уменьшение могут задаваться раздельно для ошибки обучения и контрольной ошибки. Самое лучшее средство борьбы с переобучением задать нулевой уровень минимального улучшения (т.е. не допускать ни малейшего ухудшения). Однако, поскольку при обучении присутствует шум, обычно не рекомендуется прекращать обучение только потому, что на одной очередной эпохе ошибка ухудшилась. Поэтому в системе введен специальный параметр улучшения Окно, в котором задается число эпох, на протяжении которых должно наблюдаться ухудшение, и только после этого обучение будет остановлено. В большинстве случаев для этого параметра вполне подходит значение 5. Сохранение лучшей сети Независимо от того, применяется ли ранняя остановка, в результате переобучения вы можете получить сеть, которая уже успела ухудшить свои свойства. В таком случае вы можете восстановить наилучшую конфигурацию сети из всех, полученных в процессе обучения, с помощью команды Лучшая сеть (меню Обучение Дополнительно) (рис. 9.9).

28 Рис. 9.9 Если функция Лучшая сеть включена, программа STATISTICA Нейронные сети автоматически сохраняет наилучшую из сетей, полученных в ходе обучения (по показателю контрольной ошибки). При этом учитываются все прогоны обучения. Таким образом, программа STATISTICA Нейронные сети автоматически хранит наилучший результат всех ваших экспериментов. Можно также установить штраф за элемент (Unit Penalty) с тем, чтобы при сравнении штрафовать сети с большим числом элементов (наилучшая сеть обычно представляет собой компромисс между качеством проверки и размером сети). Обратное распространение Перед применением алгоритма обратного распространения необходимо задать значения ряда управляющих параметров. Наиболее важными управляющими параметрами являются скорость обучения, инерция и перемешивание наблюдений в процессе обучения (заметим здесь, что преимущество метода сопряженных градиентов заключается не только в скорости, но и малом числе управляющих параметров) (рис. 9.10).

29 Рис Параметр П Скорость обучения задает величину шага при изменении весов: при недостаточной скорости алгоритм медленно сходится, а при слишком большой он неустойчив и склонен к осцилляциям. К сожалению, величина наилучшей скорости зависит от конкретной задачи; для быстрого и грубого обучения подойдут значения от 0,1 до 0,6; для достижения точной сходимости требуются гораздо меньшие значения (например, 0,01 или даже 0,001, если эпох много тысяч). Иногда полезно уменьшать скорость в процессе обучения. В программе STATISTICA Нейронные сети можно задать начальное и конечное значения скорости, в этом случае по мере обучения производится интерполяция между ними. Начальная скорость задается в левом поле, конечная в правом (рис. 9.11).

30 Рис Коэффициент инерции (Момент) помогает алгоритму не застревать в низинах и локальных минимумах. Этот коэффициент может иметь значения в интервале от нуля до единицы. Некоторые авторы рекомендуют и его менять в процессе обучения. К сожалению, здесь тоже «правильное» значение зависит от задачи и его можно найти только опытным путем. При использовании метода обратного распространения обычно рекомендуется от эпохи к эпохе менять порядок наблюдений, поскольку это снижает вероятность того, что алгоритм застрянет в локальном минимуме, а также уменьшает эффект переобучения. Чтобы воспользоваться этой возможностью, установите режим Перемешивать наблюдения. Оценка качества работы сети После того, как сеть обучена, стоит проверить, насколько хорошо она работает. Среднеквадратичная ошибка, которая выдается в окне График ошибки обучения, представляет лишь грубую меру производительности. Более полезные характеристики выдаются в окнах Статистики классификации и Статистики регрессии (доступ к обоим происходит через окно Результатов анализа). Окно Статистики классификации действует в случае номинальных выходных переменных. Здесь выдаются сведения о том, сколько наблюдений каждого класса из файла данных (каждый из которых соответствует номинальному значению) было классифицировано правильно, сколько неправильно и сколько не классифицировано, а также приводятся подробности об ошибках классификации. Обучив сеть, нужно просто открыть окно Описательные статистики (рис. 9.12).

31 Рис Статистики могут быть получены раздельно для обучающего, контрольного и тестового множеств. В верхней части таблицы приводятся суммарные статистики (общее число наблюдений в каждом классе, число классифицированных правильно, неправильно и неклассифицированных), а в нижней части кросс результаты классификации (сколько наблюдений из данного столбца было отнесено к данной строке) (рис. 9.13). Рис Если в этой таблице много ответов Неизвестно, но мало или совсем нет ответов Неправильно, то, вероятно, следует ослабить пороги принятия и отвержения (меню Правка Пре/постпроцессирование Edit PrelPost Processing) (рис. 9.14).

32 Рис Окно Статистики регрессии используется в случае числовых выходных переменных. В нем суммируется точность регрессионных оценок. Наиболее важной статистикой является отношение стандартных отклонений (S.D. ratio), приведенное внизу таблицы. Она представляет собой отношение стандартного отклонения ошибки прогноза к стандартному отклонению исходных данных. Если бы у нас вообще не было входных данных, то лучшее, что мы могли бы взять в качестве прогноза для выходной переменной это ее среднее значение по имеющейся выборке, а ошибка такого прогноза была бы равна стандартному отклонению выборки. Если нейронная сеть работает результативно, мы вправе ожидать, что ее средняя ошибка на имеющихся наблюдениях будет близка к нулю, а стандартное отклонение этой ошибки будет меньше стандартного отклонения выборочных значений (иначе сеть давала бы результат не лучше, чем простое угадывание). Таким образом, отношение стандартных отклонений значительно меньшее единицы, говорит об эффективности сети. Величина, равная единице минус отношение стандартных отклонений, равна доле объясненной дисперсии модели. Сети Кохонена Алгоритм обучения сетей Кохонена в некоторых отношениях похож на алгоритмы обучения многослойных персептронов: он является итерационным и осуществляется по эпохам, при этом на график может быть выведена среднеквадратичная ошибка обучения (хотя на самом деле она является средним квадратом совсем другой меры ошибки, чем в многослойных персептронах). Однако у алгоритма Кохонена есть ряд особенностей. Наиболее существенная из них состоит в том, что обучение здесь неуправляемое, т.е. в данных может вообще не содержаться никаких выходных значений, а если такие есть, то они игнорируются. Работа алгоритма определяется двумя параметрами: Скорость обучения и Окрестность. Обучение происходит так: очередное наблюдение подается на вход сети, обрабатывается ею, выбирается выигравший (наиболее активный) радиальный элемент (т.е. элемент второго слоя сети), и затем он и его ближайшие соседи корректируются так, чтобы лучше воспроизводить обучающее наблюдение. Скорость обучения управляет степенью адаптации, а окрестность определяет

33 количество корректируемых элементов. Обычно работа алгоритма Кохонена разбивается на два этапа упорядочивание и тонкая настройка, на каждом из которых скорость обучения и размер окрестности постепенно меняются от своих начальных значений к конечным. В программе STATISTICA Нейронные сети можно задавать начальные и конечные значения как для скорости обучения, так и для размера окрестности. Размер окрестности определяет квадрат с центром в выигравшем элементе; нулевой «размер» соответствует одному выигравшему элементу; «размер 1» квадрату 3 3 с центром в выигравшем элементе; «размер 2» квадрату 5 5 и т.д. Если выигравший элемент расположен близко к краю, то окрестность обрезается (а не перекидывается на противоположную). Несмотря на то, что по самому своему смыслу такой параметр является целым числом, можно задать его в вещественном виде, чтобы точнее управлять им, когда алгоритм начинает уменьшать размер окрестности. В этом случае программа STATISTICA Нейронные сети сначала корректирует это число, а затем округляет его до ближайшего целого. После завершения работы алгоритма обучения Кохонена нужно пометить радиальные элементы значками соответствующих им классов (см. раздел «Топологическая карта»). ДРУГИЕ ТИПЫ СЕТЕЙ Обучение сетей других типов происходит довольно просто; в каждом случае имеется лишь несколько устанавливаемых параметров обучения, и все они описаны ниже. Радиальные базисные функции (РБФ) Обучение состоит из трех этапов: размещение центров радиальных элементов, выбор их отклонений и оптимизация линейного выходного слоя. Для первых двух этапов есть несколько вариантов работы алгоритма, выбор которых осуществляется в окне Радиальная базисная функция (доступ через меню Обучение); наиболее популярным сочетанием является метод К средних для первого этапа и К ближайших соседей для второго. Линейный выходной слой оптимизируется с помощью классического алгоритма псевдообратных матриц (сингулярного разложения). Программа STATISTICA Нейронные сети позволяет также строить гибридные РБФ сети за счет выбора иных функций активации для выходного слоя (например, логистических), и в этом случае для обучения этого слоя можно использовать какой либо из алгоритмов обучения многослойных персептронов, например, метод сопряженных градиентов. Линейные сети Здесь под видом двухслойной сети реализована обычная линейная модель, которая оптимизируется с помощью алгоритма псевдообратных матриц в окне Радиальная базисная функция.

34 Линейную сеть можно применять также для анализа главных компонент, чтобы попытаться уменьшить число переменных перед обработкой данных сетью другого типа. Вероятностные и обобщенно регрессионные нейронные сети PNN/GRNN Вероятностные (PNN) и обобщенно регрессионные нейронные сети (GRNN) основываются на статистических методах ядерных оценок плотности вероятности и предназначены соответственно для задач классификации и регрессии. Для них характерны простые и быстрые алгоритмы обучения, но получающиеся в результате нейросетевые модели оказываются большими и работают сравнительно медленно. Автоматический конструктор сети Процесс выбора подходящего типа сети и ее архитектуры может оказаться долгим и малопродуктивным, поскольку он состоит из большого числа проб и ошибок. Более того, поскольку в обучении присутствует шум, и алгоритм может застревать в локальных минимумах, каждый эксперимент необходимо повторять несколько раз. Эту нудную работу можно свести к минимуму, используя реализованные в пакете STATISTICA Нейронные сети возможности автоматического конструирования сетей, при этом используются достаточно сложные алгоритмы оптимизации, позволяющие автоматически проводить большие серии экспериментов и выбирать наилучшую архитектуру и размер сети. Функции автоматического конструирования сети вызываются при выборе инструмента Мастер решений. Здесь нужно просто указать те типы архитектур, которые должны быть рассмотрены, задать число итераций (или время анализа), определяющее продолжительность поиска (поскольку работа алгоритма может занять много времени, имеет смысл сначала задать небольшое число итераций, чтобы оценить, сколько времени может уйти на весь поиск), и выбрать Критерий выбора сохраняемой сети, который будет штрафовать сеть с неоправданно большим числом элементов. Алгоритм выполнит положенную серию экспериментов и укажет лучшую из полученных сетей. Если этот алгоритм применяется в задаче анализа временного ряда, то дополнительно нужно задать значение параметра Временное окно. Генетический алгоритм отбора входных данных Один из наиболее трудных вопросов, которые приходится решать при применении нейронных сетей, это вопрос о том, какие из входных переменных следует использовать (редко бывает известно заранее, какие из них важны для решения задачи, а какие нет). С помощью инструмента Понижение размерности,

35 доступном из вкладки Дополнительно стартового меню, можно в автоматическом режиме найти подходящий набор входных переменных. Путем построения и тестирования большого числа PNN или GRNN сетей (для задач классификации или регрессии соответственно) с различными наборами входных переменных, генетический алгоритм (а также алгоритмы с включением и исключением) производит отбор комбинаций входов и ищет наилучшую из них. Как и в случае с автоматическим конструктором сети эта процедура может потребовать много времени, но, тем не менее, именно она часто оказывается единственным способом решения задачи. В процессе работы генетический алгоритм порождает большое число пробных битовых строк (их число задается параметром Популяция) и искусственно «скрещивает» их на протяжении заданного числа поколений, используя при этом операции искусственного отбора мутацию и скрещивание, интенсивностью которых можно управлять. Сеть PNN или GRNN обучается с заданным параметром сглаживания (разумно перед применением генетического алгоритма пропустить несколько тестов для определения подходящего коэффициента сглаживания), а для того, чтобы дать преимущество небольшим наборам входных переменных, можно задать параметр Штраф за элемент. Алгоритм просматривает все входные переменные, имеющиеся в наборе данных. Чтобы запустить алгоритм, нужно нажать кнопку ОК. Когда его работа закончится, в таблице в нижней части окна напротив полезных переменных будет выведено слово Да, а напротив бесполезных Прочерк. Чтобы воспользоваться результатами работы алгоритма, нужно предварительно в меню Понижения размерности на вкладке Конец анализа выбрать Запустить Конструктор сетей для выбранных переменных или Запустить Мастер решений для выбранных переменных. РАБОТА С СЕТЬЮ Получение выходных значений После того, как сеть обучена, с ее помощью можно проводить анализ данных: прогонять сеть на отдельных наблюдениях из текущего набора данных, на всем наборе данных или на произвольных, заданных пользователем наблюдениях. Сетью можно обрабатывать и любой другой совместимый набор данных, имеющий входные переменные с такими же именами и определениями, как и в сети. Это означает, что построив сеть, мы более не привязаны к обучающему множеству. Если анализируется набор данных, у которого помимо входов совместимы и выходные значения, то программа STATISTICA Нейронные сети вычислит значения ошибок. При открытии сети или набора данных программа STATISTICA Нейронные сети проверяет, имеются ли в наборе данных переменные, совместимые с входными переменными сети. Если такие есть, то их тип в наборе данных автоматически устанавливается таким, как нужно, а все остальные переменные игнорируются. Таким образом, можно иметь несколько сетей (в виде файлов), работающих с


ГЛАВА 10 Надстройки Некоторые утилиты Excel становятся доступными только после подключения надстроек. В первую очередь остановимся на надстройках Поиск решения и Пакет анализа. Продемонстрируем, какие

Лабораторная работа 105. Применение алгоритма кластеризации: самоорганизующиеся карты Кохонена Основная цель Научиться использовать метод обработки данных «Самоорганизующиеся карты Кохонена». Теоретическая

Лабораторная работа 3. Аналитическая платформа Deductor (импорт данных и очистка данных) (в данной работе используется демо-версия продукта) Deductor состоит из пяти компонентов: аналитического приложения

ОГЛАВЛЕНИЕ Глава 13: РАЗМЕЩЕНИЕ НЕСКОЛЬКИХ ГРАФИКОВ Оглавление ОБЗОР...2770 МАСТЕР АВТОМАТИЧЕСКОГО РАЗМЕЩЕНИЯ НЕСКОЛЬКИХ ГРАФИКОВ...2771 Использование окна Мастер автоматического размещения нескольких

БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ тема 10 Лекция 10. Использование макросов в Access Макросом называют набор из одной или более команд, выполняющих определенные, часто используемые операции, например, открытие

Лек 6 Конс сводн 1 КУРС ИСЭ 1 ЛЕКЦИЯ Тема 8: Технология и методы обработки экономической информации с помощью консолидированных и сводных таблиц План 1. Понятие консолидированной таблицы. Способы консолидации.

ЛАБОРАТОРНАЯ РАБОТА 14 Автоматическая классификация статей, связанных с политикой Этот пример основан на "стандартном" наборе новостных документов, публикуемых интернет-сайтом lenta.ru. С данного сайта

Электронный научный журнал «ИССЛЕДОВАНО В РОССИИ» 270 http://zhurnalaperelarnru/articles/2006/36pdf Применение нейронных сетей для решения задач прогнозирования Солдатова ОП, Семенов ВВ (vlad-eraser@mailru)

Лабораторная работа 2 Тема: Технология аналитического моделирования в СППР. Технологии анализа и прогнозирования на основе трендов Цель: изучение возможностей и формирование умения использования универсальной

Лекция 11 ВЫЧИСЛЕНИЯ В ТАБЛИЧНОМ ПРОЦЕССОРЕ MS EXCEL 2010 Цель лекции. Изучить особенности проведения вычислений с использованием формул в табличном процессоре Ms Excel 2010. Вопросы лекции: 1. Формулы

ВРЕМЯ ВЫПОЛНЕНИЯ РАБОТЫ: 2 часа. 1. Внеурочная подготовка Оформить титульный лист. Смотри ПРИЛОЖЕНИЕ 1 2. Работа в лаборатории Основные сведения Сразу после запуска Word автоматически создает новый документ

Инструкция по работе с программой «Нейросимулятор» (на примере моделирования таблицы умножения) Программа «Нейросимулятор» позволяет создавать и применять нейронные сети персептронного типа. Рис. 1. Рабочее

Глава 1 Основы построения диаграмм Данные в электронной таблице представлены в виде строк и столбцов. При добавлении диаграммы ценность этих данных можно повысить, выделив связи и тенденции, которые не

Лекция 7 курс 1 СППР 1 15.12.2012 Лекция ТЕМА 9: Информационные технологии создания систем поддержки принятия решения и методы прогнозирования План: 1. Способы прогнозирования в электронных таблицах MS

Содержание 1. Сводка затрат, форма КС-3... 2 1.1. Создание документа, общее описание... 2 1.2. Добавление данных в документ... 5 1.2.1. Синхронизация итоговых значений в строке... 6 1.2.2. Типы добавляемых

Обучение нейронных сетей В процессе работы нейронная сеть реализует некоторое преобразование данных, которое в общем виде может быть описано функцией многих переменных Y = f (X), где = x x,...,

Глава 8 Настройка представлений Что такое представления Что такое представления Представление это способ визуализации (или иными словами представления) пользователю информации на основании хранимых данных

Работа 9 Формы в Access Цель работы: научиться создавать и редактировать формы с помощью автоформ и в режиме мастера форм Содержание работы 1 Виды форм 2 Создание форм 1 Виды форм Ввод и просмотр данных

Чтобы создать тест Вам необходимо: С ЧЕГО НАЧАТЬ? Шаг 1. Добавить вопросы (к тестам) в банк вопросов. Два способа добавления: импорт из блокнота (создаем файл блокнота (формат.txt), добавляем туда вопросы,

Работа с табличным процессором Microsoft Excel Краткие теоретические сведения Приложение Windows Excel позволяет формировать и выводить на печать документы, представленные в табличном виде, выполнять расчеты

1. Введение Лабораторная работа 3 Подбор параметров При решении различных задач часто приходится заниматься проблемой подбора одного значения путем изменения другого. Для этой цели весьма эффективно используется

Общая информация При планировании выпуска системы 2007 MicrosoftOffice разработчиками была поставлена задача сделать основные приложения MicrosoftOffice удобнее в работе. В результате был создан пользовательский

Основная цель Лабораторная работа 104. Логистическая регрессия и ROC-анализ Научиться обрабатывать данные и прогнозировать события, используя возможности логистической регрессии и ROC-анализ. Теоретическая

МЕТОД ГРУППОВОГО УЧЕТА АРГУМЕНТОВ Метод группового учета аргументов, МГУА (Group Method of Data Handling, GMDH) метод порождения и выбора регрессионных моделей оптимальной сложности. Под сложностью модели

Урок 1: Интерфейс Excel * версия 2010 * 1.0 Введение Данные в Excel располагаются в «ячейках», которые в свою очередь образуют столбцы и строки. Это помогает нам лучше воспринимать эти данные и позволяет

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

Знакомство с программой Access Access это приложение для работы с базами данных или система управления базами данных (СУБД). Компьютерные базы данных используются почти во всех областях деятельности. Умение

Инструкция по наполнению сайта кафедры Культурологи и Социологии (Часть 2 «редактор наполнения сайта») 1 Оглавление 1 Интерфейс редактора... 3 2 Изменение размера редактора... 4 3 Панель инструментов...

Глава 17 Поиск, сортировка и вывод информации в базе данных В ЭТОЙ ГЛАВЕ...» Поиск и фильтрация данных» Сортировка базы данных» Создание и применение запросов Если нужно найти в базе данных определенное

6 Частоты 97 Пошаговые алгоритмы вычислений 102 Представление результатов 105 Завершение анализа и выход из программы В этой главе рассматриваются частоты, их графическое представление (столбиковые и круговые

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 5 ТЕМА: Комплексное использование возможностей MS Word для создания больших документов ЦЕЛЬ РАБОТЫ: Научиться комплексно использовать возможности MS Word для создания больших документов

МОУ «Лицей 43» г.о. Саранск Методическая разработка «ИССЛЕДОВАНИЕ СУБД ACCESS ПРИ СОЗДАНИИ И РЕДАКТИРОВАНИИ БАЗЫ ДАННЫХ» Автор учитель информатики Жебанов А. А. Саранск 2014 ИССЛЕДОВАНИЕ СУБД ACCESS ПРИ

ГЛАВА 1 Подготовка к работе с Excel Многие читатели в большей или меньшей степени знакомы с электронными таблицами Excel. Тем не менее необходимо дать определение терминов, наиболее часто встречающихся

Практическое занятие 3 Создание отчетной документации. Соединение и консолидация данных. Сводные таблицы Цель работы: научиться создавать консолидацию данных в таблицах, создавать и применять сводные таблицы

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

Ай Ти Ви Групп Руководство по работе с утилитой «ArpEdit» Версия 1.4 Москва, 2014 Содержание СОДЕРЖАНИЕ... 2 1 ВВЕДЕНИЕ... 4 1.1 Назначение документа... 4 1.2 Назначение утилиты «ArpEdit»... 4 2 ОБЩИЕ

Работа с шаблонами типовых документов Руководство пользователя Cognitive Technologies Москва, 2015 2 АННОТАЦИЯ В настоящем документе приводятся сведения об использовании в программном комплексе «Е1 Евфрат»

УТВЕРЖДАЮ Директор ГБОУ ДПО ЦПКС СПб «Региональный центр оценки качества образования и информационных технологий» Е.В. Михайлова АИСУ «Параграф» для образовательных учреждений Сервис НОВЫЙ СПИСОК Руководство

Лабораторная работа 6 Сводные таблицы Теоретический раздел Понятие о сводных таблицах Для всестороннего и эффективного анализа данных больших таблиц в Excel используются так называемые сводные таблицы.

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

Введение в ACCESS Прежде всего Access это система управления базами данных (СУБД). Как и другие продукты этой категории Access предназначена для хранения и получения данных представления их в удобном виде

Электронная площадка FINTENDER.RU Система СТАР Сервис обоснования НМЦ Москва 2017 Содержание Сервис обоснования НМЦ... 3 Формирование протокола ручным вводом перечня позиций... 4 Формирование протокола

Подсистема редактирования размещения Раздел. Подсистема редактирования размещения Окно Размещение ячеек...-1 Режим планировки...-2 Режим размещения...-2 Длина связей...-2 Активная подсхема...-2 Таблица

СТО МИ пользователя «Настройка отчетов в 1С: Предприятии» Описание Инструкция пользователя описывает работу с отчетами в программе 1С: Предприятие. Данная инструкция позволяет получить навыки по настройке

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

90 Глава 5 Надпись Эта вкладка доступна для объектов, внутри которых был набран текст. С ее помощью можно отрегулировать внутренние поля и указать, будет ли изменяться размер объекта, если текст не умещается

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

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

Организация защиты документов средствами пакета Microsoft Office 2010 Цель работы научиться организовывать защиту текстовых документов, защиту электронных таблиц, защиту баз данных. Выполнив эту работу,

Поиск и замена данных Поиск данных Поиск данных можно производить на всем листе или в выделенной области листа, например, только в некоторых столбцах или строках, а также сразу во всей книге. 1. В группе

1. Текстовый процессор OpenOffice.org Writer. Ввод и форматирование текста Общие сведения Текстовый процессор Writer на сегодняшний день является наиболее известным приложением OpenOffice.org. Как текстовый

Модуль «Контроль расписания движения». Краткая информация...3 Первые настойки...3 Панель управления модуля «Контроль расписания движения»...4 Работа с редактором маршрутов...4 Состав редактора...4 Точки

ЛАБОРАТОРНАЯ РАБОТА МНОГОСЛОЙНЫЕ СИГМОИДАЛЬНЫЕ СЕТИ Многослойный персептрон В многослойном персептроне нейроны расположены в несколько слоев Нейроны первого слоя получают входные сигналы преобразуют их

Порядок обновления релизов конфигураций СДЕЛАЙТЕ АРХИВНУЮ КОПИЮ ВАШЕЙ ИНФОРМАЦИОННОЙ БАЗЫ. Перед внесением любых изменений необходимо сделать архивную копию вашей информационной базы на жестком диске,

ПРАКТИКУМ Базовые навыки работы в Deductor Studio 5.2 Занятие 7. Использование скриптов Введение Скрипты предназначены для автоматизации процесса добавления в сценарий однотипных ветвей обработки.

Модуль интеграции системы Нормирование материалов и САПР ТП ВЕРТИКАЛЬ Руководство пользователя Информация, содержащаяся в данном документе, может быть изменена без предварительного уведомления. Никакая

Задание 2. Создание и редактирование таблиц. Работа со схемой данных Цель задания: Научиться создавать новую базу данных, создавать и редактировать структуру таблиц и устанавливать связи между ними, используя

Похожие публикации