О решении проблемы настройки численных коэффициентов при решении задачи символьной регрессии методом генетического программирования
Рассмотрение эффективности применения генетического алгоритма и предложенных для него современных модификаций при решении задачи символьной регрессии методом генетического программирования. Оптимизация математических моделей сложных систем и процессов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 50,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Сибирский государственный аэрокосмический университет им. ак. М.Ф. Решетнева, Красноярск
О решении проблемы настройки численных коэффициентов при решении задачи символьной регрессии методом генетического программирования
В. Г. Жуков (vadimzhukov@mail.ru)
Аннотация
В работе описываются применение генетического алгоритма и предложенных для него модификаций при решении задачи символьной регрессии методом генетического программирования для оптимизации математических моделей сложных систем и процессов.
Введение
Исследование с помощью математических моделей зачастую является единственно возможным способом изучения сложных систем и решения важнейших практических задач управления. Высокие темпы информатизации различных видов деятельности в настоящее время привели к тому, что появилась возможность компьютерного моделирования и проектирования сложных систем, изучения их свойств и управления ими в условиях неполноты информации, ограниченности ресурсов, дефицита времени [Абдеев, 1994]. При этом для исследования характеристик любой системы математическими методами должна быть выполнена формализация, то есть, построена математическая модель.
На практике сложно зафиксировать свойства функциональной зависимости выходных параметров от входных величин, еще сложнее привести аналитическое описание такой зависимости. Одним из способов решения данной проблемы является применение эволюционных алгоритмов путем решения задачи символьной регрессии методом генетического программирования [Koza, 1992]. Символьная регрессия дает математическое выражение в символьной форме, которое можно подвергнуть содержательному анализу, упростить и далее использовать для моделирования или оптимизации.
Однако следует отметить, что при решении задачи символьной регрессии с помощью алгоритма генетического программирования часто возникает следующая проблема: в задачах, где решение имеет сложное выражение, деревья с более простой структурой (как правило, линейные выражения) имеют пригодность выше, чем деревья со сложными структурами, которые, обычно, оказываются более перспективными. В результате простые решения начинают преобладать в популяции, и, поиск замедляется. Это связано с тем, что набор констант во множестве термов фиксирован, и, в удачно выращенных структурах, численные коэффициенты часто подобраны плохо. Таким образом, решение с очень хорошей структурой может иметь ошибку аппроксимации намного больше, чем простая структура, в которой коэффициентов меньше.
Следующий пример наглядно показывает, как плохо подобранные коэффициенты влияют на пригодность решения. Задана функция
.
генетический алгоритм регрессия программирование
Пусть в популяции есть два решения:
и .
Графики этих функций показаны на рис. 1.
Рис 1 Пример решений без подбора численных коэффициентов
Очевидно, что решение , несмотря на то, что оно плохо аппроксимирует функцию , оказывается намного лучше . Однако, если в подобрать численные коэффициенты, то решение
будет иметь меньшую ошибку аппроксимации, и теперь алгоритм отдаст предпочтение этому решению (Рис. 2).
Рис. 2 Пример решений с подбором численных коэффициентов
Алгоритм генетического программирования способен преодолеть данную проблему путем интенсивного применения оператора мутации, но, случайный характер оператора мутации может оказать и негативное воздействие ? могут быть потеряны хорошо подобранные коэффициенты или изменена выращенная структура. Также подстройка коэффициентов возможна за счет появления поддеревьев, содержащих во внешних вершинах только константы. В результате вычисления значения такого поддерева, может появиться численный коэффициент, не включенный во множество термов. Тем не менее, зачастую алгоритм либо плохо справляется с подбором коэффициентов, либо коэффициенты настраиваются очень долго.
Таким образом, необходимо настраивать параметры генерируемых решений, что можно сделать только процедурами прямого поиска. Так как алгоритм генетического программирования является модификацией генетического алгоритма и использует схожие механизмы, то именно его предложено использовать для настройки численных коэффициентов.
1. Модифицированный генетический алгоритм настройки численных коэффициентов моделей
Для решения проблемы подбора численных коэффициентов в модели, найденной с помощью метода генетического программирования, предложена следующая модификация. Будем представлять вектор независимых входных переменных
,
где n - количество переменных, в следующем виде:
.
Таким образом, полученные деревья решений будут представлять не готовые решения, а их структуры (шаблоны, функциональные формы). При оценивании решений численные коэффициенты структур настраиваются с помощью какой-либо внешней оптимизационной процедуры.
При использовании предложенной модификации алгоритм генетического программирования, в случае появления в популяции удачных структур, после подбора численных коэффициентов, отдаст предпочтение именно этим структурам. В результате, при аппроксимации нелинейных зависимостей, алгоритм гораздо быстрее перейдет от линейных (или слабо нелинейных) функций к более сложным.
Очевидно, что количество численных коэффициентов для сложных структур будет велико и при настройке параметров заданной структуры, функция ошибки аппроксимации (критерий оптимизации) будет нелинейной и многоэкстремальной. Как известно, генетический алгоритм достаточно эффективно решает сложные задачи оптимизации, более того он использует тот же механизм, что и алгоритм генетического программирования. Поэтому будем использовать его для настройки численных коэффициентов.
Использование стандартного генетического алгоритма для подбора численных коэффициентов позволяет получать хорошие аппроксимации. Но, данный алгоритм имеет следующие недостатки: время работы генетического алгоритма не сопоставимо велико по сравнению со временем работы алгоритма генетического программирования и не учитывается информация, полученная алгоритмом генетического программирования.
Для улучшения эффективности работы генетического алгоритма (применяемого для настройки параметров найденной модели) были предложены следующие модификации [Жуков, 2006]:
переход коэффициентов лучших решений;
использование статистических данных;
увеличение ресурса.
1.1 Переход коэффициентов лучших решений
Если пригодность решения, полученного алгоритмом генетического программирования
, где ,
то при параметрической оптимизации численные коэффициенты данного решения кодируются и включаются в первую популяцию генетического алгоритма. Тем самым учитывается информация, полученная методом генетического программирования, и алгоритм оптимизации начинает свою работу, имея в первой популяции вполне конкретною точку, с пригодностью выше средней. Однако нельзя сказать, что такая модификация в ста процентах случаев приведет к нахождению оптимальных численных коэффициентов, но, оптимизационный алгоритм достаточно быстро улучшит исходные численные коэффициенты и не позволит алгоритму генетического программирования потерять хорошие, с точки зрения пригодности, структуры, которые, как правило, являются нелинейными.
Таким образом, применяя данную модификацию мы помогаем алгоритму генетического программирования гораздо быстрее перейти от линейных (или слабо нелинейных) структур к более сложным за меньшее количество поколений.
1.2 Использование статистических данных
В ходе параметрической оптимизации генетический алгоритм накапливает и обрабатывает некоторую статистическую информацию о пространстве поиска, однако эта статистика в явном виде отсутствует. Для анализа работы генетического алгоритма предложен следующий способ представления накопленной статистики.
На каждом поколении вычисляется средняя пригодность:
,
N - размер популяции,
.
Далее подсчитывается количество единиц в j-ом гене k-ой хромосомы, удовлетворяющей неравенству
.
На основе статистических данных определяются вероятности появления единицы в j-ом гене:
,
где Мi - количество единиц в j-ом гене, а k - количество хромосом с
.
Используя полученные вероятности, формируется индивид по правилу (Рис. 3):
1 - если , где ;
0 - если , где ;
если , то значение гена инициализируется случайным образом.
Рис. 3 Правила формирования индивидов
Например, если вероятности имеют следующие значения:
P |
0,54 |
0,25 |
0,19 |
0,8 |
0,9 |
0,32 |
0,65 |
0,12 |
0,93 |
|
№ гена |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
То, получается хромосома:
Значение |
rand |
rand |
0 |
1 |
1 |
rand |
rand |
0 |
1 |
|
№ гена |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Индивид, созданный таким образом, на каждом поколении искусственно вводится в популяцию. В результате исследования было установлено, что в 85% пригодность полученного индивида больше средней на каждом поколении. Таким образом, полученный индивид задает вектор движения алгоритма и ускоряет его работу за счет распространения своих генов на всю популяцию.
1.3 Увеличение ресурса
Если при настройке коэффициентов генетический алгоритм находит решение с пригодностью большей, чем пригодность этого же решения без настройки численных коэффициентов, найденного с помощью метода генетического программирования, то его ресурс (размер популяции и количество поколений) увеличивается вдвое.
2. Результаты
Эффективность модифицированного алгоритма проверена на множестве тестовых функций с усреднением по многим прогонам. Обобщенные результаты исследований работы алгоритма с применением предложенных модификаций представлены в таблице 1.
N1, % |
N2, % |
N3, % |
||
Использование статистки |
5 |
50 |
45 |
|
Увеличение ресурса |
5 |
50 |
45 |
|
Использование статистки + Увеличение ресурса + Переход коэффициентов лучших решений |
0 |
45 |
55 |
Результаты сравнительного анализа стандартных и предложенных подходов представлены в таблице 2.
№ |
N1, % |
N2, % |
N3, % |
||
1 |
ГП |
20 |
40 |
40 |
|
2 |
ГП+ГА |
5 |
45 |
50 |
|
3 |
ГП + ГА + Использование статистки для ГА |
5 |
50 |
45 |
|
4 |
ГП + ГА + Использование статистки для ГА +Увеличение ресурса для ГА |
0 |
45 |
55 |
|
5 |
ГП + ГА + Использование статистки для ГА + Увеличение ресурса для ГА + Переход коэффициентов лучших решений |
0 |
35 |
65 |
В табл. 1 и 2 приведены фрагменты результатов исследований для тестовой функции Sin(x) (функциональное множество ) и используются следующие обозначения:
N1 - количество прогонов, в которых было получено решение с ошибкой E >5%, в процентах от общего количества прогонов.
N2 - количество прогонов, в которых было получено решение с ошибкой 1% < E < 5%, в процентах от общего количества прогонов.
N3 - количество прогонов, в которых было получено решение с ошибкой E < 1%, в процентах от общего количества прогонов.
Применение модифицированного генетического алгоритма для настройки численных коэффициентов решений, полученных методом генетического программирования, позволило увеличить эффективность работы метода генетического программирования:
по показателю N1 на 20 %.
по показателю N2 на 5 %.
по показателю N3 на 25 %.
Таким образом, использование предложенных модификаций позволяет получать очень хорошие аппроксимации.
Благодарности. Работа поддержана грантом Президента молодым кандидатам наук МК-4294.2008.9.
Список литературы
1. [Абдеев, 1994] Абдеев Р.Ф. Философия информационной цивилизации. - М.: ВЛАДОС, 1994.
2. [Жуков, 2006] Жуков В.Г. Моделирование сложных систем коэволюционным алгоритмом генетического программирования. Дис. канд. тех. наук: 05.13.01/. Жуков В.Г., Красноярск, СибГАУ, 2006.
3. [Koza, 1992] Koza John R. Genetic Programming: On Programming Computer by Means of Natural Selection and Genetics. - Cambridge, MA: The MIT Press, 1992.
Размещено на Allbest.ru
Подобные документы
Восстановление математической модели задачи нелинейного программирования. Решение уравнений прямых. Метод линеаризации: понятие, особенности применения при решении задач. Нахождение точки максимума заданной функции. Решение задачи графическим методом.
задача [472,9 K], добавлен 01.06.2013Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.
лабораторная работа [20,2 K], добавлен 03.12.2014Этапы работы генетического алгоритма, область его применения. Структура данных, генерация первоначальной популяции. Алгоритм кроссинговера - поиск локальных оптимумов. Селекция особей в популяции. Техническое описание программы и руководство пользователя.
реферат [1014,2 K], добавлен 14.01.2016Использование математических и программных средств моделирования при решении задачи минимизации транспортных издержек. Использование метода потенциалов, разработка алгоритма программы на языке программирования Turbo Pascal 7.0. Методы реализации.
курсовая работа [156,6 K], добавлен 16.02.2016Сравнение результатов работы генетического алгоритма по решению "несимметричной незамкнутой задачи коммивояжера" с результатами работы алгоритма динамического программирования по параметрам - время работы, точность результата и объем используемой памяти.
курсовая работа [65,3 K], добавлен 16.04.2014Оптимизация показателей эффективности функционирования технологического контура системы управления космическим аппаратом, исследование свойств его показателей. Настройка нейронной сети, гибридизация генетического алгоритма с алгоритмами локального поиска.
дипломная работа [4,5 M], добавлен 02.06.2011Методы решения задачи синтеза системы управления динамическим объектом. Сравнительная характеристика параметрического и структурно-параметрического синтеза. Схема процесса символьной регрессии. Принцип действия метода аналитического программирования.
дипломная работа [3,6 M], добавлен 23.09.2013Решение задачи линейного программирования графическим методом, его проверка в MS Excel. Анализ внутренней структуры решения задачи в программе. Оптимизация плана производства. Решение задачи симплекс-методом. Многоканальная система массового обслуживания.
контрольная работа [2,0 M], добавлен 02.05.2012Критерий эффективности и функции в системе ограничений. Общая постановка задачи линейного программирования. Составление математической модели задачи. Алгоритмы решения задачи симплексным методом. Построение начального опорного решения методом Гаусса.
курсовая работа [232,4 K], добавлен 01.06.2009Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012