Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 2.doc
Скачиваний:
48
Добавлен:
29.08.2019
Размер:
573.95 Кб
Скачать

5. Прогнозирование умножения с помощью нейронных сетей

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

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

Рассмотрим прогнозирование с помощью нейронных сетей на примере прогнозирования результата умножения двух чисел – файл «multi.txt». В нем содержится таблица со следующими полями: «АРГУМЕНТ1», «АРГУМЕНТ2» – множители, «ПРОИЗВЕДЕНИЕ» – их произведение. Импортировав данные из файла, можно посмотреть результат умножения, используя таблицу.

Прогнозирование результата умножения

Пусть необходимо построить модель прогноза умножения, подавая на вход которой два множителя получать на выходе их произведение. Для этого необходимо, находясь на узле импорта, открыть мастер обработки. В нем выбрать в качестве обработки нейронную сеть и перейти к следующему шагу мастера. На втором шаге мастера необходимо установить назначение полей «АРГУМЕНТ1» и «АРГУМЕНТ2» как входные, а поле «ПРОИЗВЕДЕНИЕ» – как выходное.

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

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

Следующий шаг предлагает выбрать алгоритм обучения и его параметры. Здесь тоже ничего менять не нужно.

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

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

После обучения сети, в качестве визуализаторов выберем Диаграмму, Диаграмму рассеяния, Граф нейросети, Что-если.

Результаты наглядно видны на диаграмме рассеяния, которая показывает рассеяние прогнозируемых данных относительно эталонных.

Также можно сравнить эталонные данные с прогнозируемыми, выбрав на обычной диаграмме два поля – «ПРОИЗВЕДЕНИЕ» и «ПРОИЗВЕДЕНИЕ_OUT».

Визуализатор «Что-если» позволит провести эксперимент, введя любые значения множителей АРГУМЕНТ1 и АРГУМЕНТ2 и рассчитав результат их произведения.

Вид построенной сети можно посмотреть, выбрав визуализатор “Граф нейронной сети”.

6. Классификация с помощью деревьев решений

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

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

Пусть аналитик имеет данные по тому, как голосуют различные депутаты по различным законопроектам. Также известна партийная принадлежность каждого депутата – республиканец или демократ. Перед аналитиком поставлена задача: классифицировать депутатов на демократов и республиканцев в зависимости от того, как они голосуют. Данные по голосованию находятся в файле «Vote.txt». Таблица содержит следующие поля : «КОД» – порядковый номер, «КЛАСС» – класс голосующего (демократ или республиканец), остальные поля информируют о том, как голосовали депутаты за принятие различных законопроектов («да» , «нет» , «воздержался»). Импортируем данные из файла и просмотрим их в виде таблицы.

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

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

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

После построения дерева можно увидеть, что почти все примеры и на обучающей и на тестовой выборке распознаны. Перейдем на следующий шаг мастера для выбора способа визуализации полученных результатов. Основной целью аналитика является отнесение депутата к той или иной партии. Механизм отнесения должен быть таким, чтобы депутат указал, как он будет голосовать за различные законопроекты, а дерево решений ответит на вопрос, кто он – демократ или республиканец. Такой механизм предлагает визуализатор «Что-если». Не менее важным является и просмотр самого дерева решений, на которое можно определить, какие факторы являются более важными (верхние узлы дерева), какие второстепенные, а какие вообще не оказывают влияния (входные факторы, вообще не присутствующие в дереве решений). Поэтому выберем также и визуализатор «Дерево решений». Формализованные правила классификации, выраженные в форме «Если <Условие>. Тогда <Класс>» можно увидеть, выбрав визуализатор «Правила (дерево решений)». Часто аналитику бывает полезно узнать, сколько примеров было распознано неверно, к какие именно примеры были отнесены к какому классу ошибочно. На этот вопрос дает ответ визуализатор «Таблица сопряженности». Очень важно знать, каким образом каждый фактор влияет на классификацию. Такую информацию предоставляет визуализатор «Значимость атрибутов».

Проанализируем данные на полученных визуализаторах. Для начала посмотрим на таблицу сопряженности.

По диагонали таблицы расположены примеры, которые были правильно распознаны, в остальных ячейках те, которые были отнесены к другому классу. В данном случае дерево правильно классифицировало практически все примеры. Перейдем к основному визуализатору для данного алгоритма – «Дерево решений» Как видно, дерево решений получилось не очень громоздкое, большая часть факторов (законопроектов) была отсечена, т.е. влияние их на принадлежность к партии минимальная или его вообще нет (по-видимому, по этим вопросам у партий нет принципиального противостояния). Самым значимым фактором оказалась позиция, занимаемая депутатами по пакету законов касающихся врачей. Т.е. если депутат голосует против законопроекта о врачах, то он демократ (об это можно говорить с полной уверенностью, потому что в узел попало 83 примера). Достоверно судить о том, что депутат – республиканец можно, если он голосовал за законопроект о врачах, а также за законопроект по Сальвадору, а также был против законопроекта об усыновлении. Данный

Самым значимым фактором оказалась позиция, занимаемая депутатами по пакету законов касающихся врачей. Т.е. если депутат голосует против законопроекта о врачах, то он демократ (об это можно говорить с полной уверенностью, потому что в узел попало 83 примера). Достоверно судить о том, что депутат – республиканец можно, если он голосовал за законопроект о врачах, а также за законопроект по Сальвадору, а также был против законопроекта об усыновлении. Данный визуализатор предоставляет возможность просмотра примеров, которые попали в тот или иной узел, а также информацию об узле. Более удобно посмотреть значимость факторов или атрибутов в визуализаторе «Значимость атрибутов».

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

Данные представлены в виде таблицы. Полями этой таблицы являются:

  • номер правила,

  • условие, которое однозначно определяет принадлежность к партии,

  • решение – то, кем является депутат, голосовавший согласно этому условию,

  • поддержка – количество и процент примеров из исходной выборки, которые отвечают этому условию,

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

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