Крыжановский Дмитрий Иванович

advertisement
На правах рукописи
КРЫЖАНОВСКИЙ ДМИТРИЙ ИВАНОВИЧ
МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРОЦЕССА ПОСТРОЕНИЯ
МОДЕЛЕЙ ИДЕНТИФИКАЦИИ
Специальность 05.13.18 – Математическое моделирование, численные методы и
комплексы программ
АВТОРЕФЕРАТ
диссертации на соискание ученой степени
кандидата технических наук
Волгоград 2008
Работа выполнена на кафедре «Системы автоматизированного проектирования и поискового конструирования» Волгоградского государственного технического университета.
Научный руководитель
доктор технических наук, профессор
Фоменков Сергей Алексеевич
Официальные оппоненты:
доктор технических наук, профессор
Лукьянов Виктор Сергеевич
доктор технических наук, профессор
Санжапов Булат Хизбуллович
Ведущая организация
Волгоградский государственный университет
Защита состоится 11 декабря 2008 г. в 13 часов на заседании диссертационного совета
ДМ 212.009.03 при Астраханском государственном университете по адресу:414056, г. Астрахань, ул. Татищева, 20а, конференц-зал.
С диссертацией можно ознакомиться в библиотеке Астраханского государственного университета
Автореферат разослан 10 ноября 2008 г.
Ученый секретарь диссертационного
Совета, к.т.н.
Щербинина О.В.
2
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность. В различных областях научно-исследовательской и производственной деятельности человека встречается задача обработки экспериментальных данных с целью извлечения из них закономерностей, описывающих различные процессы и явления. Если изучающиеся закономерности представляются в виде математических моделей, они носят
название моделей идентификации, а задача их восстановления – задачи идентификации. Для
решения задачи идентификации разработано большое число методов. Однако, несмотря на
это, задача по-прежнему далека от своего полного решения: в зависимости от конкретной
ситуации применяются различные методы, выбор и правильное использование которых являются далеко не тривиальными. На ход решения задачи идентификации большое влияние
оказывает человеческий фактор (знания, предпочтения, убеждения, личный опыт исследователя); многим процедурам, применяемым для восстановления математических зависимостей,
свойственна низкая степень алгоритмизации. Среди наиболее актуальных проблем, связанных с задачей идентификации, можно выделить следующие: 1) отсутствие обобщённой алгоритмической схемы построения моделей идентификации, охватывающей все этапы этого
процесса и унифицирующей выборы тех или иных алгоритмов и настройку их параметров; 2)
недостаточное внимание к использованию на практике процедур предварительного анализа
данных (игнорирование которых может не только усложнить решение задачи, но и привести
к неадекватным, неустойчивым моделям); 3) отсутствие метода для разрешения дилеммы о
дисперсии и смещении; 4) отсутствие критериев комплексной оценки качества построенных
моделей; 5) трудности, возникающие при параметрической идентификации сугубо нелинейных моделей; 6) отсутствие автоматизируемого алгоритма структурной идентификации.
Кроме того, следует также обозначить ещё одну проблему, носящую уже сугубо практический характер – отсутствие интегрированной программной системы построения моделей
идентификации с поддержкой всех этапов процесса моделирования. Существующие программные пакеты, как правило, ориентированы или только на какой-то отдельный этап
(например, корреляционный анализ данных), или же предназначены для решения узкого круга задач на весьма ограниченном множестве моделей (чаще всего линейных, внутрилинейных и полиномиальных). Пакеты, которые на рынке программного обеспечения позиционируются как универсальные, также несвободны от указанных недостатков: их универсальность приводит к тому, что для решения каждой отдельной подзадачи предлагаются только
самые простые варианты, что явно недостаточно для практических целей. Наконец, многие
из аналитических программных пакетов ориентированы на моделирование в социальноэкономических дисциплинах, в которых стандарты моделирования и правила представления
моделей сильно отличаются от принятых в физико-математических и технических областях.
Целью работы является повышение эффективности процесса построения математических
моделей по результатам наблюдений за счёт повышения адекватности и устойчивости моделей путём усовершенствования вычислительных процедур и их автоматизации. Для достижения данной цели необходимо решить следующие задачи: 1) проанализировать достоинства
и недостатки существующих в настоящий момент алгоритмов, методик и программных
средств для построения моделей идентификации; 2) сформулировать обобщённую методику
3
построения моделей идентификации; 3) разработать и реализовать эффективный метод, позволяющий разрешать дилемму о дисперсии и смещении; 4) разработать и реализовать метод
параметрической идентификации нелинейных моделей, более эффективный, чем принятые
на настоящий момент; 5) разработать критерий комплексной оценки качества моделей; 6)
разработать и реализовать алгоритмическую процедуру структурной идентификации; 7) разработать интегрированную программную систему построения моделей идентификации и
провести её испытания на тестовых и практических задачах.
Объектом исследования настоящей диссертации является процесс построения моделей
идентификации. К предмету исследования относятся различные численные алгоритмы математической статистики, технологий Data Mining, нечётких вычислений, способы их применения для построения моделей идентификации, программные системы, выполняющие построение таких моделей. В качестве методов исследования в работе используются методы
математического анализа и математической статистики, математического моделирования на
ЭВМ, искусственного интеллекта, системного анализа, теории трансляции, теории регуляризации, теории алгоритмизации, методы оптимизации, численные методы, а также методы
объектно-ориентированного анализа и проектирования систем.
Научная новизна работы состоит в следующем:
1) Сформулирована обобщённая методика построения моделей идентификации,
унифицирующая порядок восстановления математических зависимостей, содержащая все
основные этапы решения задачи (включая предварительную обработку данных, структурную
и параметрическую идентификацию, оценку качества моделей), поддерживающая вариативность и итеративность процесса моделирования и позволяющая комплексно использовать
известные ранее, а также новые алгоритмы и методы.
2) Модифицирован метод регуляризации данных, позволяющий частично нейтрализовать влияние случайных шумов.
3) Модифицированы и алгоритмизированы методы нелинейной параметрической
идентификации и структурной идентификации; предложенная новая реализация методов
позволяет повысить степень автоматизации процесса восстановления математических зависимостей по экспериментальным данным и расширить множество моделирования 1.
4) Предложен обобщённый критерий оценки качества моделей идентификации,
помимо остаточной дисперсии учитывающий также информацию о сложности восстанавливаемой функции, что позволяет повысить адекватность моделей и улучшить их устойчивость
за пределами обучающих выборок.
Достоверность и обоснованность научных положений и результатов, приведенных в диссертационной работе, обеспечиваются использованием апробированных на практике методов
математического и компьютерного моделирования, искусственного интеллекта и аппарата
нечётких вычислений, подтверждаются показателями эффективности работы созданного
программного комплекса на тестовых массивах экспериментальных данных, а также результатами его функционирования при решении конкретных задач построения моделей по результатам наблюдений.
1
Под мощностью моделирования понимается размер множества моделей, поддерживаемых (идентифицируемых) той или иной системой (методом).
4
Основные положения диссертации, выносимые на защиту:
1) Обобщённая методика построения моделей идентификации.
2) Метод сглаживания исходных данных с использованием теории регуляризации.
3) Метод параметрической идентификации нелинейных моделей.
4) Метод комплексного оценивания качества моделей идентификации.
5) Метод структурной идентификации на базе генетического программирования и нечётких вычислений.
6) Программный комплекс построения моделей идентификации «Constellation», прошедший практическую апробацию и внедрение.
Практическая значимость:
1) Обобщённая методика моделирования поддерживает вариативность и итеративность процесса моделирования, включает в себя все основные этапы предварительной обработки данных, структурной и параметрической идентификации и оценки качества моделей,
что позволяет её использовать при решении задачи идентификации на ЭВМ, обеспечивает
свободный доступ ко всем промежуточным результатам вычислений и предоставляет возможность гибкого управления ходом процесса моделирования.
2) Разработан интегрированный программный комплекс, автоматизирующий широкий набор процедур и подзадач, связанных с идентификацией. Разработанные методика и
программный комплекс удовлетворяют стандарту CRISP-DM, результаты моделирования
сохраняются в XML-подобный формат файлов, совместимый со стандартом PMML.
По итогам данного исследования были разработаны методические указания к выполнению лабораторных работ по курсу «Моделирование систем». Созданный программный комплекс зарегистрирован в Общеотраслевом фонде алгоритмов и программ, внедрён в учебный
процесс кафедры САПР и ПК ВолгГТУ, прошёл апробацию и внедрение в Физикотехническом институте им. А.Ф. Иоффе Российской академии наук и ООО «ЛУКОЙЛВолгоградНИПИморнефть». Программный комплекс в целом и его отдельные составляющие
могут применяться при решении задач инженерной практики, задач управления, научноисследовательских и учебных задач, связанных с математическим моделированием физических процессов и технических систем.
Публикации. Основные положения диссертации отражены в 13 опубликованных работах.
В том числе 3 статьи напечатаны в ведущих рецензируемых научных журналах и изданиях
РФ, в которых ВАК рекомендует публикацию основных результатов диссертационных работ, получено 1 свидетельство об официальной регистрации программы для ЭВМ.
Апробация. Основные положения диссертации докладывались и обсуждались на научных
семинарах кафедры «САПР и ПК» ВолгГТУ, а также на Международных, Всероссийских и
региональных научных и научно-практических конференциях, в том числе «Информационные технологии в образовании, технике и медицине» (Волгоград, 2004); «Региональная конференция молодых исследователей Волгоградской области» (Волгоград, 2004, 2006, 2007);
«Новые информационные технологии. Разработка и аспекты применения» (Таганрог, 2004);
«Технологии Microsoft в теории и практике программирования» (Москва, 2005, Нижний
Новгород, 2006); Intel Summer School Seminar 2008 (Intel, Нижний Новгород, 2008), «Прогрессивные технологии в обучении и производстве», (Камышин, 2008).
5
Структура и содержание диссертационной работы. Диссертационная работа состоит из
введения, четырёх глав, заключения, списка литературы и шести приложений. Общий объем
диссертации – 152 страницы, включая 9 рисунков, 7 таблиц и список литературы из 130
наименований.
СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность темы диссертации, сформулированы цели и задачи
исследования, определена научная новизна, приводится перечень основных положений, выносимых на защиту, излагается краткое содержание глав диссертации.
В первой главе приводится обзор алгоритмов, методов, стандартов и программных
средств, применяемых для построения моделей идентификации. Во избежание неоднозначности зададим ограничения, определяющие подкласс рассматриваемых в настоящем исследовании задач идентификации: 1) число выходных переменных равно 1; 2) модели идентификации строятся в форме элементарных математических функций, представленных в явном
 


