Анализ нейронные сети statistica 10. Продукты STATISTICA

Bluetooth 09.04.2020
Bluetooth

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

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

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

  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). Именно эти векторы являются аналогами факторов, объединяющих различные компоненты векторов памяти - первичные признаки.

Для создания набора обучающих данных используется встроенный редактор данных (File/New/Data Set ) либо загружается файл данных *.sta с диска. В случае создания файла в Microsoft Excel *.csv необходимо провести конвертирование формата данных в формат *.sta (операция проводится автоматически при открытии файла данных).

После открытия данных ST Neural Networks предложит функцию автоматического построения (окно Intelligent Problem Solver ). На данном этапе необходимо отказаться от данной функции (Cancel ).

При открытии нового файла в ST Neural Networks все переменные считаются входными. Необходимо указать выходные переменные. Щелкните правой кнопкой мыши в поле с названием выходных переменных в окне Data Set Editor , в появившемся контекстном меню выберите Output, цвет заголовка столбца изменится на голубой.

Все наблюдения необходимо поделить на два множества: обучающее (служит для обучения НС) и контрольное (необходимо для оценки хода обучения).

Во втором поле Cases окна Data Set Editor укажите размер контрольного множества (обычно на него отводится половина всего набора данных), нажмите Enter. Строки, содержащие контрольные наблюдения, отмечены красным цветом (находятся в конце списка наблюдений). Затем, командой перемешать (Shuffle) (Edit → Cases → Shuffle →Train and Verify ), все наблюдения случайным образом распределяются по различным типам.

Для создания сети используется пункт меню File → New → Network . При этом появляется окно редактора сети (рисунок 11).

Сеть с заданными параметрами и структурой создается после нажатия кнопки Create.

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

Обучение сети.

Для сетей каждого типа используются специальные алгоритмы обучения, которые находятся в пункте меню Train . При выборе алгоритма предлагается определить параметры обучения. Например, при обучении многослойного персептрона методом обратного распространения (Train → Multilayer Perceptrons → Back Propagation) задаются в соответствующем окне (рисунок 12).

Рисунок 12 – Окно редактора параметров обучения

Epochs - Эпохи. Задает число циклов обучения, которые проходятся при одном нажатии клавиши Train. Значение по умолчанию 100.

Learning rate - Скорость обучения, задает величину шага при изменении весов: при недостаточной скорости алгоритм медленно сходится, при увеличении скорости обучения алгоритм работает быстрее, но в некоторых задачах это может привести к неустойчивости (особенно если данные зашумлены). Для быстрого и грубого обучения подойдут значения от 0,1 до 0,6; для достижения точной сходимости требуются меньшие значения (например, 0,01 или даже 0,001, если эпох много тысяч). Иногда полезно уменьшать скорость в процессе обучения.

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

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

Cross-verification (кросс-проверка) - Стандартный способ обучения нейронных сетей заключается в том, что сеть обучается на одном из множеств, а на другом проверяется результат; таким образом, контрольное множество для обучения не используется. Это дает независимый способ проверки того, научилась ли сеть чему-нибудь полезному.

Reinitialize - сброс настраиваемых параметров сети, полученных на предыдущем цикле обучения, или для предыдущей сети.

Запуск алгоритма обучения производится нажатием кнопки Train . Каждый раз при нажатии кнопки Train алгоритм совершает N циклов обучения, где N – количество циклов обучения, определяемое в Epochs.

На графике (Statistics → Training Error Graph ) можно наблюдать изменение ошибки сети в ходе обучения. Training Error Graph– это отображение среднеквадратичной ошибки выхода на всем обучающем множестве.

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

При изменении параметров сети перед обучением необходимо сбросить весовые коэффициенты (настроенные параметры) предыдущей сети. Для MLP–сети кнопкой Reinitialize.

В пакете STATISTICA Neural Networks предусмотрено автоматическое запоминание лучшей сети во время эксперимента. Для восстановления значений наилучшей сети вызовите меню Train→ Auxiliary→ Best Network .

Для просмотра результатов обучения сети используется функция Options в окне Network Set Editor , в появившемся окне нужно нажать Add (добавить). При этом в окне Network Set Editor добавится информационная строка для сети: тип сети, среднеквадратичная ошибка сети (RMS error), количество входов сети, число скрытых элементов в сети, коэффициент регрессии, использованные методы обучения (если в списке Detail shown выбрано Verbose- подробный).

