III. Обзор использования пакета statistica Neural Networks. Нейронные сети. STATISTICA Neural Networks: Методология и технологии современного анализа данных 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. Оформить отчет о выполненной работе.

Размер: 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. Создание и редактирование таблиц. Работа со схемой данных Цель задания: Научиться создавать новую базу данных, создавать и редактировать структуру таблиц и устанавливать связи между ними, используя

  • Пре- и пост-процессирование, включая выбор данных, кодирование номинальных значений, шкалирование, нормализация, удаление пропущенных данных с интерертацией для классификации, регрессия и задачи временных рядов;
  • Исключительная простота в использовании плюс непревзойденная аналитическая мощность; так например, не имеющий аналогов Мастер решений проведет пользователя через все этапы созадния различных нейронных сетей и выберет наилучшую (эта задача, в противном случае, решается длительным путем "проб и ошибок" и требует основательного знания теории);
  • Мощные разведочные и аналитические технологии , в том числе Анализ главных компонент и Понижение размерности для выбора нужных входных переменных в разведочном (нейросетевом) анализе данных (выбор нужных входных переменных для нейронных сетей часто занимает длительное время; система STATISTICA Neural Networks может выполнять эту работу за пользователя);
  • Самые современные, оптимизированные и мощные алгоритмы обучения сети (включая методы сопряженных градиентов и Левенберга-Маркара) ; полный контроль над всеми параметрами, влияющими на качество сети, такими как функции активации и ошибок, сложность сети;
  • Поддержка ансамблей нейросетей и нейросетевых архитектур практически неограниченного размера, созданных в Наборах сетей - Network Sets ; выборочное обучение нейросетевых сегментов; объединение, и сохранение наборов сетей в отдельных файлах;
  • Полная интеграция с системой STATISTICA ; все результаты, графики, отчеты и т.д. могут быть в дальнейшем модифицированы с помощью мощных графических и аналитических инструментов STATISTICA (например, для проведения анализа предсказанных остатков, создания подробного отчета и т.п.);
  • Полная интеграция с мощными автоматическими инструментами STATISTICA ; запись полноценных макросов для любых анализов; создание собственных нейро-сетевых анализов и приложений с помощью STATISTICA Visual Basic , вызов STATISTICA Neural Networks из любого приложения, поддерживающего технологию СОМ (например, автоматическое проведение нейро-сетевого анализа в таблице MS Excel или объединение нескольких пользовательских приложений, написанных на С++, С#, Java и т.д.).


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

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

Исходные данные

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

Отбор входных данных и понижение размерности

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


Алгоритмы понижения размерности:

  • В STATISTICA Neural Networks реализованы обратный и прямой алгоритмы пошагового выбора. Кроме того, нейро-генетический агоритм отбора входных данных сочетает в себе возможности генетических алгоритмов и PNN/GRNN (PNN - вероятностные нейронные сети, GRNN - обобщенно-регрессионые нейронные сети) для автоматического поиска оптимальных комбинаций входных переменных, в том числе и в тех случаях, когда между ними имеются корреляции и нелинейные зависимости. Почти мгновенная скорость обучения по PNN/GRNN-алгоритму не только дает возможность применить Нейро-Генетический алгоритм отбора входных данных , но и, позволяет Вам (пользуясь имеющимися в Редакторе данных системы STATISTICA Neural Networks удобными средствами подавления незначимых переменных) в реальном времени проводить собственные эксперименты на чувствительность данных. STATISTICA Neural Networks содержит также встроенную систему Анализа главных компонент (АГК, и ассоциативные сети для "нелинейного АГК") , позволяющую понижать размерность исходных данных. Заметим, что огромное разнообразие статистических методов для понижения размерности данных доступны в базовой системе STATISTICA .


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

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

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

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


В системе STATISTICA Neural Networks реализованы все основные типы нейронных сетей, используемые при решении практических задач, в том числе:

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

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

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

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

Для улучшения производительности в пакете STATISTICA Neural Networks представлены многочисленные опции настройки сети. Так, Вы можете задать линейный выходной слой сети в задачах регрессии или функцию активации типа софтмакс в задачах вероятностного оценивания и классификации. Если в Ваших данных много выбросов, то при обучении сети можно заменить стандартную функцию ошибок на менее чувствительную функцию "городских кварталов" . В системе также реализованы основанные на моделях теории информации кросс-энтропийные функции ошибок и ряд специальных функций активации, в том числе: ступенчатая, пилообразная и синусоидальная.


Мастер решений (автоматически оценивает задачу и выбирает несколько сетей различной архитектуры) :

  • Составной частью пакета STATISTICA Neural Network s является Мастер решений - Intelligent Problem Solver , который оценивает множество нейронных сетей различной архитектуры и сложности и выбирает выбирает сети наилучшей архитектуры для данной задачи.
  • Мастер способен строить сети для данных с независимыми наблюдениями (стандартные регрессионнные сети, сети классификации или смешанные) равно как и сети, предназначенные для прогнозирования будущих значений некоторой переменной на основе уже имеющихся значений этой же переменной (сети с временными рядами).
  • Значительное время при создании нейронной сети уходит на выбор соответствующих переменных и оптимизацию архитектуры сети методом эвристического поиска. STATISTICA Neural Networks берет эту работу на себя и автоматически проводит эвристический поиск за вас. Эта процедура учитывает входную размерность, тип сети, размеры сети и требуемые выходные функции кодирования.
  • В ходе поиска вы можете задать число откликов, получаемых в процессе обучения. При установке режима максимальной детализации Мастер решени й будет отображать архитектуру и уровни качества для каждой тестируемой сети.
  • Мастер решений является чрезвычайно эффективным инструментом пр ииспользовании сложных техник, позволяя автоматически находить наилучшую архитектуру сети. Вместо того, чтобы тратить многие часы на сидение перед компьютером, предоставьте системе STATISTICA Neural Networks сделать эту работу за Вас.
  • Автоматический конструктор сети можно также использовать в процессе разработки модели, когда модуль STATISTICA Neural Networks, совместно с другими модулями базовой системы STATISTICA , применяется для выявления наиболее значимых переменных (например, наилучших предикторов для последующего их включения и тестирования в какой-либо модели Нелинейного оценивания - Nonlinear Estimation ).


Обучение нейронной сети:

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


Тестирование нейронной сети:

  • После того, как сеть обучена, нужно проверить качество ее работы и определить характеристики. Для этого в пакете STATISTICA Neural Networks имеется набор экранных статистик и графических средств.
  • В том случае, если заданы несколько моделей (сетей и ансамблей), то (если это возможно) STATISTICA Neural Network s отобразит сравнительные результаты (например, построит кривые отклика нескольких моделей на одном графике, или представит предикторы нескольких моделей в одной таблице). Это свойство очень полезно для сравнения различных моделей, обучаемых на одном наборе данных.
  • Все статистики вычисляются раздельно для обучающего, проверочного и тестового множеств. Все веса и параметры активации доступны в виде удобного текстового файла, который одним щелчком мыши можно преобразовать в таблицу результатов системы STATISTICA . Результаты опытов по отдельным наблюдениям или по всему набору данных также можно просмотреть в виде таблицы STATISTICA и использовать в дальнейших анализах или графиках.
  • Автоматически вычисляются следующие итоговые статистики: среднеквадратичная ошибка сети, так называемая матрица несоответствий (confusion matrix) для задач классификации (где суммируются все случаи правильной и неправильной классификации) и доля объясненной регрессии для задач регрессии. Сеть Кохонена имеет окно Топологической карты , в котором можно визуально наблюдать активации элементов сети, а также изменять метки наблюдений и узлов в процессе анализа данных. Имеется также окно Частоты выигрышей, позволяющее мгновенно локализовать кластеры в топологической карте. Кластерный анализ можно выполнять с помощью сочетания сети стандартной архитектуры со специальной кластерной диаграммой системы STATISTICA Neural Networks . Например, Вы можете обучить сеть для анализа главных компонент и графически изобразить данные в проекции на две первых компоненты.

Редактирование, модификация и последовательное соединение нейронных сетей

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

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

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


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

  • Обратное распространение;
  • Левенберга-Маркара;
  • Сопряженных градиентов;
  • Квази-Ньютоновский;
  • Быстрое распространение;
  • Дельта-дельта-с-чертой;
  • Псевдо-обратный;
  • Обучение Кохонена;
  • Пометка ближайших классов;
  • Обучающий векторный квантователь;
  • Радиальная (под)выборка;
  • Метод K-средних;
  • Метод К-ближайших соседей (KNN);
  • Установка изотропных отклонений;
  • Установка явных отклонений;
  • Вероятностная нейронная сеть;
  • Обобщенно-регрессионнаянейронная сеть;
  • Генетический алгоритм отбора входных данных;
  • Пошаговый прямой или обратный отбор входных данных.

Требования к системе

Система STATISTICA Neural Networks может работать даже на относительно слабых или старых компьютерах. Однако, поскольку многие процедуры пакета требуют больших объемов вычислений, настоятельно рекомендуется использовать процессор Pentium с 32 мегабайтами оперативной памяти.


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

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


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

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


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

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

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

Промышленность:

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


Маркетинг:

  • Прогнозирование цен на золото;
  • Прогнозирование цен на сырье;
  • Торговля путем прямой рассылки.


Финансы:

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


Геологоразведка:

  • Повышение эффективности процесса добычи полезных ископаемых (выделение значимых факторов, влияющих на показатели эффективности добычи).


Другие отрасли:

  • Оптическое распознавание символов, включая распознавание подписи;
  • Обработка изображений;
  • Прогнозирование хаотических временных рядов;
  • Медицинская диагностика;
  • Синтез речи;
  • Лингвистический анализ.

Обширную тему решил затронуть. Искусственные нейронные сети. Попытаюсь дать представление на пальцах. Что это такое? Это попытка смоделировать человеческий мозг. Только более примитивно. Базовым элементом каждой нейронной сети является нейрон (Рис. 1).

Рис. 1. Принципиальная схема нейрона.

Нейрон имеет входы, сумматор и функцию активации. На входы подается информация, например содержание трех хим. элементов в конкретной пробе. Каждое из них умножается на определенный коэффицициент. Далее входящие сигналы суммируются и преобразуются с помощью активационной функции. Это может быть тангенс данного числа, или e^(-1*данную сумму), где е – число Эйлера. Весь цимес заключается в:

    Весах нейронов;

    Функции активации;

    Наборе нейронов. Если взять несколько нейронов и организовать их в слои, в каждом из которых будет от 1 до N нейронов, то это будет искуссвенная нейронная сеть.

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

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

Рис. 2. Принципиальная схема Самоорганизующейся сети Кохонена. 4х3 нейрона = 12 нейронов.

Рис. 3. Открываем данные и запускаем модуль нейросетевого анализа. Данные можно использовать сырые, без предварительного логарифмирования. Но явные выбросы все равно лучше убрать.

Рис. 4 Выбираем кластерный анализ

Рис. 5. Выбираем переменные во вкладке Quick (Быстро). В данном модуле можно выбрать категориальные входные переменные. Например, возраст пород из которых отобрана проба.

Рис. 6 Переходим во вторую вкладку Sampling (Подвыборки). Нейронные сети разбивают первоначальную выборку на три подвыборки:

    Обучающую. По ней производится обучение нейронной сети и подстройка весов;

    Тестовую. Она так же используется в процессе обучения и проверяет не переробучилась ли сеть;

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

Оставим по умолчанию. Жмем ОК.

Рис. 7 Во вкладке Quick (Kohonen), задаем количество нейронов и их структуру. Поскольку нейроны обучают соседей, то расположение нейронов тоже важно. Либо 4 нейрона расположить квадратом, либо цепочкой. Для начала выбираем 5х5. Не стремитесь сделать огромные сети. Помните, что важно выявить общие закономерности, а не сразу все-все решить.

Рис. Во вкладке Kohonen Training (Обучение сети) самый важный параметр Neighborhoods (Соседи) – то сколько соседей обучает нейрон. Оставим по умолчанию. Жмем ОК.

Рис. 9. Сеть обучается и выводится окно результатов. Сразу переходим во вкладку Kohonen (graph). Тут показывается все 25 нейронов и то какое количество обучающих проб попало в каждый. Считается необходимым, что бы каждый нейрон описал какую-то часть данных. Не должно быть пустых нейронов. Пики представленные бурым красным цветом показывают сколько проб описал данный нейрон. В целом, тут выделяются три пика. Скорее всего у нас три кластера. Жмем Cancel, Cancel и переходим в первую вкладку выбора структуры сети.

Рис. 10. Выбираем цепочку нейронов из трех штук. Каждый нейрон опишет свой кластер.

Рис. 11. Перейдем во вкладку Обучение сети и выберем, что бы каждый нейрон влиял только на одного соседа. Связанные кластеры получатся. Тут стоит поэксперементировать. Если влияние на соседей, то врядли получится уловить переходные области.

Рис. 12. Получаем результат. Каждый нейрон описал изрядное количество данных.

Рис. 13. Перейдем в первую вкладку окна результатов Predictions (Предсказание). Выведем результаты по каждой пробе с координатами.

Рис. 14. Получаем выходную табличку. Что бы построить график из данных в ней, необходимо сделать табличку активной. Выделяем, щелкаем правой клавишей мышки и выбираем пункт Active Input (Активный Ввод). Тут как и в методе k-средних имеется столбец с “расстоянием” пробы до кластера (нейрона). Чем меньше число, тем лучше. Если число очень высокое, то это либо выброс, либо совсем отдельный кластер.

Рис. 15. Строим карту кластеров. Об этом можете . Конечно эти графики лучше строить в ArcGIS или в Surfer. Делать описание с учетом геол.карты. К сожалению тут я не могу много об этом писать. Но скажу лишь то, что кластеризация нейронной сетью выдала аналогичный результат, что и Иерархическая кластеризация и k-средних. Далее можно построить графики типа Ящик-с –усами и дать заключение о специализации кластеров. Поскольку эту выборку я кластеризую уже в третий раз, то не привожу их. Смотрите предыдущие посты.

Дополнительно построим карту значений активации. Значение активации – это как раз там сумма элементов преобразованная нелинейной функцией.

Рис. 16. Карта распределения значений активации наблюдений. На юге площади выделяется группа проб с высокими значениями активации. Стоит отдельно рассмотреть их по моноэлементным картам и другим параметрам.

Рис. 17. Сохраняем структуру нейронной сети. Что бы всегда можно было к ней вернутся.

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

  1. Хайкин Саймон Нейронные сети: полный курс, 2-е издание. : Пер. с англ. – М. : Издательский дом “Вильямс”, 2006. – 1104 с. : ил. – Парал. тит. англ. ISBN 5-8459-0890-6 (рус)
  2. Нейронные сети. STATISTICA Neural Networks: Методология и технология современного анализа данных/ Под редакцией В.П. Боровикова. – 2-е изд., перераб. и доп. – М.: Горячая линия – Телеком, 2008. – 292 с., ил. ISBN 978-5-9912-0015-8

Вторая книга отличается от модуля в Statistica 10, но тоже подойдет.

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

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-системами

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

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