виде y  F (a , x ) (где a – вектор параметров функции, x – вектор входных переменных, y –
выходная переменная), а также в форме нейронных сетей; 3) областью определения модели
является подмножество декартова произведения m, где – множество действительных чисел, m – число входных переменных; 4) областью значений модели является подмножество
множества действительных чисел; 5) исходными данными для моделирования являются
матрицы наблюдений размером N  (m + 1) (N – число наблюдений). Раздел 1.1 содержит
вводные замечания; здесь перечисляются основные этапы построения моделей идентификации в терминах стандарта CRISP-DM, рассматриваются подходы к решению задач структурной и параметрический идентификации, приводятся названия классов методов для решения
этих задач и их отношения между собой. Раздел 1.2 посвящён анализу разработанных к
настоящему моменту математических методов построения моделей идентификации. Анализируются как традиционные статистические методы, так и современные подходы (Data Mining, нечёткие вычисления, МАС и т.д.). Уделено большое внимание математическому обеспечению этапа предварительной обработки данных, который часто недооценивается экспериментаторами и авторами работ по моделированию. На основе стандарта CRISP-DM и анализа различных источников (Барсегян А.А., Львовский Е.Н., Мазуркин П.М., Пащенко Ф.Ф.,
Петрович М.Л., Larose D.T. и др.) были выделены следующие основные задачи этапа предварительной обработки данных: 1) восстановление пропущенных значений и первичный содержательный анализ данных; 2) проверка распределений исходных данных на нормальность; 3) приведение исходных распределений к нормальному виду; 4) стандартизация данных; 5) выявление аномальных значений и отсев погрешностей; 6) оценка наличия функциональной связи между изучаемыми величинами; 7) регуляризация. После обзора методов
предварительной обработки данных приводится обзор алгоритмов, разработанных для параметрической и структурной идентификации. Задача параметрической идентификации рассматривается как задача оптимизации. Выделяются четыре наиболее часто используемых
критерия оптимизации для этой задачи: 1) минимум суммы квадратов невязок (МНК); 2) ортогональная регрессия; 3) минимум суммы разностей между расчётными и средним значени6
ями (метод средних); 4) критерий максимального правдоподобия. Далее рассматриваются
традиционные методы идентификации – регрессионный анализ, псевдолинейное моделирование с помощью линеаризации, построение полиномов, а также излагаются сравнительно
новые методы, основанные на нечётких вычислениях и Data Mining. Так, приводится алгоритм параметрической идентификации с использованием фаззификации (Леоненков А.В.,
Штовба С.Д.). Рассматриваются также приложения генетического программирования для
структурной идентификации. Кроме того, в литературе встречаются упоминания о возможности применения для идентификации зависимостей машин опорных векторов (SVM), ассоциативных карт, нестрогих классификаторов, муравьиных алгоритмов, мультиагентных систем, однако доступная информация о заметных успехах в этих направлениях пока отсутствует. В разделе 1.3 приводится сравнительный анализ программных средств, осуществляющих построение моделей идентификации. В частности, анализируются IBM DB2, Intsightful
Miner, MATLAB, Megaputer, Microsoft SQL Server, Oracle Data Miner, SPSS Clementine, Statistica и др. Были сделаны следующие выводы. Подавляющее большинство универсальных
приложений анализа данных предлагает очень ограниченный набор инструментов для построения моделей идентификации (линейные и полиномиальные зависимости, некоторые
внутрилинейные) при почти полном отсутствии средств для предварительного анализа данных. Узкоспециализированные же программы часто ограничены какой-то одной подзадачей,
при этом множество моделирования в подавляющем большинстве случаев также остаётся
довольно ограниченным (линейные, полиномиальные, некоторые внутрилинейные модели).
Исходя из проанализированной информации, в разделе 1.4 формулируются проблемы, существующие в настоящее время в области построения математических моделей по экспериментальным данным. В соответствии с этими проблемами сформулированы цель и задачи диссертации.
Вторая глава посвящена разработке отдельных элементов методического и математического обеспечения построения моделей идентификации. В литературе встречаются различные описания процесса построения моделей идентификации, которые имеют общую основу.
Однако в широко доступных источниках не приводится алгоритмическая схема процесса моделирования с указанием последовательности всех основных вычислительных процедур, их
параметров и возможных вариантов ветвления процесса. В связи с этим на основе анализа
литературных данных была сформулирована обобщённая методика построения моделей
идентификации, схема которой представлена на рис. 1. При составлении схемы использовалась нотация UML-диаграмм. Жирная горизонтальная черта означает разделение – пользователь, находясь в точке разделения (на рис. 1 это точки A и B), может выбрать любую из исходящих из неё ветвей исполнения процесса. Этот выбор определяется только соображениями самого пользователя, на него не накладывается никаких строгих алгоритмических
условий. Другими словами, находясь в точке A (начало этапа предварительной обработки
данных), пользователь может выбрать любую из процедур препроцессинга, а может и пропустить их, сразу перейдя в точку B (построение моделей). При этом, выполнив выбранную
процедуру, пользователь возвращается в точку A, где он может опять продолжить предварительный анализ данных или перейти к этапу построения моделей. Аналогично процесс
моделирования ведёт в себя и в точке B. Любой выбор пользователя, соответствующий схеме
7
на рис. 1, будет правильным с точки зрения методики моделирования и соответствовать
стандарту CRISP-DM.
Исходные экспериментальные данные
Удаление (восстановление) пропущенных
значений, удаление заведомо
некорректных данных
Корректно заполненная матрица
наблюдений
A
Проверка исходных
распределений на
нормальность
Значимое
отклонение от
нормального
Стандартизация
Выявление и отсев
аномальных
значений
Корреляционный анализ
ДА
Нормализация
Регуляризация (опционально)
Пригодная для построения
моделей матрица наблюдений
B
Построение линейной модели
Построение внутрилинейных моделей
Построение сугубо
нелинейных моделей
Структурная идентификация нелинейных зависимостей
Оценка качества моделей
Модели, наиболее адекватно описывающие
исходные данные
Рис. 1. Обобщённая методика построения моделей идентификации
Важным дополнением по сравнению со схемами моделирования, встречающимися в литературе, является наличие на этапе предварительной обработки стадии регуляризации. Включение этой процедуры позволяет частично нейтрализовать влияние шумов и разрешить дилемму о смещении и дисперсии, которая является одной из наиболее трудных проблем, связанных с восстановлением математических зависимостей по экспериментальным данным.
8
Повышая сложность модели, вводя в неё всё новые параметры можно добиться сколь
угодно малого значения остаточной дисперсии. Однако цена такого уменьшения дисперсии –
не только усложнение модели и увеличение числа её параметров: отображение F теряет
гладкость, модель становится неустойчивой, возникает проблема переобученности. Таким
образом, уменьшение дисперсии нельзя однозначно воспринимать как улучшение качества
модели. Необходимо искать компромисс между дисперсией и гладкостью модели. Для частичного устранения плохой обусловленности задачи идентификации и связанных с ней
негативных последствий было решено воспользоваться теорией регуляризации ТихоноваФиллипса, приложения которой себя успешно зарекомендовали при удалении шумов из
цифровых изображений. В рамках этой теории минимизируется не только сумма квадратов
невязок, но также и слагаемое регуляризации (показатель гладкости функции)
1 N
 yi  F (a, x i ) 2  1 λ DF , где N – число наблюдений, y – экспе