Для расчета данных с помощью сети используется пункт меню Run: Data Set – расчет для всех данных исходного файла;

Single Case – расчет одного наблюдений;

One-off – расчет для произвольного входного вектора.

Расчет производится при нажатии кнопки Run соответствующего окна.

Запускается, как и в предыдущем случае, но в таблицах выводится только фактическое выходное значение.

Откройте меню Run →One-off , введите входные значения, для которых необходимо спрогнозировать выходное, нажмите Run .

Просмотр весовых коэффициентов синаптических связей нейронов возможен в окне Network Editor (рисунок 13) (Edit→Network… ). Значение Theshold – пороговое значение, которое вычитается от входного значения нейрона. Значение VAR1 (на рисунке 13) – весовой коэффициент связи.

Номер слоя задается в поле Layer. В данном окне можно просмотреть (задать) функцию активации нейрона каждого слоя (поле Act fn).


Рисунок 13 – Окна просмотра параметров обученной сети

Просмотр выходных значений нейронов в слое в окне Network Activations (Run → Activations … ). Расчет для строки данных (указана в поле Case No ) по нажатию кнопки Run.

В пакете STATISTICA Neural Networks предусмотрена возможность автоматического определения структуры лучшей сети для набора обучающих данных (функция доступна через File→New→Intelleigent Problem Solver ).

Алгоритм работы сети в пакете STATISTICA Neural Networks .

1 Нормализация входных данных:

,

где - коэффициент нормализации; , максимальное и минимальное значения j- й переменной обучающей выборки; i – номер строки обучающей выборки.

Примечание - Для просмотра и анализа данных обучающей выборки удобно использовать функцию Edit → Cases → Shuffle →Group Sets.

2 Распределение входного вектора на следующий слой с соответствующим весовым коэффициентом (см. Edit→Network… ).

3 Вычитание порогового значения на каждом нейроне (см. Edit→Network… поле Theshold ).

4 Вычисление функции активации нейрона (результат см. Run → Activations … ).

5 Повтор шагов для всех слоев сети.

6 Вычисление выхода сети с учетом коэффициента нормализации:

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

Контрольные вопросы

1 Что такое нейронная сеть и каковы ее основные свойства?

2 Какова структура нейрона?

3 Какие функции активации могут быть использованы в нейронных сетях?

4 Какие требования предъявляются к функциям активации?

5 Какие функции выполняет входной слой в многослойной сети?

6 Можно ли обучить нейронную сеть без скрытого слоя?

7 В чем заключается обучение нейронных сетей?

8 Почему один из алгоритмов обучения получил название «алгоритм обратного распространения»?

9 Чем отличается обучение с учителем от обучения без учителя?

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

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

1 Fogelman Soulie F. Neural networks, state of the art, neural computing. -London: IBC Technical Services, 1991.

2 Горбань А. Нейроинформатика и ее приложения // Открытые системы. -1998. -№ 4 – 5. -С. 36 - 41.

3 Роберт Хехт-Нильсен. Нейрокомпьютинг: история, состояние, перспективы // Открытые системы. -1998. -№ 4-5. -С. 23 - 28.

4 Розенблатт Ф. Принципы нейродинамики. Персептроны и теория механизмов мозга. -М.: Мир, 1965.

5 Гордиенко Е.К., Лукьяница А.А. Искусственные нейронные сети. I Основные определения и модели// Изв. РАН. Техническая кибернетика. -1994. -№ 5. -С. 79 - 92.

6 Короткий С.Г. Нейронные сети: алгоритм обратного распространения. -BYTE/Россия. -2000. -№ 5. -С. 26-29.

7 Свешников С.В., Шквар А.М. Нейротехнические системы обработки информации. -Киев: Наукова думка, 1983. -222 с.

8 Интеллектуальные системы управления с использованием нейронных сетей: учеб. пособие. / В.И. Васильев, Б.Г. Ильясов, С.С. Валеев и др.; Уфимск. гос. авиац. техн. ун-т. Уфа, 1997. -92 с.

