ПродуктыВ начало

Содержание


Краткий обзор

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


STATISTICA Neural Networks

В начало



Техническое описание


STATISTICA Neural Networks является богатой, мощной и чрезвычайно быстрой средой анализа нейросетевых моделей, предоставляющей следующие возможности:

  • Пре- и пост-процессирование, включая выбор данных, кодирование номинальных значений, шкалирование, нормализация, удаление пропущенных данных с интерертацией для классификации, регрессия и задачи временных рядов;
  • Исключительная простота в использовании плюс непревзойденная аналитическая мощность; так например, не имеющий аналогов Мастер решений проведет пользователя через все этапы созадния различных нейронных сетей и выберет наилучшую (эта задача, в противном случае, решается длительным путем "проб и ошибок" и требует основательного знания теории);
  • Мощные методы разведочные и аналитические технологии, в том числе Анализ главных компонент и Понижение размерности для выбора нужных входных переменных в разведочном (нейросетевом) анализе данных (выбор нужных входных переменных для нейронных сетей часто занимает длительное время; система 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 Neural Networks полностью интегрирован с системой STATISTICA, таким образом доступен огромный выбор инструментов редактирования (подготовки) данных для анализа (преобразования, условия выбора наблюдений, средства проверки данных и т.д.). Как и все анализы STATISTICA, программа может быть "присоединена" к удаленной базе данных с помощью инструментов обработки "на месте" или связана с активными данными, чтобы модели обучались или запускались (например. для вычисления предсказанных значений или классификаци) автоматически каждый раз при изменении данных.

К техническому описанию



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

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

К техническому описанию



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

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

[Network Example] сочетает в себе возможности генетических алгоритмов и 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 реализованы все основные типы нейронных сетей, используемые при решении практических задач, в том числе:

[Network Example]
  • многослойные персептроны (сети с прямой передачей сигнала);
  • сети на радиальных базисных функциях;
  • самоорганизующиеся карты Кохонена;
  • вероятностные (байесовские) нейронные сети;
  • обобщенно-регресионные нейронные сети;
  • сети главных компонент;
  • сети для кластеризации;
  • линейные сети.

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

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

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

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

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

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

К техническому описанию



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

[Wizard Screenshot]

Составной частью пакета STATISTICA Neural Networks является Мастер решений - Intelligent Problem Solver, который оценивает множество нейронных сетей различной архитектуры и сложности и выбирает сети наилучшей архитектуры для данной задачи.

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


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

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

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

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

К техническому описанию



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

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

[Network Example]

Для обучения многослойных персептронов в системе 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 Networks отобразит сравнительные результаты (например, построит кривые отклика нескольких моделей на одном графике, или представит предикторы нескольких моделей в одной таблице). Это свойство очень полезно для сравнения различных моделей, обучаемых на одном наборе данных.

Все статистики вычисляются раздельно для обучающего, проверочного и тестового множеств. Все веса и параметры активации доступны в виде удобного текстового файла, который одним щелчком мыши можно преобразовать в таблицу результатов системы 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 имеется хорошо иллюстрированный учебник, содержащий полное и понятное введение в нейронные сети, а также примеры. Из любого диалогового окна доступна система подробных контекстно-зависимых справок.

К техническому описанию



Примеры применения

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

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

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

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

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

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

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

  • Медицинская диагностика (например, прогнозирование эпилептических припадков, определение размеров опухоли простаты).

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

  • Синтез речи (знаменитая экспериментальная система Nettalk, способная произносить фонемы из написанного текста).

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

  • Управление процессами (в частности, мониторинг процессов производства с непрерывным регулированием управляющих параметров).

  • Системы управления двигателями (оценка уровня потребления топлива с помощью сенсорных данных и управление им).

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

  • Системы детекторов с переключением в реальном времени в физике. Нейронные сети устойчивы к шуму и допускают использование робастных шаблонов в физических данных с большим статистическим шумом.


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

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

В начало