2 i 1
2

риментальные значения выходной переменной, F ( a , x) – расчётные значения выходной пеE ( F )  E S ( F )  EC ( F ) 
ременной, λ – параметр регуляризации, D – линейный дифференциальный оператор. Ниже
(рис.2) предлагается (в виде блок-схемы) метод регуляризации (сглаживания) значений выходной переменной. В качестве алгоритма оптимизации можно воспользоваться интервальными методами – дихотомии или золотого сечения. Факт улучшения моделей при использовании регуляризованных выборок был подтверждён в ходе испытаний программного комплекса, разработанного автором и описанного в главе 3.
Далее рассматривается вопрос о параметрической идентификации сугубо нелинейных
моделей. Использование традиционного подхода, основанного на вычислении частных производных и решении системы нормальных уравнений, в случае нелинейного моделирования
имеет ряд трудностей: 1) функция может оказаться недифференцируемой в какой-то области;
2) не существует аналитических методов решения нелинейных систем, а использование численных методов сопряжено с трудностями при реализации на ЭВМ; 3) для каждой моделируемой функции необходимо предварительно выводить выражения для производных и составлять систему нормальных уравнений. Поэтому гораздо более эффективным представляется другой подход – раз задача идентификации есть задача оптимизации, для её решения
можно воспользоваться методами оптимизации, которые не накладывают на функцию ограничения дифференцируемости. В литературе встречаются упоминания об использовании локальных детерминистских методов оптимизации для параметрической идентификации нелинейных моделей. Ниже предлагается метод, использующий также глобальные методы поиска
(алгоритм имитации отжига и его модификация, известная как квантовое туннелирование –
quantum annealing). Этот метод обладает большей мощностью моделирования, чем методы,
основанные на локальном поиске. Перед использованием метода выборки значений экспериментальных данных необходимо привести в диапазон от 0 до 1. Ниже (рис. 3) представлена блок-схема метода. ВХОДНЫЕ ДАННЫЕ: входные вектора x, выходные значения y, функция модели modelFunction, псевдолинейное приближение quasiLinearApproximation, значения
параметров модели по умолчанию defaultCoeff, точность вычислений precision, функционал
оптимизации U, число точек для оценивания Umax K (рекомендовано K = 20), начальный
9
ВХОД: входные вектора x, выходные значения
y, число входных переменных m, размер выборок N, параметр регуляризации λ > 0
ДА
N 1

