ИНФОРМАЦИОННЫЕ СИСТЕМЫ В ЭКОНОМИКЕ
Тема 6
Интеллектуальные технологии в экономических информационных системах
Учебные вопросы:
1. Аналитическая обработка данных
2. Нейросетевые технологии обработки экономической информации
3. Генетические алгоритмы обработки экономической информации
4. Применение интеллектуальных технологий в экономических системах
1. Аналитическая обработка данных
Интеллектуальные информационные технологии (ИТТ) – информационные технологии, в которых предусмотрены следующие возможности:
• наличие баз знаний, отражающих опыт конкретных людей, групп, обществ, человечества в целом, при решении творческих задач в определенных сферах деятельности, традиционно считавшихся прерогативой интеллекта человека (например, такие плохо формализуемые задачи, как принятие решений, проектирование, извлечение смысла, объяснение, обучение и т.п.);
• наличие моделей мышления на основе баз знаний: правил и логических выводов, аргументации и рассуждения, распознавания и классификации ситуаций, обобщения и понимания и т.п.;
• способность формировать вполне четкие решения на основе нечетких, нестрогих, неполных, недоопределенных данных;
• способность объяснять выводы и решения, т.е. наличие механизма объяснений;
•способность к обучению, переобучению и, следовательно, к развитию.
Интеллектуальная информационная система (ИИС) – это информационная система, основанная на концепции искуственного интеллекта для генерации алгоритмов решения экономических задач различных классов в зависимости от конкретных информационных потребностей пользователей.
Построение интеллектуальных информационных систем основано на применении методов аналитической обработки данных, среди которых выделяют методы, реализуемые по технологии OLAP и на основе средств Data Mining.
Технологии OLAP
Как правило, в компаниях существует несколько информационных систем:
•системы складского учета;
•бухгалтерские системы;
•системы для автоматизации отдельных производственных процессов;
• системы сбора отчетности с подразделений компании, а также множество файлов, которые разбросаны по компьютерам сотрудников.
Имея столько разрозненных источников информации, часто бывает очень сложно получить ответы на ключевые вопросы деятельности компании и увидеть общую картину. Если нужная информация все же находится в одной из используемых систем или локальном файле, то она часто оказывается устаревшей или противоречит информации, полученной из другой системы. Данная проблема эффективно решается с помощью информационно- аналитических систем, построенных на базе OLAP-технологий.
OLAP (On-Line Analytical Processing) – технологии оперативной (в реальном масштабе времени) аналитической обработки информации, направленные на поддержку принятия решений.
Технологии ОLAP используют гиперкубы – специально структурированные данные (иначе называемые OLAP-кубами).
В структуре данных гиперкуба различают:
• меры – количественные показатели (реквизиты-основания), используемые для формирования сводных статистических итогов;
• измерения – описательные категории (реквизиты-признаки), в разрезе которых анализируются меры.
Размерность гиперкуба определяется числом измерений для одной меры.
Например, гиперкуб на рис.1 содержит данные:
•измерения: время, продукт, территория;
•мера: объем реализации.
Рис.1. Структура гиперкуба
Подобные гиперкубы предназначены для создания аналитических отчетов:
•классификация потребителей по объемам покупок;
•классификация продаваемых товаров по методу ABC;
•анализ сроков исполнения заказов различных потребителей;
• анализ объемов продаж по периодам, товарам и группам товаров, регионам и потребителям, внутренним подразделениям, менеджерам и каналам сбыта;
•прогноз взаиморасчетов с потребителями;
•анализ возврата товаров от потребителей и т.д.
Аналитические отчеты могут иметь произвольное сочетание измерений и мер, они используются для анализа принимаемых управленческих решений. Аналитическая обработка обеспечивается инструментальными и языковыми средствами.
Этот класс программ адресован в основном высшему руководящему звену и предназначен для анализа сложного комплексного процесса, которым является реальная жизнь любого предприятия. Выявленные с помощью OLAP- технологии закономерности и тенденции – прекрасный материал для принятия правильных управленческих решений, а также для создания всевозможных отчетов и презентаций.
Средства Data Mining
Очевидно, что огромные массивы данных, накопленные в организациях, содержат много полезной информации, которую можно и нужно использовать для оптимизации работы. Для этого требуется обобщить прошлый опыт, найти закономерности, извлечь правила и использовать эти знания в процессе управления. Простые методы анализа, наподобие визуализации, вэтомслучаенемогутпомочь. Они позволяют ответить на вопрос: «что было», а необходимо получить ответ на вопрос: «что надо делать». Для этого нужны механизмы построения моделей, способные находить нетривиальные закономерности в больших объемах данных, – Data Mining системы.
Data Mining – это процесс обнаружения («раскопки», «добычи») в сырых данных ранее неизвестных нетривиальных практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности.
Data Mining системы основаны на следующих методах:
• самообучение (нейронные сети, ассоциативные правила и др.). Аналитик формулирует гипотезы о возможном наличии зависимости, а система автоматически строит модели по существующим данным;
• анализ временных рядов (алгоритмы, применяемые для выявления сезонности, трендов, нахождения автокорреляционных зависимостей). Подобные модели чаще всего используются для решения задач прогнозирования;
• анализ отклонений – после построения моделей возможно выделение отклонений, выявление наиболее нехарактерных прецедентов. Подобные механизмы позволяют автоматически выявлять те события, на которые необходимо обратить внимание, атакже находить шаблоны, не подпадающие под общие закономерности;
• оценка качества моделей – механизмы оценки качества моделей применяются для сравнения результатов моделирования как на основе формальных критериев качества, так и экспертных знаний;
• визуализация – удобные механизмы отображения значительно облегчают процесс интерпретации результатов, повышая доверие экспертов к результатам анализа.
Применение методов Data Mining – фактически единственная возможность извлечь пользу из накопленной информации, в противном случае собранные данные будут лежать «мертвым грузом».
Data Mining позволяет извлекать из данных знания и превратить в конкурентные преимущества:
•качественно прогнозировать;
•точнее выявлять целевые аудитории;
•предсказывать развитие событий;
•управлять рисками и прочее.
Рассмотрим некоторые методы искусственного интеллекта, имеющие важное значение при реализации интеллектуальных информационных систем. Среди них выделим нейросетевые и генетические.
2. Нейросетевые технологии обработки экономической информации
Идея нейронных сетей родилась в рамках теории искусственного интеллекта, в результате попыток имитировать способность биологических нервных систем обучаться и исправлять ошибки.
НЕЙРОННЫЕ СЕТИ (Neural networks) – это модели биологических нейронных сетей мозга, в которых нейроны имитируются относительно простыми, часто однотипными, элементами (искусственными нейронами).
Нейронная сеть может быть представлена направленным графом с взвешенными связями, в котором искусственные нейроны являются вершинами, а синаптические связи – дугами.
Нейронные сети широко используются для решения разнообразных задач.
Среди областей применения нейронных сетей:
•автоматизация процессов распознавания образов;
•прогнозирование;
•адаптивное управление;
•создание экспертных систем;
•организация ассоциативной памяти и т.д.
С помощью нейронных сетей можно, например, предсказывать объемы продаж изделий, показатели биржевого рынка, выполнять распознавание сигналов, конструировать самообучающиеся системы.
Нейронная сеть представляет собой совокупность нейронов, которые составляют слои. В каждом слое нейроны между собой никак не связаны, но связаны с нейронами предыдущего и следующего слоев. Информация поступает с первого на второй слой, со второго – на третий и т.д.
Среди задач Data Mining (см. вопрос 1 темы 6), решаемых с помощью нейронных сетей, можно выделить:
Классификация (обучение с учителем). Примеры задач классификации: распознавание текста, распознавание речи, идентификация личности.
Прогнозирование. Для нейронной сети задача прогнозирования может быть поставлена таким образом: найти наилучшее приближение функции, заданной конечным набором входных значений (обучающих примеров). Например, нейронные сети позволяют решать задачу восстановления пропущенных значений.
Кластеризация (обучение без учителя). Примером задачи кластеризации может быть задача сжатия информации путем уменьшения размерности данных.
Примеры задач, для решения которых возможно применение нейронных сетей:
Прогнозирование показателей деятельности фирмы (объемы продаж). На основе ретроспективной информации о деятельности организации возможно определение объемов продаж на будущие периоды.
Предоставление кредита. Используябазуданныхоклиентахбанка, применяя нейронные сети, можно установить группу клиентов, которые относятся к группе потенциальных «неплательщиков».
Основой нейронной сети является искусственный нейрон, моделирующий функции биологического нейрона (рис.2).
Рис.2. Модель искусственного нейрона
Текущее состояние нейрона определяется как взвешенная сумма его входов. Выход нейрона есть функция его состояния. Активационная функция F, которую также называют характеристической функцией, – это нелинейная функция, вычисляющая выходной сигнал формального нейрона.
Часто используемые активационные функции:
•пороговая функция;
•линейная функция;
•сигмоидальная функция;
•колоколообразная функция.
Выбор активационной функции определяется спецификой поставленной задачи либо ограничениями, накладываемыми некоторыми алгоритмами обучения. Из искусственных нейронов строят нейронные сети.
Рассмотрим пример многослойной сети.
Сеть, изображенная на рис.3, имеет 3 входа. На них поступают сигналы, идущие далее на 3 нейрона, которые образуют первый слой. Выходные сигналы первого слоя передаются двум нейронам второго слоя. Последние, в свою очередь, выдают два выходных сигнала.
Рис.3. Пример многослойной нейронной сети
Перед использованием нейронной сети ее необходимо обучить. Многослойные сети можно обучать методом обратного распространения ошибки, который основан на вычислении градиента функции ошибок. В процессе обучения веса нейронов каждого слоя корректируются с учетом сигналов, поступивших с предыдущего слоя, иневязкикаждогослоя, которая вычисляется рекурсивно в обратном направлении от последнего слоя к первому.
Нейронные сети могут быть построены на основе нейропроцессоров или прикладных программ, имитирующих работу нейронной сети (нейропакетов).
Большинство нейропакетов включают следующую последовательность действий:
• создание сети (выбор пользователем параметров либо одобрение установленных по умолчанию);
•обучение сети;
•выдача пользователю решения.
Возможность использования нейросетей включена также практически во все известные математические и статистические пакеты.
3. Генетические алгоритмы обработки экономической информации
При решении экономических задач широко применяются методы оптимизации. Оптимизационные задачи заключаются в нахождении минимума (максимума) заданной функции. Такую функцию называют целевой. Как правило, целевая функция – сложная функция, зависящая от некоторых входных параметров. В оптимизационной задаче требуется найти значения входных параметров, при которых целевая функция достигает минимального (максимального) значения. Существует целый класс оптимизационных методов. Условно все оптимизационные методы можно разделить на методы, использующие понятие производной (градиентные методы) и стохастические методы (например, методы группы Монте-Карло). С их помощью можно найти экстремальное значение целевой функции, но не всегда можно быть уверенным, чтополученозначение глобального экстремума. Нахождение локального экстремума вместо глобального называется преждевременной сходимостью. Помимо проблемы преждевременной сходимости существует другая проблема – время процесса вычислений. Зачастую более точные оптимизационные методы работают очень долго.
Для решения поставленных проблем и проводится поиск новых оптимизационных алгоритмов. Предложенные в 1975 году Дж. Холландом генетические алгоритмы (ГА) основаны на принципах естественного отбора Ч. Дарвина. Эти алгоритмы успешно применяются в различных областях деятельности (экономика, физика, технические науки и т.п.). Созданы различные модификации ГА и разработан ряд тестовых функций.
Рассмотрим основные положения теории ГА.
Генетические алгоритмы – это адаптивные методы поиска, которые в последнее время используются для решения задач оптимизации. Вних используются как аналог механизма генетического наследования, так и аналог естественного отбора. При этом сохраняется биологическая терминология в упрощенном виде и основные понятия линейной алгебры.
Работу ГА можно представить так: он создает популяцию особей, каждая из которых является решением некоторой задачи, а затем эти особи эволюционируют по принципу «выживает сильнейший», то есть остаются лишь самые оптимальные решения.
Работа ГА представляет собой итерационный процесс, который продолжается до тех пор, пока не выполнятся заданное число поколений или какой-либо иной критерий остановки. Каждую особь описывает хромосома (это данные, описывающие определенное решение задачи, в подавляющем большинстве они выражены массивом), хромосома состоит из генов (элементы массива), которые располагаются в определенных позициях хромосомы. В большинстве случаев хромосома представляет собой битовую строку, где каждый бит является геном, но можно выбирать ту форму, которая будет более удобна для решения конкретной задачи. Итак, вся наследственная информация, или генотип храниться в хромосомах.
Работа ГА имитирует естественную эволюцию только в очень упрощенном варианте и можно выделить несколько этапов работы ГА:
1. Инициализировать исходную популяцию (создать популяцию). На этом этапе мы случайным образом создаем начальную или стартовую популяцию особей. Алгоритм генерации стартовой популяции в общем случае зависит от условий конкретной задачи.
2. Оценить популяцию.
3. Повторять, пока не выполнится условие останова.
3.1. Селекция (отобрать часть популяции для воспроизводства) Здесь алгоритм выбирает особей в следующее поколение. При этом большие шансы выжить имеют более приспособленные особи-решения. Существуют несколько алгоритмов для решения проблемы селекции. Чем более приспособлена особь, тембольшеунеешансоввыжить.
3.2. Рекомбинация (выполняется скрещивание генов отобранных родителей). В этой части ГА случайным образом выбираются две особи, которые затем по определенным правилам обмениваются генами. Скрещиваются не все особи в популяции – существует вероятность скрещивания для пары особей, заданная заранее.
3.3. Мутация (случайным образом осуществляется мутация полученной популяции). Этот этап ГА с заданной (обычно очень маленькой) вероятностью случайным образом изменяет случайный ген особи (для битовых строк инвертирует значение мутирующего бита).
3.4. Оценивание (оценить пригодность новой популяции).
3.5. Замещение (на основе полученной пригодности выбрать выживших индивидов).
Рассмотрим пример работы ГА. На рис.4 приведена некоторая целевая функция y = f(x). Необходимо найти максимум целевой функции на заданном интервале.
Рис.4. Пример нахождения максимума целевой функции с помощью ГА
Разделим данный интервал на некоторое количество значений x, равное Nx = 3,2 / 0,.1 = 32. В результате мы имеем 32 значения аргумента x на интервале от 0 до 3,2. Какое-то из них соответствует максимуму функции y = f(x) с удовлетворяющей нас точностью e.
Выберем способ представления числа и зададим его в виде строки. Существует ряд способов представления чисел в генетических алгоритмах: в десятичной системе, в двоичной системе, с плавающей точкой, с использованием виртуального алфавита символов и т.д. Самым распространенным является бинарное представление, т.е. вдвоичной системе. Длина строки выбирается исходя из вышеприведенных расчетов. В нашем примере для представления 32-х значений аргумента x достаточно иметь строку длины I = log2 32 = 5 символов.
После проведения всех необходимых преобразований наша популяция будет выглядеть, так как показано на рис.5.
Рис. 5. Фрагмент популяции
X Значение Индивид
x1 0,1 00001
x2 1,2 01100
x3 2,4 11000
x4 1,6 10000
x5 0,4 00100
x6 2,8 11100
В этом случае индивид с кодом 00000 будет соответствовать левой границе интервала (x = 0), а индивид с кодом 11111 . правой (x = 3,1). Любая другая комбинация нулей и единиц будет соответствовать значению аргумента внутри заданного интервала и никогда не нарушит его границы.
Произведем оценку индивидов популяции. Для того, чтобы включить в работу механизм естественного отбора необходимо, прежде всего, выяснить какие особи в популяции являются сильными, а какие слабыми. Вгенетических алгоритмах оценка производится на основании значений целевой функции (в нашем примере это функция y = f(x)). После оценки, всем индивидам присваиваются так называемые значения пригодности (рис.6).
Рис. 6. Фрагмент популяции с оценкой пригодности индивидов
X Значение Индивид Пригодность
x1 0,1 00001 4
x2 1,2 01100 5,5
x3 2,4 11000 3
x4 1,6 10000 5,2
x5 0,4 00100 5,8
x6 2,8 11100 3,1
Так как мы решаем задачу максимизации, то «сильнее» будет тот индивидуум, у которого значение пригодности выше. Основное требование к пригодности состоит в том, что она должна выражаться скалярным числом. Скаляр (от лат. scalaris – ступенчатый), величина, каждое значение которой может быть выражено одним (действительным) числом. Примерами скаляров являются длина, площадь, время, масса, плотность, температура, работа и др.
Оператор отбора (селекция) на основании предварительно вычисленных значений пригодности выбирает из популяции наиболее «сильные» индивиды, т.е. представляет собой идеализированный вариант естественного отбора в природе. Существует несколько вариантов реализации механизма отбора. Мы рассмотрим самый простой из них – турнирный отбор. Из популяции случайно выбираются несколько индивидов, и среди них устраивается турнир (сравниваются значения пригодности). Победитель турнира, т.е. индивид с наибольшим значением пригодности переходит к следующему этапу.
Скрещивание или «кроссинговер» – играет роль основного поискового средства генетического алгоритма. Механизм его работы прост и основан на механизме природного скрещивания. Пара индивидуумов выстраивается друг перед другом. Внутри каждого из них выбирается точка пересечения, иони обмениваются частями генетического кода, расположенными до этой точки или после нее. Существуют, также, модификации скрещивания, использующие более одной точки пересечения. Смысл скрещивания состоит в нахождении новых комбинаций генетического кода, обладающих более высокой пригодностью, чем родители.
Допустим из нашей популяции (рис.7) для скрещивания были выбраны индивиды с номерами 1 и 2: 00001 и 01100. Процесс скрещивания показан на рис. 7.
Рис. 7. Процесс скрещивания
При расшифровке генетического кода потомков мы получим значения аргумента функции соответственно: 0.9 и 0.4. Если посмотреть на график (рис.4), то можно заметить, что и первый и второй потомки оказались «сильнее» чем их родители, ведь они расположены ближе к искомой цели.
Таким образом, проводя операцию скрещивания для всех индивидов, прошедших отбор мы получаем новое поколение, которое будет «сильнее» предыдущего.
Родитель 1 00001 Потомок 1 01001
Родитель 2 01100 Потомок 2 00100
4. Применение интеллектуальных технологий в экономических системах
В экономических информационных системах с помощью интеллектуальных информационных систем возможно решение следующих задач:
•Анализ финансового состояния предприятия.
•Оценка кредитоспособности предприятия.
•Планирование финансовых ресурсов предприятия.
•Формирование портфеля инвестиций.
•Страхование коммерческих кредитов.
•Выбор стратегии производства.
•Оценка конкурентоспособности продукции.
•Выбор стратегии ценообразования.
•Выбор поставщика продукции.
•Подбор кадров.
Перечисленные задачи решаются на основе применения экспертных систем, в основе которых лежат рассмотренные выше методы искуственного интеллекта.
Экспертная система – это интеллектуальная информационная система, предназначенная для решения слабоформализуемых задач на основе накапливаемого в базе знаний опыта работы экспертов в проблемной области. Она включает базу знаний с набором правил и механизмом вывода и позволяет на основании предоставляемых пользователем фактов распознать ситуацию, поставить диагноз, сформулировать решение или дать рекомендацию для выбора действия.
В основе построения экспертных систем лежит база знаний, которая основывается на моделях представления знаний.
Выявлением знаний эксперта и представлением их в базе знаний занимаются специалисты – инженеры знаний. Экспертная система должна обладать механизмом приобретения знаний для ввода знаний в базу и их последующее обновление.
Технологию построения экспертных систем называют инженерией знаний. Этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний «извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему.
В результате появляется система, решающая задачи во многом так же, как человек- эксперт. Ядро экспертной системы составляет база знаний, которая создается и накапливается в процессе ее построения. Знания выражены в явном виде и организованы так, чтобы упростить принятие решений. Накопление и организация знаний – одна из самых важных характеристик экспертной системы.
Наиболее полезной характеристикой экспертной системы является то, что она применяет для решения проблем высококачественный опыт. Этот опыт может представлять уровень мышления наиболее квалифицированных экспертов в данной области, что ведет к решениям творческим, точным и эффективным. Именно высококачественный опыт в сочетании с умением его применять делает систему рентабельной, способной заслужить признание на рынке. Этому также способствует гибкость системы. Система может наращиваться постепенно в соответствии с нуждами бизнеса или заказчика. Это означает, что можно вначале вложить сравнительно скромные средства, а потом наращивать возможности системы по мере необходимости.
Другой полезной чертой экспертных систем является наличие у них прогностических возможностей. Экспертная система может функционировать в качестве модели решения задачи в заданной области, давая ожидаемые ответы в конкретной ситуации и показывая, как изменятся эти ответы в новых ситуациях.
Экспертная система может объяснить подробно, каким образом новая ситуация привела к изменениям. Это позволяет пользователю оценить возможное влияние новых фактов или информации и понять, как они связаны с решением. Аналогично пользователь может оценить влияние новых стратегий или процедур на решение, добавляя новые правила или изменяя уже существующие. Важным свойством экспертных систем является возможность их применения для обучения и тренировки персонала.
Экспертные системы могут быть разработаны с расчетом на подобный процесс обучения, так как они уже содержат необходимые знания и способны объяснить процесс своего рассуждения. Остается только добавить программное обеспечение, поддерживающее соответствующий требованиям эргономики интерфейс между обучаемым и экспертной системой. Кроме того, должны быть включены знания о методах обучения и возможном поведении пользователя.