9 Куликов Г.Г., Брейкин Т.В., Арьков В.Ю. Интеллектуальные информационные системы: учеб. пособие / Уфимск. гос. авиац. техн. ун-т. -Уфа, 1999. -129 с.

10 Короткий С.Г. Нейронные сети: основные положения // BYTE/Россия. -2000. -№ 5. -С. 18-21.

11 Интеллектуальные системы обработки информации на основе нейросетевых технологий: учеб. пособие. / Ю.И. Зозуля, Уфимск. гос. авиац. техн. ун-т. –Уфа. -2000. -138 с.

и покажем, как организован диалог с пользователем системы.

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

Итак, прежде всего, запустим нейронные сети.

Шаг 1. Вы начинаете со стартовой панели (посмотрите на рис. 1).

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

Рис. 1. Стартовая панель STATISTICA Automated Neural Networks (SANN)

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

Нажав кнопку ОК , перейдем к диалоговому окну выбора данных.

Рис. 2. Диалоговое окно Нейронные сети - Отбор данных - вкладка Быстрый

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


Рис. 3. Окно выбора переменных

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

Рис. 4. Диалоговое окно Нейронные сети - Отбор данных - вкладка Быстрый

На вкладке Подвыборки (ПНС и АНС) следует задать желаемое разбиение данных на подвыборки: обучающую, контрольную и тестовую. Разбиение можно задавать случайным образом, а можно фиксировать с помощью дополнительной переменной кодов.

В данном случае будем использовать случайное разбиение.

Рис. 5. Диалоговое окно Нейронные сети - Отбор данных - вкладка Подвыборки (АНС и ПНС)

Вкладка Подвыборки (ПНС и АНС) предназначена для первых двух стратегий: Автоматизированная нейронная сеть (АНС) и Пользовательская нейронная сеть (ПНС) ; а вкладке Создание подвыборок используется для последней стратегии: Метод многократных подвыборок.

Нажимаем ОК и переходим к шагу задания параметров архитектуры.

Шаг 3. На вкладке Быстрый диалогового окна Автоматизированные нейронные сети необходимо указать тип сети, количество скрытых нейронов, количество обучаемых и сохраняемых сетей, а также тип используемых функций ошибок.

Программа предлагает следующие типы сетей: многослойные персептроны и сети радиальных базисных функций.

Рис. 6. Диалоговое окно Автоматизированные нейронные сети - вкладка Быстрый

Рис. 7. Диалоговое окно Автоматизированные нейронные сети - вкладка Функции активации для МЛП

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

Но в нашем случае мы это использовать не будем.

Рис. 8. Диалоговое окно Автоматизированные нейронные сети - вкладка Затухание

Теперь можно перейти к шагу обучения нейронных сетей.

Шаг 4. Запустите процедуру обучения нейронных сетей, нажав кнопку ОК .

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

Рис. 9. Диалоговое окно Обучение нейронной сети

Программа автоматически переходит к следующему шагу.

Шаг 5. Анализ результатов. В окне результатов вы можете проанализировать полученные решения. Программа отберет лучшие сети и покажет качество решения.

Рис. 10. Диалоговое окно Нейронные сети - Результаты - вкладка Предсказанные

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

Рис. 11. Диалоговое окно Активация модели

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

Рис. 12. Таблица наблюдаемых и предсказанных значений

Или посмотреть матрицу ошибок классификации на тестовой выборке:

Рис. 13. Матрица классификаций

Шаг 6. Сохраните лучшие сети с целью дальнейшего использования, например, для автоматического построения прогнозов.

Для дальнейшего запуска, сети сохраняются в формате PMML.

Рис. 14. Диалоговое окно Нейронные сети - Результаты - Сохранение сетей

Рис. 15. Стандартное окно сохранения файла сети

Шаг 7. Запуск сохраненных моделей на новых данных. Итак загружаем новые данные, но чтобы переменные совпадали с переменными в моделях.

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

Рис. 16. Стандартное окно выбора файла сети

Получаем:

Рис. 17. Стартовая панель STATISTICA Automated Neural Networks (SANN)

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

Именно таков типичный сценарий исследования в пакете

В пакете 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. Вид построенной нейросети.

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

Рекомендуем почитать

Наверх