N
  (x , x
i 1 j i 1
i
j
)
НЕТ
Если точки x распределены относительно равномерно и
N 2 ≤ mlog2 N
m 1
j
2 N ( N  1)

 (x
1 j  N
G ij
1i  N
1 j  N
B ij
1i  N
1 j  N
 1
 exp   2 x i  x j
 2σ
j


2
f (x j )G ij
1 
y j G ij 
λ 
yj
j
, xk )
k
2(m  1)








1
2
I  B( λ ) y
N
V (λ) 
2
1

 tr I  B(λ) 
N

НЕТ
В соответствии с
правилами метода
оптимизации определяется новое значение λ
Если для текущих значений λ и V(λ) выполняется
критерий останова метода
оптимизации
ДА
w  (G  I) 1 y
N
 1
Fλ (x j )   wi exp   2 x j  x i
i 1
1 j  N
 2σ i
ВЫХОД: регуляризованные значения выходной переменной Fλ (x)
Рис. 2. Блок-схема метода регуляризации выходной переменной
10
2



радиус окрестности R0 (рекомендовано 103 – 104), коэффициент уменьшения радиуса окрестности rCoefficient (рекомендовано 0,999), максимальное число итераций IterMax (рекомендовано 231), shakingCoefficient – если текущее решение во столько раз больше лучшего на протяжении нескольких итераций, нужно выполнить «встряхивание» (рекомендовано shakingCoefficient = 2), число «плохих» итераций, после которого нужно сделать «встряхивание»
- shakingMaxIter (рекомендовано shakingMaxIter = 100), параметры метода Нелдера-Мида,
шаг дискретизации, с которого начинается работа hill climbing Estart (рекомендованное значение 1), размерность вектора параметров модели k. Рекомендованные параметры метода и
применяющиеся в нём эвристики, улучшающие сходимость как глобального, так и локального поиска были выявлены в ходе проведения компьютерных экспериментов над линейными,
11
ВХОД
Поиск начального приближения a_initial
Q раз (переменная i)
Оценивание Umax
s = a_intial, e = U(s), sb = s, eb = e, r = R0, T = |Umax / ln(1 – precision)|,
iter = logrCoefficient(precision/R0), t = (precision * iter + precision – T) / iter,
τ = T – t, iterations = 0, shakingCounter = 0
T > precision,
r > precision и
iterations < IterMax
ДA
sn = случайная точка внутри гиперсефры радиусом r с центром в s
en = U(sn)
ДA
en < eb
sb = sn , eb = en
НЕТ
ДA
en ≤ e
T = τ / (iterations + 1) + t
r = rCoefficient * r, P = 1
P = exp ((-en – e) / T)
prob = случайное число на (0; 1)
ДA
P ≥ prob
s = sn , e = en
НЕТ
e / eb >
shakingCoefficient
shakingCounter
=0
НЕТ
shakingCounter >
shakingMaxIter
ДA
shakingCounter =
shakingCounter + 1
ДA
s = sb , e = eb
iterations = iterations + 1
global [i] = sb
A
Рис. 3. Блок-схема метода нелинейной параметрической идентификации
12
A
globalSearch = геометрический центр множества Q точек global
НЕТ
k≤6
ДA
localSolution = метод Нелдера-Мида
(globalSolution, U)
solution =
globalSolution
ε = Estart;
ε >= precision;
ε = 0.1 * ε
solution = HillClimbing (solution, U)
localSolution = solution
ВЫХОД: localSolution
Рис. 3. Блок-схема метода нелинейной параметрической идентификации (продолжение)
внутрилинейными и сугубо нелинейными моделями.
В разделе 2.4 рассматривается проблема более эффективного оценивания качества моделирования по сравнению с методом остаточной дисперсии. Как уже было сказано, можно добиться сколь угодно малой дисперсии, вводя в модель всё новые параметры, что, однако,
приводит к потере её устойчивости. Если мы будем рассматривать функцию модели как дерево, это означает, что при добавлении новых узлов возможно ухудшение качества модели.
Введём в рассмотрение две функции сложности: Cp – сложность по количеству параметров и
Cu – сложность по количеству узлов. Минимальным числом параметров модели является 2
(согласно критериям математической статистики), поэтому функцию с двумя параметрами
будем считать несложной: Cp (2) = 0. Другим крайним случаем может служить полином с N
параметрами, построенный на выборке размером N: Cp (N) → 1. Аналогично Cu (1) = 0,
Cu (3N) → 1 (полином N – 1-ой степени содержит порядка 3N функциональных узлов). Исходя из предварительных соображений (виды функций активации в нейронных сетях), а также
результатов экспериментов, предлагаются следующие выражения для оценки сложности моделей:
Cp 
Cu 
2
p2

