МЕТОДЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

В АНАЛИТИЧЕСКОЙ ИНФОРМАЦИОННОЙ СИСТЕМЕ

В.В.Евстигнеев, О.И.Пятковский, Д.В.Рубцов, С.В.Бутаков

 

Анализ экономического состояния предприятия предназначен для обеспечения максимально эффективного управления его финансово–хозяйственной деятельностью. Автоматизировать экспертные процедуры анализа экономического состояния хозяйствующего субъекта позволяет применение интеллектуальных блоков в информационных системах. Предлагается модель построения интеллектуальных блоков, позволяющая: 1) использовать широкий круг методов решения аналитических задач; 2) использовать единую для всех методов технологию подготовки данных; 3) учитывать инерционность показателей; 4) корректировать процедуры решения задач путем дообучения интеллектуальных компонент системы. Данная модель реализована в системе анализа хозяйственной деятельности предприятия.

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

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

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

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

Пользователь работает с системой в двух режимах: формирования и решения задачи. В первом режиме начальным является этап определения входных и выходных переменных, а также метода формализации процедуры решения. В зависимости от этого на втором этапе, при формировании базы знаний, вызывается конструктор формул и правил продукции или нейроимитатор [1], создающий ИНС на основе подготовленной обучающей выборки. Как показано на приведенной на рис. 2 блок – схеме формирования задачи начальные этапы этого процесса являются едиными для всех методов решения. Важной особенностью данной схемы является возможность учета прогноза значения показателя при его оценке (этап формирования задачи прогнозирования). Во втором режиме менеджер выбирает из списка подготовленных задач ту, решение которой ему необходимо. После этого управляющая процедура решателя определяет тип процедуры поиска значения (вывод по формуле, вывод по правилам продукции, вычисление значения с помощью ИНС). Далее формируются

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

Данный подход позволяет строить открытую систему [2,3], которую можно дополнять различными методами решения финансово - аналитических задач, например, такими как ЭС, основанная на формуле Байеса, линейный регрессионный анализ и т.д. Следует также отметить, что изменяется жизненный цикл программного изделия - в него добавляются этапы обучения и дообучения интеллектуальных блоков.

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

Рассмотрим характерные особенности построения интеллектуальных блоков систе-

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

Рис. 1. Укрупненная структурная схема системы

Прототипом для реализации продукционной ЭС явилась система ЭСИСП-2, разработанная в Томской академии систем радиоуправления и электроники [2]. Особенность системы - возможность использования в процедурной модели не только правил вида “Если - То”, но и математических формул, выражающих зависимости между параметрами модели. Основными блоками данной системы являются: блок ведения Базы Знаний (БЗ), машина логического вывода и подсистема объяснений.

Функциями блока ведения БЗ являются: а) поддержка интерфейса пользователя, облегчающего эксперту структуризацию знаний, их формализацию на Ограниченном Естественном Языке (ОЕЯ) и заполнение БЗ; б) интерфейс с другими программными блоками системы.

Блок логического вывода реализует схему вывода, являющуюся комбинацией методов “прямой” и “обратной волны” [2]. Это решение позволяет минимизировать размерность вектора входных данных, необходимых для решения задачи в конкретной ситуации.

Рис. 2. Блок – схема процесса формирования задачи

 

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

При проектировании структуры нейросетевого блока использовались общие положения, изложенные в работах [1, 5, 6, 7, 8].

Приведем принципы построения нейроимитатора. Основная задача данного блока – построение нейросети, аппроксимирующей неизвестную функцию y = f(x) на основе таблицы (xi,yi) (обучающей выборки), где x -вектор входных переменных,, y –вектор целевого параметра, , i=1..N–объем выборки. Под нейросетью в данном контексте понимается сложная функция:

, (1)

где f(a,x)–функция поведения нейрона:

, (2)

где x–входные данные или переменные, a–параметры, с>0–характеристика пологости функции, r=1..k – номер слоя. Верхний индекс указывает номер слоя сети, нижний–номер нейрона. f0=1, k=2..K–число слоев сети, К–максимальное число слоев, mk –число нейронов в k–м слое, для входного слоя m1=N, – вектор настраиваемых параметров i-го нейрона в k-ом слое.

Для построения нейросетевой аппроксимации F(a,x) для конкретной таблицы (xi,yi) необходимо найти такие значения а, при которых функционал , где Н – оценка работы нейросети, i=1..N – число примеров, s=1..S, S – размерность вектора y. Для простоты рассмотрим случай S=1.

Решению указанной задачи посвящено множество работ, в частности [1, 5, 6, 8]. В общем случае данная задача не является задачей выпуклого программирования, поэтому для нахождения глобального минимума функционала Н необходимо использовать методы глобальной оптимизации, что сопряжено со значительными затратами машинного времени. В то же время в работах [1,8] показано, что для получения приемлемого решения достаточно найти “хороший” локальный минимум. Для этого в [6], например, предлагается использовать итерационные градиентные методы, методы случайного поиска и т.д. в сочетании с возможностью выбора начальных условий оптимизации, что позволяет судить о приемлемости и качестве полученного решения.

В случае метода наискорейшего спуска в качестве правила изменения a выбирается:

, (3)

где i–номер слоя, j–номер нейрона в слое, k–номер параметра, t–номер итерации, h–шаг оптимизации. Величина шага вычисляется на каждой итерации путем одномерной оптимизации функции H(aijk,h,) при фиксированных aijk,. Выпишем формулы для каждого аijk. При использовании стратегии усреднения [1]:

, (4)

, (5)

где N–число примеров в обучающей выборке, p–номер примера. Вычисление основано на формуле дифференцирования сложной функции:

(6)

