Альтернативы для замены STATISTICA. Нейронные сети

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Откройте файл Свинец.xls в пакете Statistica. Появится окно «Открытие файла».

Рис. 4. 33. Окно импорта.

Необходимо выбрать опцию «Импортировать выбранный лист» и выбрать название листа с данными:

Рис. 4. 34. Выбор листа Excel для импорта в пакет Statistica.

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

Рис. 4. 35. Задание области импорта.

После этого импортированные данные отобразятся в окне.

Рис. 4. 36. Результаты импорта.

Запустите пакет анализа при помощи нейронных сетей. Для этого выберите в меню «Анализ» пункт «Нейронные сети».

Рис. 4. 37. Выбор способа обработки данных – «нейронная сеть».

после чего появится окно пакета STATISTICA Neural Networks:

Рис. 4. 38. Стартовое окно анализа «нейронные сети».

Перейдите на вкладку «Быстрый», где необходимо задать тип задачи- Регрессия, и инструмент- Конструктор сетей.

Рис. 4. 39. Запуск конструктора нейросетей.

Далее, нажав кнопку «ОК», вы перейдете в режим выбора выходных (зависимых) и входных (независимых) переменных. В качестве первой выбираем «Свинец», а в качестве последних – количество автомобилей всех категорий. Столбцы «№» и «Улицы» остаются неиспользуемыми.

Рис. 4. 40. Выбор входных и выходных данных для нейросети.

Нажав «Ок» вы снова вернетесь на вкладку «Быстрый». Затем, снова нажав кнопку «Ок», вы переместитесь в окно формирования нейросети. На вкладке «Быстрый» необходимо выбрать тип сети- многослойный персептрон,

Рис. 4. 41. Выбор типа нейросети.

а на вкладке «Элементы» можно указать необходимое количество слоев, количество нейронов в каждом, а также вид функции активации:

Рис. 4. 42. Задание количества слоев и типов нейронов.

Рис. 4. 43. Выбор способа обучения нейосети.

Здесь, нажав на кнопку «Выборки», можно задать количество обучающих, контрольных и тестовых примеров. Если задать число тестовых и контрольных примеров равными нулю, то сеть будет обучаться по всем примерам:

Рис. 4. 44. Определение данных для обучения и тестирования.

Вернувшись в главное окно обучения, можно, нажав на кнопку «Пользователя» и перейдя к вкладке «Интерактивный», потребовать, что бы процесс обучения отражался в виде графика:

Рис. 4. 45. Задание вида графика для демонстрации процесса обучения.

Наконец, нажав на кнопку «Ок», вы запустите процесс обучения, результат которого отобразится на графике:

Рис. 4. 46. Обучение нейросети.

Нажав на кнопку «Ок», вы перейдете к окну результатов, где можете изучать различные характеристики созданной сети, перемещаясь по вкладкам окна:

Рис. 4. 47. Результаты моделирования нейросети.

Так, например, на вкладке «Дополнительно» существует кнопка «Архитектура сети», нажав на которую можно увидеть топологию построенной сети:

Рис. 4. 48. Вид построенной нейросети.

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

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

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

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

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

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

Рисунок 25. Линейная регрессия и реализующий ее однослойный персептрон.

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

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

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

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

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

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

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

Таблица 3. Аналогичные методики

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

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

1 Логистическая регрессия является методом бинарной классификации, широко применяемом при принятии решений в финансовой сфере. Она позволяет оценивать вероятность реализации (или нереализации) некоторого события в зависимости от значений некоторых независимых переменных - предикторов: x 1 ,...,x N . В модели логистической регресии такая вероятность имеет аналитическую форму: Pr(X ) =(1+exp(-z)) -1 , где z = a 0 + a 1 x 1 +...+ a N x N . Нейросетевым аналогом ее, очевидно, является однослойный персептрон с нелинейным выходным нейроном. В финансовых приложениях логистическую регрессию по ряду причин предпочитают многопараметрической линейной регрессии и дискриминантному анализу. В частности, она автоматически обеспечивает принадлежность вероятности интервалу , накладывает меньше ограничений на распределение значений предикторов. Последнее очень существенно, поскольку распределение значений финансовых показателей, имеющих форму отношений, обычно не является нормальным и “сильно перекошено”. Достоинством нейронных сетей является то, что такая ситуация не представляет для них проблемы. Кроме того, нейросети нечувствительны к корреляции значений предикторов, в то время как методы оценки параметров регрессионной модели в этом случае часто дают неточные значения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Рис. 11.1.

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

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

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

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

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

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

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

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

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