1  exp   

N 2

2
u2 

1  exp   

3N  2 

 1 , (p – число параметров)
 1, (u – число узлов)
(1)
(2)
где параметры роста функций (α и ψ) по результатам компьютерных экспериментов наиболее
рационально брать равными порядка N/10. Общая сложность модели (и по количеству параметров, и по количеству узлов) есть максимум из Cp и Cu:
13
Complexity( p, u )  max{ C p ( p), Cu (u )} .
(3)
Теперь предложим обобщённую количественную меру качества модели, которая учитывает
как точность моделирования, так и сложность построенной модели. В качестве меры ошибки
моделирования используем среднюю относительную ошибку  , чтобы избежать проблем с
изменением масштаба, присущих остаточной дисперсии. Функция, описывающая зависимость общего качества моделирования Fitness от ошибки  и сложности Complexity должна
отвечать следующим требованиям: 1) если модель несложная, то есть Complexity ≤ 0,5, основной вклад в оценку Fitness должен осуществляться за счёт ошибки моделирования; 2) если же Complexity > 0,5, то основной вклад в оценку качества моделирования вносит компонента сложности, и ухудшение показателя Fitness за счёт возрастания сложности уже не может быть компенсировано за счёт уменьшения ошибки моделирования. В ходе экспериментов было проверено несколько функций, отвечающих заданным требованиям. Наиболее рациональным вариантом с точки зрения корректности результатов (проводилась структурная
идентификация ряда зависимостей) и простоты вычисления оказалось выражение
Fitness 
1
 
 
 tg 2  Complexity   1
 
 2
