Дерево решений В результате применения этого метода к исходным данным создается иерархическая (древовидная) структура правил вида "Если... то...", а алгоритм анализа обеспечивает процесс вычленения на каждом этапе наиболее значимых условий и переходов между ними. Рассматриваемый алгоритм получил наибольшее распространение при выявлении причинно-следственных связей в данных и описании поведенческих моделей.
Технология деревьев решений (decision trees) включает построение объектов дерева, каждая вершина которого есть правило для сравнения некоторого параметра Х с заданным значением А. Эти правила связаны между собой ребрами дерева так, что в зависимости от ответа на вопрос о параметре Х задается вопрос о значении параметра Y или Z. Конечные вершины дерева соответствуют некоторым решениям, например, указывают на принадлежность объекта к тому или иному классу (например, клиент – платежеспособный или нет; ситуация – конфликтная, потенциально конфликтная или неконфликтная). Для лучшего понимания приведем иллюстративный пример.
Пусть известно некоторый достаточно большой перечень автомобилей, в котором выделяются три класса: класс 1 – автомобили, требующие косметического ремонта; класс 2 – автомобили, не требующие ремонта; класс 3 – автомобили, требующие капитального ремонта. Каждый из автомобилей описывается набором параметров и их значениями. Система ИАД анализируя эти параметры может выбрать те из них, по значениям которых можно оценить принадлежность автомобиля к одному из классов. Эти параметры и их значения образуют систему – дерево решений (см. пример на рис. 6.2, который, однако, является сугубо иллюстративным и не претендует на точность).
Иллюстративный пример дерева решений для распознавания
класса автомобиля
Тогда, если имеется описание нового автомобиля, класс которого неизвестен, построенное компьютерной системой дерево решения позволит с большой долей уверенности сделать вывод о принадлежности к тому или иному классу, т.е. по существу - о необходимости капитального или косметического ремонта;
Технологии обнаружения и построения правил “Если… То” – на основании анализа имеющихся в базах данных событий вида “параметр Х больше (меньше, равно) константы А” строится система продукционных правил, позволяющих устанавливать ассоциации в данных, решать задачи классификации, прогнозирования и т.п.
Типичная зона применимости деревьев решений - оценка различных рисков, например, просрочки платежа или закрытия заказа клиентом, недопоставки или несвоевременной поставки товара поставщиком. Другой часто встречающийся вариант использования этого алгоритма - анализ и прогноз поведенческих стереотипов (переход клиента к конкуренту, отклик на рекламную кампанию). И в этой ипостаси метод чрезвычайно эффективен, так как его логика близка к человеческой. А возможность использования варьируемых обучающих и актуальных выборок позволяет формировать на их основе сценарные прогнозы. Анализы этого типа получили название "Что, если ...?", они незаменимы в бюджетном процессе.
Еще одним нетривиальным примером практического использования этого алгоритма является формирование дружественной клиенту среды коммуникации. Он позволяет выявить клиентов с подобными стереотипами общения и восприятия для разработки типовых сценариев обслуживания их в колл-центрах, сложных вариантов анкетирования или адаптивной топологии интернет-магазинов.
К числу наиболее известных программных продуктов интеллектуального анализа данных следует отнести систему See5 (производитель – RuleQuest, www.rulequest.com), WizWhy (производитель – WizSoft, www.wizsoft.com). Подробная информация об этих системах имеется в [Дюк], а прилагаемый к этой книге компакт-диск содержит демонстрационные версии программ с примерами. Следует отметить также отечественную разработку – многофункциональный пакет программ для интеллектуального анализа данных Deductor. Облегченная версия Deductor, а также полезные сведения из области ИАД имеются на сайте производителя – www.basegroup.ru. 4.5. Применение нейросетей в финансовой сфере Нейросетевые технологии, в отличие от других программных систем, предназначены для воспроизведения неосознанных знаний человека (например, человек плохо понимает, каким образом он узнает цвет предмета). Нейросеть предназначена для выявления общих закономерностей, происходящих в явлениях и процессах, которые впоследствии применяются для распознавания новых конкретных аналогичных ситуаций. С их помощью можно воспроизвести многочисленные связи между множеством объектов. Принципиальное отличие искусственных нейросетей от обычных программных систем, например экспертных, состоит в том, что они не требуют программирования. Они сами настраиваются, т. е. обучаются тому, что требуется пользователю.
Искусственные нейросети состоят из искусственных нейронов (рис. 4.48). Формально искусственный нейрон представляет собой математическую модель естественного нейрона, имеющего несколько входов (вектор входных сигналов) и один выход. Этот выход направлен либо к другому нейрону, либо к выходу из нейронной системы. Вектор входных сигналов преобразуется нейроном в выходной сигнал с использование сумматора и специального нелинейного преобразователя. Каждый из нейронов на рис. 4.48 осуществляет следующие операции, которые можно представить в виде формулы:
,
где - выходной сигнал j-го нейрона, характеризуемый значением в
некотором диапазоне;
- функция возбуждения нейрона, преобразующая выходной сигнал,
в форму, воспринимаемую другим нейроном;
- весовой коэффициент связи между i-м и j-м нейронами;
- логическая переменная, принимающая значение 1, если связь
между i-м и j-м нейронами возбуждена и 0 – в противном случае;
- пороговое значение функции возбуждения.
Один нейрон работает следующим образом:
на его вход поступает набор входных сигналов;
нейрон суммирует входные сигналы и генерирует либо не генерирует выходной сигнал, который направляется либо в другие нейроны, либо на выход сети.
Связь между нейронами характеризуется интенсивностью (силой возбуждения), называемой также синаптическим весом. Представить связи можно в виде синаптической матрицы, элементы которой указывают на силу возбуждения связей между нейронами (подробнее см. [69 ]).
Рис. 4.48. Фрагмент нейронной сети В экономике нейросети наиболее популярны в задачах классификации и анализа временных рядов. Примерами задач классификации могут служить получение ответов на вопросы: прибыльные или неприбыльные данные инвестиции, склонная или несклонная данная фирма к банкротству и т.д. Задача анализа временных рядов заключается в получении будущих значений некоторой величины на основе знания ее предыдущих значений (прогноз валют, акций и т.д.).
Применение нейросетей предполагает выполнение следующих этапов:
Постановка задачи: формирование цели применения нейросети (например, прогнозирование курса ценных бумаг).
Параметризация сети.
Обучение нейросети: подготовка обучающих примеров, которые представляют собой уже известные результаты решения задачи без нейросети и предъявление их ей.
Эксплуатация сети: сети предъявляется некоторая ситуация, которая либо распознается, либо нет.
Прежде чем приступить к ее обучению необходимо определить следующие параметры:
количество входных точек;
количество выходных точек;
число слоев нейронов в сети;
число нейронов в каждом слое;
максимальную ошибку обучения;
число эпох обучения.
Под эпохой понимают один полный проход по обучающей выборке, используемой для обучения и контроля сети.
На практике число нейронов первого слоя может быть произвольным, но не меньше числа значимых внешних сигналов, воспринимаемых сетью. Число нейронов следующего, за текущим, слоя, обычно составляет 60% от числа нейронов предыдущего слоя. Такой расчет позволяет определить число слоев. (число выходных точек)
Обучение нейронных сетей представляют собой последовательный процесс изменения синаптических весов, отражающих силу связей между нейронами. Известно два вида обучения: с учителем и без такового. Рассмотрим на примере первый.
Осуществляется постановка задачи (например, прогнозирование курса валют). Устанавливается характеристика объекта, которую следует прогнозировать () и характеристики других объектов, от которых она зависит (). Необходимо установить зависимость . Условием для применения должно быть то, что их значения должны быть известны на момент прогноза.
Готовится набор обучающих примеров, которые состоят из набора исходных векторов и соответствующих им выходных значений . Если, например, - текущая цена акций некоторого предприятия, а - котировки некоторого набора акций три дня назад, то каждый обучающий пример представляет собой котировки акций на некоторую прошлую дату плюс стоимость акций () через три дня после этой даты (котировка – это определение рыночного курса ценной бумаги).
Эти примеры подаются на вход сети.
Х1 Х2 ….. Хn Y
1-й день обучения
2-й день обучения
3-й день обучения
------------------------------------------
m-й день обучения В данном случае использованы следующие обозначения:
Y - цена акций объекта, которую следует прогнозировать;
- цена акций i-го объекта;
- цена акции i-го дня обучения, j- го объекта k-дневной давности.
Вначале на вход подается первая строка . Нейросеть формирует зависимость между текущим значением y1 и значениями которые характеризуют цены группы акций три дня назад. Полученное значение сравнивается с фактическим значением . Если разница превышает допустимый уровень, то алгоритм обучения изменяет синаптические веса (весовые коэффициенты нейронов), после чего эта строка вновь подается на вход сети для обучения до тех пор, пока результат не будет удовлетворительным. Затем подается следующая строка. Процесс повторяется до тех пор, пока суммарная ошибка в реакции сети на все строки не станет меньше заданной.
Схема обучения с "учителем" представлена на рис. 4.49.
Рис. 4.49. Схема обучения нейросети «с учителем» На рис. 4.49 в качестве эталона обучения используется вектор , в котором находятся фактические значения курсов валют по происшествии трех дней.
Рассмотрим другой пример. Ставится задача прогнозирования курса валют на 10 дней вперед стоимости пакета акций компании А. Это значит, что например, если известны котировки акций на 1 февраля, то и известны котировки на все последующие 10 дней, поскольку нам необходимо знать стоимость акций предприятия А на 11февраля.
Пусть известны котировки 16 других, смежных однородных компаний. Для начала следует определить те компании, которые существенно влияют на изменение стоимости акций указанной компании. Сделать это можно с помощью корреляционного анализа. Из рассмотрения удаляются те компании коэффициент линейной корреляции, для которых не превосходит 0,5. Затем для каждой оставшейся компании составляется вектор для обучения нейросети (см. табл. 7.8).
Таблица 7.8
Обучающие вектора Дата
| С1-5
| С1-10
| …
| Сi-5
| Сi-10
| …
| СтА
| 11.01.2007
| 20,1
| 20,7
| …
| 16,7
| 16,9
| …
| 41,7
| 12.01.2007
| 20,3
| 20,5
| …
| 16,4
| 16,7
| …
| 41,8
| .
.
20.11.2007.
| .
.
19.4
| .
.
19.9
| .
.
.
| .
.
15.2.
| .
.
16.1
| .
.
.
| .
.
42.3
|
В таблице использованы следующие обозначения:
Сi-5 – средняя стоимость акций i-й компании за предыдущие пять дней (с 1-го по 5-й день);
Сi-10 – средняя стоимость акций i-й компании за предыдущие десять дней (с 6-го по 10-й день);
СтА – текущая стоимость акций компании А. |