В соответствии с (1), (5) получаем:

, (7)

.(8)

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

. (9)

Тогда , (10)

где

(11)

–производная функции (2) по l–му параметру. На основе формул (9)–(11) можно последовательно вычислить производные по всем настраиваемым параметрам сети, что позволяет использовать тот или иной градиентный метод оптимизации, например, (3). Рассмотрим алгоритм настройки параметров a в соответствии с приведенными выкладками:

    1. Пользователь задает структуру нейросети: число слоев, число нейронов в каждом слое, характеристики пологости функции активации нейрона для каждого слоя.
    2. Инициализация массива настраиваемых параметров а некоторыми случайными величинами.
    3. Вычисление F(a,x) для очередного примера задачника по формуле (1)
    4. Вычисление в соответствии с (7)-(11)
    5. Если обработаны не все примеры, перейти к п.3
    6. Вычисление по формуле (4)
    7. Одномерная оптимизация шага градиентного спуска h.
    8. Изменение параметров а в соответствии с (3).
    9. Вычисление Н.
    10. Если Н>Hmin , то перейти к п.3, иначе конец.

Для обеспечения универсальности нейронной сети при работе с произвольными данными используется нормировка значений входных переменных:

, (12)

где [a,b] - диапазон приемлемых значений входных переменных, в нашем случае [-1,1]; [xmin,xmax] – диапазон реальных значений признака x, –преобразованный сигнал, который будет подан на вход сети. Значения, выдаваемые нейросетью, также преобразуются по формуле (12) из диапазона [a,b] в [xmin,xmax].

Приведем основные характеристики нейросетевого блока на данном этапе разработки. Нейроимитатор позволяет формировать многослойные нейронные сети прямого распространения. Пользователь может задавать следующие параметры нейронной сети: число слоев (до шести), число нейронов на каждом слое, значение характеристики функции активации, число тактов функционирования сети, уровень надежности распознавания. В качестве оценки функционирования используются: метод наименьших квадратов, метод наименьших квадратов с люфтом, оценка “расстояния до множества правильных ответов” с уровнем надежности [1,5]. Из алгоритмов обучения нейросети пользователь может выбрать: метод наискорейшего спуска, модифицированный ParTan либо одношаговый квазиньютоновский метод [1] с одномерной оптимизацией величины шага. Стратегия может варьироваться от обучения по примерам до обучения по всему задачнику. При этом пользователь может изменять объем обучающей и тестируемой выборки.

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

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

Рис. 3. Сравнение фактического временного ряда и прогноза нейросети

В системе, на основе архивных данных были сформированы обучающая и тестовая выборки, содержащие 14 входных и один результирующий показатель. Было обучено три группы по три нейросети со следующими характеристиками: число слоев - два, число нейронов на первом слое - 2, 5 и 7, число нейронов на втором слое - 2. Полученные результаты: число тактов обучения нейросети - 1000 - 1700, ошибка на тестовых данных не превышала 5%. Наиболее предпочтительными для решения данной задачи явились сети с пятью нейронами на первом слое. Получены также экспериментальные результаты по решению задачи прогнозирования временного ряда цен на акции. Нейросети обучались двумя методами: фиксированной и скользящей обучающей выборки. Для обучения была использована база данных, содержащая 116 записей. Сети обучались на первых 15 или 25 (в зависимости от метода) примерах и тестировались на остальных. Результаты тестирования приведены на рис. 3. При использовании метода скользящей выборки прогнозное значение на отдельных примерах отличалось от тестируемого менее чем на 2 %.

Финансово - аналитическая компонента системы со встроенным нейроимитатором демонстрировалась на 6 Всероссийском семинаре “Нейроинформатика и ее приложения” в г. Красноярске.

В качестве направлений дальнейшего развития можно выделить: 1) расширение набора методов решения аналитических задач; 2) дополнение системы компонентами взаимодействия извлечения знаний из внешнего окружения предприятия; 3)расширение аппарата поддержки принятия решений (например, использование имитационного моделирования при построении моделей прогноза) и т.д. Структура системы является открытой, что позволяет расширять ее программный и методологический аппарат для постоянного повышения качества диагностики хозяйственной деятельности предприятия.

СПИСОК ЛИТЕРАТУРЫ

1. Горбань А.Н. Обучение нейронных сетей. М.: изд. СССР – США СП “ParaGraph”, 1990. 160 с.

2. Информационные системы для руководителей / Ф.И. Перегудов, В.П. Тарасенко, Ю.П.Ехлаков, И.Д. Блатт, В.П. Бондаренко, В.А. Силич; Под ред.Ф.И. Перегудова- М.: Финансы и Статистика, 1989. - 176 с.

3. Буч Г. Объектно-ориентированное проектирование с примерами применения: пер. с англ.- М.: Конкорд, 1992.-519с.

4. Шумский С.А., Яровой А.В., Лукьяница А.А. Нейросетевое предсказание финансовых временных рядов// Тезисы III рабочего семинара - совещания “Теория и приложения искусственных нейронных сетей”, РФЯЦ - ВНИИТФ, Снежинск, 1 - 3 апреля, 1998.

5. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. - Новосибирск.: Наука, 1996.- 276 с.

6. Миркес Е.М. Нейрокомпьютер. Проект стандарта. Новосибирск: Наука. 1998.

7. Терехов С.А., Квичанский А.В., Федорова Н.Н., и др. Концепция нейросетевого комплекса NIMFA-2: от нейроимитаторов к нейротехнологиям решения информационных задач// Тезисы VI Всероссийского семинара “Нейроинфор-матика и ее приложения”, Красноярск, 1998.

8. Hristev R.M. The ANN Book., 1998, 374 p.