.
(4)
Отметим следующее: так как может оказаться, что при Complexity = 1 ошибка  будет равна
0, будем считать бесконечность, обусловленную тангенсом, сильной бесконечностью, которая, будучи умноженной на 0, всё равно даёт бесконечность. Формула (4) была использована
в процедуре структурной идентификации, разработанной на базе генетического программирования.
В генетическом программировании решение задачи представляется в виде дерева, которое задаёт некоторое правило. Математическую функцию можно представить деревом, нетерминальными узлами которого являются основные элементарные функции и арифметические операции, а терминальными – переменные и константы, входящие в запись исследуемой функции. На рис. 4 приводится блок-схема разработанного нами алгоритма структурной
идентификации. Дадим к нему некоторые пояснения. На первом шаге алгоритма генерируется K случайных начальных решений в виде функциональных деревьев. В литературе встречаются рекомендации брать значение K порядка 30 – 40, но не сказано, какую глубину должны иметь деревья начальных решений. Эксперименты показали, что лучше всего формировать начальные деревья глубиной равной 3. На следующем шаге для всех K решений в популяции вычисляется значение Fitness. После того, как посчитаны все Fitness, формируется
рулетка вероятностей. На следующем шаге начинается эволюционный процесс. Он продолжается до тех пор, пока счётчик поколений generation не станет равен критическому значению lastGeneration (рекомендуется брать значения порядка 100). Для каждого поколения
организуется цикл на K итераций, во время которого генерируются потомки решений в популяции. Берутся два случайных числа от 0 до 1, в соответствии с ними при помощи рулетки
вероятности определяются две родительские особи, производится их скрещивание.
14
НАЧАЛО
Генерация популяции из K начальных решений, вычисление показателя Fitness для каждого решения
Формирование рулетки вероятностей
Счётчик поколений
generation = 0
Цикл на K итераций
Выбор двух решений из популяции с
помощью рулетки вероятностей
Скрещивание двух отобранных решений
Вероятная мутация только что полученного потомка
Вычисление Fitness для потомка
generation = generation + 1
НЕТ
Добавление новых K
решений в популяцию
generation = lastGeneration
или все новые решения имеют
Fitness хуже, чем те, которые
в популяции
ДА
Выбираем из популяции и из
новых решений то, у которого
наибольшее значение Fitness
Удаление «плохих»
решений из популяции
Пересчёт рулетки
вероятностей
ВЫХОД: отобранное на предыдущем шаге решение
Рис. 4. Блок-схема метода структурной идентификации
Затем с некоторой вероятностью с новым решением происходит (или не происходит) случайная мутация. Эксперименты показали, что наиболее рациональным значением вероятности мутации является 0,3 – при больших значениях поведение алгоритма становится неустойчивым, выделенные ветви эволюции не получают дальнейшего развития; при меньших
значениях эффект от мутации становится незначительным. После того, как потомок определён, для него вычисляется Fitness. В том случае, если все K потомков имеют Fitness хуже,
чем самое худшее решение в популяции, эволюция прекращается. Если же нет, то, вопервых, K потомков добавляются в популяцию, во-вторых, те члены популяции, которые на
протяжении 4 поколений не дали ни одного потомка, удаляются из неё, и, наконец, в15
третьих, пересчитывается рулетка вероятностей. Алгоритм переходит к следующей итерации
эволюции. По завершении эволюционного процесса выбирается то решение в популяции и
текущей группе потомков, у которого лучшее значение Fitness. Эксперименты, проведённые
в ходе разработки алгоритма, позволяют сделать вывод об эффективности его применения
для построения математических моделей в виде функций с относительно небольшим (10 –
12) числом параметров.
В третьей главе описан интегрированный программно-методический комплекс для построения моделей идентификации, созданный в рамках данной работы. Сформулированы
общие требования к комплексу, в основе своей следующие из сравнительного анализа, приведённого в главе 1. Архитектура комплекса на верхнем уровне представлена на рис. 5. Windows-приложение Constellation, которое непосредственно запускает пользователь, выполняется в среде .NET Framework. После инициализации всех необходимых параметров приложения и загрузки локальных пользовательских настроек сборка Constellation обращается к
базовому объекту Keel, объявленному в сборке Constellation.Core, тем самым передавая
управление ей. Constellation.Core представляет собой управляющий модуль в виде DLL, реализующий целиком интерфейс пользователя, считывание исходных данных из базы, сохранение результатов моделирования на диск и т.п. Большую часть времени работы программы
пользователь взаимодействует именно с этой сборкой. Так как управляемый .NET-код выполняется медленнее, чем неуправляемый Win32-код, под .NET реализован именно управляющий модуль, а все вычисления вынесены в неуправляемую C++-сборку. Это решение
позволяет нам, с одной стороны, использовать все преимущества платформы .NET Framework, а с другой, избежать замедления работы на участках, непосредственно выполняющих
сложные математические расчёты. Кроме того, главный модуль программы (.NET-модуль)
физически должен быть разделён на две сборки – Windows-приложение и вызываемую ею
DLL-библиотеку. Это позволяет повысить модульность и масштабируемость программы.
В рамках разработанной программной системы для лингвистического обеспечения описанной в главе 2 методики моделирования были введены следующие понятия. Явление – некоторый процесс (явление, система, объект) реального мира, изучаемый пользователем. Источник данных – представленные на ЭВМ экспериментальные данные об изучаемом явлении. Между явлением и источником данных установлено отношение «один к одному». Переменная – какая-либо сторона изучаемого явления, его отдельный фактор. Физически переменные – это столбцы в источнике данных, сопоставленном явлению. Корректно заполненную матрицу наблюдений будем называть экспериментом. Водятся также понятия вычислительной операции и вычислительного документа. Вычислительной операцией будем называть какую-либо логически завершённую и самостоятельную стадию моделирования, а вычислительным документом входные и выходные данные вычислительных операций.
Каждый документ характеризуется вычислительной операцией, в результате которой он был
получен (порождающая операция), и исходным документом (документами), к которому
(которым) эта операция была применена (порождающий документ). В соответствии с данными выше определениями эксперимент (точнее говоря, его корректная матрица наблюдений) также является документом.
16
Среда выполнения .NET Framework
Источники
данных с результатами
экспериментов
Адаптеры данных,
интерфейсы и потоки чтения / записи
.NET
Управляющий
клиентский
модуль
(GUID + работа
с данными
в базах)
Windowsприложение
Математический
(вычислительный)
модуль
(неуправляемая
C++-сборка)
Результаты
моделирования
Пользователь
Рис. 5. Архитектура системы на верхнем уровне
Будем называть эту матрицу исходной матрицей наблюдений. На каждый тип операций и
документов наложены ограничения, к каким документам они могут применяться и какими
операциями порождаться. Таким образом, процесс моделирования в системе представляется
как применение тех или иных операций над допустимыми документами. Так как ко многим
типам документов можно применять различные операции, множество документов, выводимых из одного и того же эксперимента, выстраивается в дерево, в корне которого находится
начальная матрица наблюдений эксперимента. Различные ветви этого дерева соответствуют
различным ветвям процесса моделирования, а так как все документы, сгенерированные системой, сохраняются, в любой момент времени пользователь может вернуться к старым документам и начать новую ветвь построения моделей. При разработке программного комплекса был также разработан формат представления результатов моделирования. В настоящее время по рекомендации консорциума DataMining.org модели, создаваемые программными приложениями, должны отвечать стандарту PMML. Однако этот формат в своём базовом
варианте обладает рядом недостатков: 1) отсутствуют возможности протоколирования этапа
предварительной обработки данных; 2) отсутствуют возможности представления моделей,
отличных от линейной и полиномиальных; 3) отсутствуют возможности протоколирования
этапа оценивания моделей со всеми необходимыми показателями. Не нарушая требований
17
формата и грамматики языка, основанного на XML, были предложены следующие расширения.
1) Представление моделей с функцией произвольной структуры (при условии, что она
удовлетворяет ограничениям, сформулированным в гл. 1) в виде
<RegressionTree>
<Node type=”<node_type>” value=”<node_value>”>
</RegressionTree>
Элемент Node соответствует узлу древовидного представления функции, type – это тип узла:
function – основная элементарная функция (значение value одно из {pow, exp, ln, sin,
– оператор (value  {+, –, , композиция функций}),
variable – переменная (значение здесь индекс переменной), parameters – параметр, подлежащий определению (значение здесь индекс параметра), constant – уже известная константа
функции (значение – значение константы). Если элемент Node описывает узел, а не лист, он
может содержать другие элементы Node в себе.
2) Поддержка протоколирования предварительной обработки данных в виде процедура –
параметры:
tg, arcsin, arctg}), operator
<DataPreprocessingProcedure>
<Name><Имя процедуры></Name>
... список параметров ...
<Parameter name = “<имя>” value = “<значение>”>
</ DataPreprocessingProcedure >
Аналогичным образом протоколируются и результаты оценки уже построенных моделей.
Особое внимание при разработке системы было уделено практической реализации численных алгоритмов. Некоторые аналитические алгоритмы являются неэффективными с вычислительной точки зрения (неустойчивость, требовательность к временным ресурсам и
т.п.), поэтому важно было найти эффективные варианты соответствующих численных алгоритмов. Основные результаты данного направления работ перечислены ниже: 1) Расчёт гамма-функции (используется для вычисления квантилей распределений) производится с использованием приближения Виндшитла (с точностью до 8-ого знака)
 
 
 
 
1
1


  1