За определенную историю наблюдения за больными, накопился массив данных, которые сохранены в таблице системы STATISTICA. Вид соответствующей Таблицы данных представлен на Рисунке 6.

Рисунок 6. Фрагмент таблицы исходных данных

Целью исследования является построение нейросетевой модели, которая по заданному набору исходных данных (данные обследований больного, результаты анализов, лечение до поступления), на основе назначенного в стационаре лечения выдавала бы прогноз его лечения (значений приём в стационаре И-АПФАРА, БАБ, БКК, диуретиков, препаратов центрального действия) с достаточной точностью.

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

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

Зависимость между переменными есть;

Зависимость определенно нелинейная;

О явном виде зависимости сказать что-либо сложно,

выручают нейросетевые алгоритмы. Рассмотрим способ решения данной задачи в модуле STATISTICA Neural Networks.

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

Модуль Neural Networks системы STATISTICA включает в себя процедуру, организующую поиск нужной конфигурации сети. Эта процедура заключается в построении и тестировании большого количества сетей с разными архитектурами и послудующем выборе из них той сети, которая лучше всего подходит для решения поставленной задачи. Данный инструмент называется Intelligent Problem Solver. Для запуска модуля Neural Networks необходимо воспользоваться одноименной командой основного меню системы STATISTICA - Statistics. (рисунок 7)

Рисунок 7. Запуск модуля Neural Networks

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

Одним из важнейших вопросов, до сих пор, не решенных современной наукой, является вопрос о структуре нейронный сети, которая была бы способна к воспроизведению искомой многомерной нелинейной зависимости. Да действительно, теорема Колмогорова о полноте, доказанная им еще 1957 году, утверждает, что нейронная сеть способна воспроизвести любую (очень важно - непрерывную) функцию. Однако она не прелагает исследователю рецепта по созданию такой сети. В 1988 году, ряд авторов обобщили теорему Колмогорова и показали, что любая непрерывная функция может быть аппроксимирована трехслойной нейронной сетью с одним скрытым слоем и алгоритмом обратного распространения ошибки с любой степенью точности. Таким образом, в нашем случае положительным аспектом является знание того, что сеть должна быть трехслойной, но опять-таки в распоряжении нет правил, устанавливающих зависимость между "любой степенью точности" и количеством нейронов на промежуточном, так называемом скрытом слое.

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

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

Рисунок 8. Стартовая панель модуля Neural Networks

Во вкладке Quick (Быстрый) данного диалогового окна в разделе Problem Type (Класс задач) предлагается осуществить выбор того класса задач, с которым мы столкнулись. Нашей целью является построение многомерной зависимости или, другими словами, многомерной нелинейной регрессии. Значит, в разделе Problem Type - Класс задач следует указать Regression (Регрессия).

Определившись с классом задач, необходимо указать переменные для проведения Анализа. Для того чтобы выбрать переменные, воспользуемся кнопкой Variables. При нажатии данной кнопки появляется диалоговое окно Select input (independent), output (dependent) and selector variables (Укажите входные (независимые), выходные (зависимые) и группирующие переменные). В данном диалоговом окне необходимо задать два списка переменных. Continuous outputs (Непрерывные выходящие), в нашем случае, - это переменные Приём в стационаре И-АПФ/АРА, Приём в стационаре БАБ, Приём в стационаре БКК, Приём в стационаре диуретиков и приём в стационае препаратов центрального действия . Continuous inputs (Непрерывные входящие), в нашем примере, - это с 1 по 61 исходный параметр.

Рисунок 9. Выбор переменных для анализа

В разделе Select analysis (Выбор анализа) доступны две опции Intelligent Problem Solver и Custom Network Designer. Для автоматического подбора параметров нейронной сети требуется первая опция, которая устанавливается по умолчанию. Для продолжения Анализа необходимо нажать кнопку OK.

На следующем шаге появляется диалоговое окно настройки процедуры Intelligent Problem Solver.

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

В разделе Networks tested (Количество тестируемых сетей) укажем 100, Networks retained (Количество сохраненных сетей) -- 10 (Рисунок 10)

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

Рисунок 10. Задание количества тестируемых сетей

Рисунок 11. Выбор архитектуры сети

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

Рисунок 12. Указание размеров обучающей, контрольной и тестовой выборок

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

Состояние алгоритма поиска отображается в диалоговом окне IPS Training In Progress (Процесс поиска сети).

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

Понравилась статья? Поделитесь ей
Наверх