ln ( x)  ln( 2 )  ln x  x ln x 
1  
 
2
12 x 
 
 
10 x  
 
(5)
и аппроксимации Ланкцоса
ln ( x  1)  ln 2  ln XP  ( x  0,5) ln( x  g  0,5)  ( x  g  0,5) .
(6)
2) Для перемножения матриц большого размера (n > 20) используется алгоритм Штрассена
(сложность O(n log7 )  O(n 2,81 ) ). В работе Higham N.J. было показано, что для большинства
практических задач этот алгоритм обладает устойчивым поведением. 3) Решение систем линейных уравнений и обращение матриц осуществляется с использованием LUP-разложения,
что позволяет повысить численную устойчивость этих операций (Кнут Д., Кормен Т.Х.).
4) Перемножение более чем двух матриц осуществляется с использованием концепции ди18
намического программирования. 5) При перемножении полиномов вместо стандартного алгоритма (время работы O(n 2 ) , где n – степень полиномов) используется алгоритм с временем работы O(n log n) (с использованием дискретного преобразования Фурье и быстрого
преобразования Фурье).
В четвёртой главе описываются результаты работы программы на наборах экспериментальных данных, для которых уже известны эталонные результаты. В разделе 4.1 рассматриваются две группы экспериментов. Первая группа была посвящена проверке метода нелинейной параметрической идентификации. На этом этапе выполнялось построение линейной,
внутрилинейных (в том числе и полиномиальной) и ряда сугубо нелинейных моделей, которые затем сравнивались с эталонными показателями. Идентификация осуществлялась традиционными способами (для линейной и внутрилинейных зависимостей – регрессионный анализ, для сугубо нелинейных – численное решение нелинейных систем), с использованием
только локальных методов оптимизации и с применением авторского метода. Эксперименты
показали следующее: уступая регрессионному анализу по точности и скорости работы для
линейных и сводимых к ним моделей, авторский метод позволяет значительно расширить
множество моделирования для нелинейных зависимостей, обеспечивая требуемую на практике точность. Вторая группа экспериментов проводилась на электронном звёздном каталоге
NASA. На этом этапе восстанавливались уже формы зависимостей. Результаты структурной
идентификации сравнивались с уже известными формулами из астрофизики. Кроме того,
эксперименты этой группы позволили проверить правильность подхода к комплексной оценке качества модели и выработать некоторые рекомендации по использованию генетического
программирования для решения задачи идентификации. В разделе 4.2 описаны две практические задачи, решённые с помощью разработанного нами программного комплекса. Первой
рассмотрена задача анализа фазово-генетических характеристик пластовых флюидов (решалась в рамках работы по договору № 39/532 – 04 между ВолгГТУ и ООО «ЛУКОЙЛВолгоградНИПИморнефть»). С использованием отдельных компонент программного комплекса сотрудники института строили модели, описывающие поведение газовой составляющей в изучаемых ими нефтегазоносных образцах. Наличие процедуры структурной идентификации позволило им построить новые, более адекватные модели для образцов, эволюция
которых проходила в условиях, отличных от стандартных (вследствие чего традиционные
модели плохо подходили для их описания). Второй практической задачей был анализ вольтамперных характеристик туннельных МДП-структур, проводившийся сотрудниками ФТИ
им. А.И. Иоффе РАН (Санкт-Петербург). Результаты анализа позволили получить дополнительное подтверждение корректности разработанного сотрудниками института метода моделирования процессов в системах Al/SiO2/Si. Использование при этом программного комплекса «Constellation» позволило более надёжно определять характерный пространственный
масштаб флуктуации толщины диэлектрика. Раздел 4.3. посвящён использованию программного комплекса в учебном процессе, который в настоящее время применяется при выполнении лабораторной работы по дисциплине «Моделирование систем». Так как возможности
комплекса существенно превосходят функциональность программ, использовавшихся в
учебном процессе ранее, были разработаны новые методические указания для выполнения
лабораторной работы.
19
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1) Модифицирован этап предварительной обработки данных за счёт включения процедуры регуляризации, что позволяет частично разрешить дилемму о дисперсии и смещении и добиться лучшей устойчивости моделей за пределами обучающих выборок.
2) Разработан и реализован алгоритм параметрической идентификации нелинейных
моделей с использованием методов глобальной оптимизации, менее чувствительный
к поведению функции и её непрерывности, чем традиционные методы, основанные на
численном решении систем нелинейных уравнений.
3) Предложен обобщённый критерий оценки качества моделей идентификации, помимо информации об остаточной дисперсии учитывающий также сложность восстанавливаемой функции, что позволяет повысить адекватность моделей и улучшить их устойчивость за пределами обучающих выборок.
4) Разработан и реализован алгоритм структурной идентификации, позволяющий автоматизировать процесс восстановления структуры математических зависимостей.
5) Сформулирована обобщённая методика построения моделей идентификации, учитывающая вариативность и итеративность процесса моделирования, включающая в себя
все основные этапы предварительной обработки данных, структурной и параметрической
идентификации и унифицирующая общий ход процесса моделирования.
6) Создан программный комплекс, автоматизирующий решение широкого спектра подзадач, встающих при построении моделей идентификации: проверку исходных распределений на нормальность, нормализацию и стандартизацию данных, выявление и отсев аномальных значений, корреляционный анализ и сокращение пространства входных переменных, регуляризацию, параметрическую идентификацию линейных, внутрилинейных и
сугубо нелинейных моделей, структурную идентификацию нелинейных моделей и т.д.
Разработанные методика и программный комплекс удовлетворяют стандарту CRISP-DM.
7) Программный комплекс был проверен на контрольных тестовых примерах и прошёл
апробацию путём решения практических задач.
СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ
Статьи, опубликованные в периодических изданиях, рекомендованных ВАК:
1. Крыжановский, Д.И.Унифицированное представление регрессионных моделей на базе
XML- и PMML-документов/ Д.И. Крыжановский// Изв. ВолгГТУ. Серия «Актуальные
проблемы управления, вычислительной техники и информатики в технических системах»: межвуз. сб. науч. ст./ ВолгГТУ. – 2008. – Вып. 4, № 2 (40). – С. 19 – 23.
2. Крыжановский,Д.И.Метод нелинейной параметрической идентификации с использованием стохастических алгоритмов оптимизации/ Д.И. Крыжановский// Изв. ВолгГТУ. Серия
«Актуальные проблемы управления, вычислительной техники и информатики в технических системах»: межвуз. сб. науч. ст./ ВолгГТУ. – 2008. – Вып. 5, № 8 (46). – С. 37–39.
3. Остроухов С.Б. Программный комплекс по оценке фазово-генетической характеристики
пластового флюида/ Остроухов С.Б., Крыжановский Д.И., Остроухова А.С.// Вестник
ВолгГАСУ, серия: Технические науки 2006. Выпуск 6 (20). Информатика, вычислительная техника и управление. – Волгоград, 2006. – С. 198 – 203.
20
Другие публикации
4. Крыжановский Д.И., Фоменков С.А. Программная система построения моделей идентификации «Constellation». – М: ВНТИЦ, 2008. – №50200800656.
5. Крыжановский, Д.И. Программная система оценки фазово-генетических характеристик
пластовых флюидов / Д.И. Крыжановский, В.Н. Шершнев, П.А. Колчин // Технологии
Microsoft в теории и практике программирования: матер. конф., Нижний Новгород, 21-22
марта 2006 г. / Нижегород. гос. ун-т им. Н.И.Лобачевского. - Н.Новгород, 2006. - C. 162164.
6. Программная система оценки фазово - генетических характеристик пластовых флюидов /
Д.И. Крыжановский, В.Н. Шершнев, П.А. Колчин, П.П. Кудряшов, В.А. Камаев // Технологии Microsoft в теории и практике программирования, Москва, 17-18 февр. 2005 г. (к
175-летию МГТУ им.Н.Э.Баумана): Тр. Всерос. конф. студ., аспир. и мол. ученых, Центр.
регион / МГТУ им. Н.Э.Баумана и др. - М., 2005. - C. 48.
7. Крыжановский, Д.И. Применение генетических алгоритмов для идентификации математических зависимостей / Д.И. Крыжановский, С.А. Фоменков // Новые информационные
технологии. Разработка и аспекты применения: тр. VII всерос. науч. конф. с междунар.
участ., 25-26.11.04 / Таганрог. гос. радиотехн. ун-т и др. - Таганрог, 2004. - C. 151-153.
8. Крыжановский, Д.И. Автоматизация идентификации математических зависимостей,
скрытых в массивах результатов наблюдений / Д.И. Крыжановский // Информационные
технологии в образовании, технике и медицине: Матер. междунар. конф., Россия, Волгоград, 18-22 окт. 2004г. / ВолгГТУ и др. - Волгоград, 2004. - Т.2. - C. 157-161.
9. Крыжановский, Д.И. Автоматизированная система построения математических моделей
по результатам наблюдений / Д.И. Крыжановский, С.А. Фоменков // Изв. ВолгГТУ. Сер.
Концептуальное проектирование в образовании, технике и технологии: Межвуз. сб. науч.
статей / ВолгГТУ. - Волгоград, 2004. - Вып.1, №5. - C. 54-56.
10. Крыжановский, Д.И. Структура электронных документов для автоматизированной системы построения математических моделей / Д.И. Крыжановский, С.А. Фоменков // Изв.
ВолгГТУ. Сер. Концептуальное проектирование в образовании, технике и технологии:
Межвуз. сб. науч. статей / ВолгГТУ. - Волгоград, 2004. - Вып.1, №5. - C. 57-59.
11. Крыжановский, Д.И. Организация структуры электронных документов для автоматизированной системы построения математических моделей / Д.И. Крыжановский, С.А. Фоменков // Новые информационные технологии. Разработка и аспекты применения: Тр. VI
всерос. науч. конф. с междунар. участ., 27-28.11.2003 / Таганрог. гос. радиотехн. ун-т и
др. - Таганрог, 2003. - C. 179-181.
12. Крыжановский, Д.И. Автоматизированная система решения задачи структурной и параметрической идентификации / Д.И. Крыжановский, И.В. Олейников // Математические
методы в технике и технологиях. ММТТ-16: Сб. тр. XVI Междунар. науч. конф., г.Ростов
н/Д, 27-29 мая 2003 / Рост.-на-Дону гос. акад. с.-х. машиностр. и др. - Ростов н/Д, 2003. Том 8, секция 12. - C. 27-30.
13. Крыжановский, Д.И. Система построения математических зависимостей на основе результатов наблюдений / Д.И. Крыжановский, И.В. Олейников, С.А. Фоменков // Информационные технологии в образовании, технике и медицине: Сб. науч. тр. Междунар.
науч.-техн. конф., 24-26 сент. 2002 / ВолгГТУ и др. - Волгоград, 2002. - Часть I. - C. 163165.
Подписано в печать 20.11.2006. Формат 6084 1/16.
Бумага писчая. Усл. печ. л. 1.
Тираж 100 экз. Заказ ____.
Волгоградский государственный технический университет.
400131, Волгоград, пр. Ленина, 28.
РПК «Политехник»
Волгоградского государственного технического университета.
21
400131, Волгоград, ул. Советская, 35.
22
Download