Научная статья на тему 'Метаэвристические методы оптимизации параметров нечетких классификаторов'

Метаэвристические методы оптимизации параметров нечетких классификаторов Текст научной статьи по специальности «Математика»

CC BY
263
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКИЕ СИСТЕМЫ / ОПТИМИЗАЦИЯ ПАРАМЕТРОВ / МЕТАЭВРИСТИКИ

Аннотация научной статьи по математике, автор научной работы — Ходашинский Илья Александрович, Анфилофьев Александр Евгеньевич, Бардамова Марина Борисовна, Ковалев Виталий Сергеевич, Мех Максим Анатольевич

Представлены следующие алгоритмы оптимизации параметров нечетких систем: алгоритм сорняков, гравитационный алгоритм, алгоритм прыгающих лягушек, гармонический поиск, дифференциальная эволюция, алгоритм «Всемирный потоп». С помощью указанных алгоритмов построены на реальные данные из репозитария KEEL.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Ходашинский Илья Александрович, Анфилофьев Александр Евгеньевич, Бардамова Марина Борисовна, Ковалев Виталий Сергеевич, Мех Максим Анатольевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Метаэвристические методы оптимизации параметров нечетких классификаторов»

УДК 004.8

МЕТАЭВРИСТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ ПАРАМЕТРОВ НЕЧЕТКИХ КЛАССИФИКАТОРОВ Ходашинский Илья Александрович

Д.т.н., профессор, ТУСУР, e-mail: hodashn@rambler.ru Анфилофьев Александр Евгеньевич Аспирант, ТУСУР, e-mail: yowwi00@gmail.com

Бардамова Марина Борисовна Студентка, ТУСУР, e-mail: 722bmb@gmail.com Ковалев Виталий Сергеевич Студент, ТУСУР, e-mail: vitaly_979@mail.ru Мех Максим Анатольевич Студент, ТУСУР, e-mail: maxcimkj93@gmail.com

Сонич Ольга Константиновна Студентка, ТУСУР,e-mail: zlasjasok@gmail.com Томский государственный университет систем управления и радиоэлектроники (ТУСУР), 634050 г. Томск, пр. Ленина 40

Аннотация. Представлены следующие алгоритмы оптимизации параметров нечетких систем: алгоритм сорняков, гравитационный алгоритм, алгоритм прыгающих лягушек, гармонический поиск, дифференциальная эволюция, алгоритм «Всемирный потоп». С помощью указанных алгоритмов построены на реальные данные из репозитария KEEL.

Ключевые слова: нечеткие системы, оптимизация параметров, метаэвристики

Введение. Нечеткие системы находят широко применение в различных областях деятельности: автоматическом управлении, распознавании образов, принятии решений. Важным этапом при построении нечетких систем является задача определения оптимальных параметров таких систем. В качестве формального аппарата решения указанной задачи часто используются метаэвристические методы [5].

Целью статьи является анализ эффективности применения различных метаэвристических методов при оптимизации параметров нечетких классификаторов.

1. Постановка задачи. Нечеткий классификатор задается правилами вида [4]: Rji : ЕСЛИ x1=Ai1 И x2=Ai2 И x3=Ai3 И ... И xn=Ain ТО class=c7-,

где x - вектор признаков классифицируемого объекта; Cj - идентификатор j-того класса, je [1, m], Aik - нечеткий терм, характеризующий k-ый признак в ji-ом правиле Rji (i e[1, |R/|], je [1, m]), Rj - множество правил, относящих наблюдение к классу с идентификатором Cj.

В процессе нечеткой классификации объект относится к каждому классу с определенной степенью принадлежности, вычисленной следующим образом:

ßj « = ТП Aik СXk ), J = 1,2,..., m.

Rji k =1

Выходом классификатора является метка класса, определяемая следующим образом:

class = Cj*, j* = arg max ßj .

1< j < m

Нечеткий классификатор может быть представлен функцией c = f(x, 0), где 0 - вектор, описывающий базу правил.

На множестве обучающих данных (таблице наблюдений) {(xp; cp), p = 1 ,..., z} определим единичную функцию

fü, если cn = f (cn, 0) delta(p,0) = f p JKP, p = 1,2,...,z,

[1, иначе

тогда численный критерий ошибки классификации выражается следующим образом:

z

^ delta (p, 0)

p=i

E (0) =

z

Целью построения нечётких систем является поиск таких параметров этих систем, которые сводят к минимуму ошибку £(0). Минимизация выполняется с помощью представленных ниже метаэвристических методов.

2. Гармонический поиск (HS). Алгоритм основан на принципе создания музыкальных фраз. Новая музыкальная фраза может быть случайной или производной от сыгранной ранее [2].

Алгоритм имеет следующие параметры: raCcePt, />, [0,1] - используются при создании нового вектора, S - размер популяции, N - количество итераций. Первым этапом выполнения является инициализация популяции векторов вещественных значений 0.

Принцип оптимизации алгоритма заключается в генерации на каждой итерации нового вектора 0new на основе случайно выбранного вектора из популяции 0Г. Сгенерированный новый вектор оценивается оптимизируемой фитнес-функцией £(0), полученное значение сравнивается со значением фитнес-функции худшего вектора в популяции 0worst и происходит замена худшего вектора на новый, если значение фитнес-функции нового вектора меньше. По завершению выполнения N итераций, алгоритм возвращает лучший по значению фитнес-функции вектор в популяции 0best. Псевдокод алгоритма приведен ниже.

Вход: S, N, raccepti rpa. Выход: 0best. Popul := {01, 02, ..., 0s}; цикл пока (N > 0)

0r := Random_choose(Popul) цикл по d от 1 до | 0г-|

если (rand(0,1) < raccept) то

0new[d] := 0r[d

если (rand(0,1) < rpa) то 0new[d] := 0new[d] ± rand(O,1)(Max(0new[d]) - Mrn(0„eW[d\); иначе 0new[d] := rand(O,1) (Max(0new[d]) - Min(0new[d]);

конец цикла; если (£(0 new)> £(0worst)) то

0worst : 0new;

N := N - 1;

конец цикла;

вывод 0best := Search_best(Popu/).

3. Гравитационный алгоритм (GSA) основан на фундаментальных законах тяготения. Популяция представляет собой систему частиц, между которыми действуют силы притяжения [7]. На вход алгоритма подаются следующие параметры: количество частиц N, количество итераций T, начальное значение гравитационной постоянной G0, коэффициент точности поиска а, малая константа е. Значение гравитационной постоянной рассчитывается на каждой итерации на основе монотонно убывающей функции. Для каждой i-ой частицы из популяции 0 на t-ой итерации рассчитываются следующие физические характеристики: mi(t) - масса, ai(t) - ускорение, Vi(t) - скорость. На последнем шаге происходит обновление позиции частицы путем изменения текущих координат на величину, пропорциональную скорости. Расчеты проводятся до истечения итераций T, затем на выход подается вектор с наименьшим значением ошибки 0best. Ниже приведен псевдокод алгоритма.

Вход: N, S, Go, а, е.

Выход: значение 0best.

Popu/ation = {01, 02, ..., 0S};

цикл пока (N > 0)

цикл по i от 0 до S

m[i] := (Е[Вг ] - E[Qworst ]) /(E[Qbest] - E[Qworst ]); цикл по j от 0 до S

R[i, j] := ||е ^ - ег цикл по d от 1 до |0г|

ad := ad + rand * M[ j] * (6j - 6?) /(R[i, j] + s); yf [t +1] := rand * V?[t] + a? [t];

6?[t +1] :=6f [t] + у?[t +1];

конец цикла конец цикла конец цикла N := N - 1;

конец цикла

вывод 0best := Search_best(Popu/ation).

4. Алгоритм прыгающих лягушек (FLA) имитирует поведение группы лягушек в процессе поиска пищи. Основой алгоритма является комбинирование локального поиска в пределах каждого из мемплексов (группы) и глобального поиска путем обмена информацией о положениие лучших агентов этих мемплексов и определения на этой основе глобально лучшего агента [1]. Ниже приведены параметры алгоритма и его пошаговое представление. Popu/ation - популяция; LB, UB - верхняя и нижняя граница области определения признака соответственно; S - размер популяции; q - количество мемплексов; p - количество агентов в каждом мемплексе; T - количество глобальных итераций; Iter - количество локальных

итераций; 0best, 0worst - лучшее и худшее положение агента; 0global - глобальное лучшее положение агента; rand, - равномерно распределенное случайное число в интервале [0,1]. Вход: S, q, p, T, Iter, LB, UB. Выход: 0best.

Population := { 01, 02, ..., 0S}; цикл по d от 1 до T

Find ( 0wos := Max(E(0)), 0best :=Min(E(0)) );

Sort (F = {01 < 02 < ...< 0s}); PartitionMemeplex (Population = {m1t m2,..., mq}); цикл по k от 1 до Iter

цикл по j от 1 до q

цикл по i от 1 до p

0,new := randi *(0best - 0worst) + 0i;

если (£(0i,new) < £(0i)) то

0 = 0 '

0i : 0 i, new;

иначе

0,new := randi *(0global - 0worst) + 0i;

если (£(0i,new) < £(0i)) то 0 = 0 '

иначе

Ginew := LB + rand * (UB - LB) ;

i,new

конец цикла; конец цикла; конец цикла;

CombineMemeplex (Population = {01, 02, .,0S}); конец цикла;

вывод 0best := Search_best(Population).

5. Дифференциальная эволюция (DE) - алгоритм, принадлежащий к группе эволюционных алгоритмов [9]. Параметрами алгоритма являются: £П[0,1] - параметр для создания нового вектора, S - размер популяции, N - количество итераций. На первом этапе выполнения происходит генерация популяции векторов 0. Далее на основе каждого вектора в популяции 0cur генерируется новый вектор 0new. Если £(0new)<£(0cur), то текущий вектор заменяется в популяции новым. В завершение алгоритм возвращает лучший вектор в популяции 0best.

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

Вход: N,S,F

Выход: 0best.

Popul := {01, 02, ..., 0s};;

цикл пока (N>0)

цикл по р от 1 до S

0cur'= Popu/[p];

0a,0b := Random_choose(Popu/); 6best := Search_best(Popu/); CR :=rand(0,1); цикл по d от 1 до |0г|

если (rand(0,1)< CR то

0new[d]:=0best[d]+F*(0a[d]-0b[d]); иначе 0new[d]:=0cur[d];

конец цикла

если (£(0 new ) < £(0 cur )) то

0cur := 0new;

N:=N-1; конец цикла конец цикла

вывод 0best := Search_best(Popu/).

6. Алгоритм «Всемирный потоп» (GDA) - метаэвристика, построенная на основе имитации процесса затопления участка земли. Задачей является проход по участку, без попадания в воду, с достижением максимальной высоты [8].

Основные обозначения алгоритма: x° - текущее решение; xic - новое решение; E(0cur) - текущее значение целевой функции; E(0new) - новое значение целевой функции; UP -параметр, увеличивающий уровень воды; u - равномерно распределенное случайное число в интервале [0,1], p - нечетное целое, LEVEL -критерий приемлемости, N - количество итераций, n - количество внутренних итераций, minValueX, maxValueX - минимальное и максимальное значение входного вектора вещественных значений 0.

Принцип работы алгоритма: в поэлементном изменении входного вектора вещественных значений 0, в поисках решения 0best с минимальным значением оптимизируемой фитнес - функции £(0). Псевдокод алгоритма представлен ниже. Вход: 0, UP,p, N, n. Выход: 0best

xio := Random(minValueX, maxValueX); u := Random(0,1); LEVEL := £(0cur);

цикл пока (N > 0 или (x1o - x/)/ x° < 0.000001) цикл по i от 0 до n

xf := x° + (10*u - 5f; 0new := 0[x;c];

если ((£(0new) < £(0cur) и (£(0new) < LEVEL)) то

0cur := 0new;

LEVEL := LEVEL - UP*(LEVEL - £(0new));

конец цикла; конец цикла; вывод 0best := 0cur.

7. Алгоритм сорняков (IWO) отражает поведение сорняков на ограниченной территории в борьбе за выживание в течение ограниченного времени [6]: 1) распределение начального/конечного числа семян; 2) производство выросшими растениями семян в зависимости от приспособленности растений; 3) размещение произведённых семян по области поиска; 4) отбор растений с более высокой приспособленностью; 5) повторение пунктов 2-4 до условий окончания процесса.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В качестве вектора для оптимизации выступают антецеденты и консеквенты нечеткой

системы. Вектор представлен в виде массива 0г-, i принимает значения от 1 до kO + R,

где L - количество входных переменных нечеткой системы, к - количество переменных, описывающих терм, O - количество термов для j-ой переменной, R - количество правил в нечеткой системе. Псевдокод алгоритма и параметры приведены ниже. N - количество итераций; S - максимальное количество векторов; nmin, nmax - минимальное и максимальное количество дочерних векторов; а - параметр нормального распределения; Popul - текущая популяция.

Вход: N, S,

nmmi nmaxi а

Выход: Qbest-

0О:= Generate_random();

Add_to_population(Popul, 0°) ;

цикл по iter от 1 до N

цикл по s от 1 до текущего количества векторов в Popul

n - n - Fbestn - Fworstn ■

fjs ■— max "min ^(Q s\ | ^ "max ^_"min .

j^best j^worst ^ ' j^best j^worst '

цикл по j от 1 до ns

— - iter.

а- :=а(--^;

u ^ N(0, aN) := aN*j- 2ln(a) cos(b);

Q*'-J :=Qs + u;

конец цикла;

Add_to_population(Popul, 0*s j) ; конец цикла; Sort(Popul) Save_best(Popul, S) ;

конец цикла;

вывод 0best := Search_best(Popul).

8. Эксперимент был выполнен на 12 наборах реальных данных из репозитория KEEL (http://www.keel.es). Описания указанных наборов приведены в таблице 1. Эксперимент проводился по принципу кросс-валидации. Для формирования обучающих и тестовых выборок исходный набор данных разделялся на десять равных частей, из девяти частей формировалась обучающая выборка, оставшаяся часть использовалась в качестве тестовой. По каждой обучающей выборке алгоритмом формирования структуры [3] была выполнена инициализация нечеткого классификатора, далее были запущены метаэвристики для оптимизации параметров классификатора.

В таблице 2 приведены усредненные значения процента правильной классификации на 12 наборах данных, классифицированных нечеткими классификаторами, параметры которых оптимизированы рассмотренными метаэвристиками. Жирным шрифтом выделены лучшие результаты классификации на тестовых выборках каждого набора данных. Курсивом выделены лучшие результаты классификации на обучающих выборках. Процент правильной классификации вычислен как разность 100(1- £(0)).

Таблица 1. Описание наборов данных

Наименование Условное Количество Количество Количество

обозначение записей признаков классов

iris irs 150 4 3

wine wn 178 13 3

glass gl 214 9 7

newthyroid nth 215 5 3

Cleveland cld 297 13 5

haberman hbm 30б 3 2

bupa bp 345 б 2

balance bl б25 4 3

Wisconsin wsn б99 9 2

pima pm 7б8 8 2

spambase spb 4597 57 2

ring rng 7400 20 2

Таблица 2. Эффективность нечетких классификаторов

Интерпретация Наборы данных

irs wn gl nth cld hbm bp bl wsn pm spb rng

Количество правил

3 3 7 3 5 2 2 3 2 2 2 2

De_1 Обуч. 98.4 99.8 71.б 98.3 б2.5 77.0 75.б 91.4 98.2 79.9 9G.6 9б.З

Тест 92.7 9б.9 бб.З 9б.З 58.0 73.5 б9.0 90.4 97.4 77.5 89.3 95.1

De_2 Обуч. 98.б 99.б 70.5 99.5 б3.4 77.2 74.б 91.5 9S.S SG.5 90.2 97.5

Тест 94.0 91.5 67.0 97.2 58.9 74.8 б9.7 90.7 9б.4 75.8 89.6 9б.4

HS Обуч. 99.G 1GG 70.0 99.S 66.S 77.3 79.1 91.9 98.0 80.3 87.0 95.2

Тест 9б.7 97.2 б4.9 97.7 57.9 74.8 74.0 91.0 9б.5 75.4 8б.б 94.б

GSA Обуч. 98.3 99.3 б2.0 98.3 б3.4 77.9 б8.9 83.7 9б.0 7б.9 70.5 82.1

Тест 97.3 97.1 50.8 98.1 62.6 7б.1 б9.0 81.8 9б.З 74.0 б9.7 82.5

FLA Обуч. 92.б 1GG 7S.1 93.3 б1.1 S1.S 80.4 82.4 97.3 78.8 87.4 97.4

Тест 95.2 95.5 б1.2 90.2 55.3 73.7 73.0 79.б 9б.1 73.1 74.5 96.6

GDA Обуч. 98.1 99.7 б5.5 93.1 55.8 78.7 б9.4 83.7 9б.9 75.9 84.1 93.2

Тест 97.3 92.1 б1.0 9З.б 5б.7 75.9 б7.3 83.4 94.9 74.б 83.1 93.9

IWO Обуч. 9б.9 94.5 бЗ.б 9З.б 54.4 78.5 б8.3 90.7 9б.0 б9.2 б0.б 49.5

Тест 9б.7 94.4 б1.7 91.б 53.9 77.5 бб.8 90.3 97.1 б9.1 б0.4 49.б

Заключение. В работе представлены метаэвристические методы оптимизации параметров нечетких классификаторов. Работоспособность нечетких классификаторов,

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-07-00034а

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

1. Eusuff M., Lansey K. Optimization of water distribution network design using the shuffled frog leaping algorithm // Journal of Water Resources Planning and Management. 2003. Vol. 129. P. 210-225. D01:10.1061/(ASCE)0733-9496(2003)129:3(210)

2. Geem Z.W., Kim J.H., Loganathan G.V. A new heuristic optimization algorithm: harmony search // Simulation. 2001. Vol. 76. P. 60-68. DOI: 10.1177/003754970107600201.

3. Hodashinsky I. A., Gorbunov I. V. Algorithms of the tradeoff between accuracy and complexity in the design of fuzzy approximators // Optoelectronics, Instrumentation and Data Processing. 2013. Vol. 49. P. 569-577. DOI: 10.3103/S875669901306006X.

4. Hodashinsky I.A., Minina D.Y., Sarin K.S. Identification of the parameters of fuzzy approximators and classifiers based on the cuckoo search algorithm // Optoelectronics. Instrumentation and Data Processing. 2015. Vol. 51. P. 234-240. DOI 10.3103/S8756699015030048.

5. Metaheuristics for Production Systems / Editors E.-G. Talbi, F. Yalaoui, L. Amodeo. Springer. London. 2016. 350 p. DOI 10.1007/978-3-319-23350-5.

6. Rad H. S., Lucas C. A Recommender System based in Invasive Weed Optimization Algorithm // IEEE Congress on Evolutionary Computation (CEC 2007). 2007. P. 42974304. DOI: 10.1109/CEC.2007.4425032.

7. Rashedi E., Nezamabadi-pour H., Saryazdi S. GSA: A Gravitational Search Algorithm // Information Sciences. 2009. Vol.179. P. 2232-2248. DOI:10.1016/j.ins.2009.03.004.

8. Ravi V. Modified Great Deluge Algorithm versus Other Metaheuristics in Reliability Optimization // Studies in Computational Intelligence. 2007. Vol. 40. P. 21-36. DOI: 10.1007/978-3-540-37372-8_2.

9. Storn R., Price K.V. Differential evolution - a simple and efficient adaptive scheme for global optimization over continuous spaces (1995) Technical Report TR-95-012. ICSI (March 1995). ftp://ftp.icsi.berkeley.edu/pub/techreports/1995/tr-95-012.pdf

UDK 004.8

METAHEURISTICS FOR PARAMETERS OPTIMIZATION OF FUZZY CLASSIFIERS

Ilya A. Hodashinsky

Dr., Professor, e-mail: hodashn@rambler.ru Alexander E. Anfilofiev Graduate student, e-mail: yowwi00@gmail.com Marina B. Bardamova Student, e-mail: 722bmb@gmail.com

Vitaly S. Kovalev Student, e-mail: vitaly_979@mail.ru Maksim A. Mekh Student, e-mail: maxcimkj93@gmail.com Olga K. Sonich Student, e-mail: zlasjasok@gmail.com Tomsk State University of Control Systems and Radioelectronics, 40 Lenina Prospect, Tomsk, Russia 634050, Russia,

Annotation. Metaheuristics are widely recognized as efficient approaches for hard optimization problems. This paper addresses the application of metaheuristics for optimizing parameters of fuzzy classifiers. Several numerical experiments on well-known benchmark data sets are carried out to illustrate the effectiveness of the proposed metaheuristics. Keywords: fuzzy classifiers, parameters optimization, metaheuristics

References

1. Eusuff M., Lansey K. Optimization of water distribution network design using the shuffled frog leaping algorithm // Journal of Water Resources Planning and Management. 2003. Vol. 129. P. 210-225. D0I:10.1061/(ASCE)0733-9496(2003)129:3(210)

2. Geem Z.W., Kim J.H., Loganathan G.V. A new heuristic optimization algorithm: harmony search // Simulation. 2001. Vol. 76. P. 60-68. DOI: 10.1177/003754970107600201.

3. Hodashinsky I. A., Gorbunov I. V. Algorithms of the tradeoff between accuracy and complexity in the design of fuzzy approximators // Optoelectronics, Instrumentation and Data Processing. 2013. Vol. 49. P. 569-577. DOI: 10.3103/S875669901306006X.

4. Hodashinsky I.A., Minina D.Y., Sarin K.S. Identification of the parameters of fuzzy approximators and classifiers based on the cuckoo search algorithm // Optoelectronics, Instrumentation and Data Processing. 2015. Vol. 51. P. 234-240. DOI 10.3103/S8756699015030048.

5. Metaheuristics for Production Systems / Editors E.-G. Talbi, F. Yalaoui, L. Amodeo. Springer. London. 2016. 350 p. DOI 10.1007/978-3-319-23350-5.

6. Rad H. S., Lucas C. A Recommender System based in Invasive Weed Optimization Algorithm // IEEE Congress on Evolutionary Computation (CEC 2007). 2007. P. 4297-4304. DOI: 10.1109/CEC.2007.4425032.

7. Rashedi E., Nezamabadi-pour H., Saryazdi S. GSA: A Gravitational Search Algorithm // Information Sciences. 2009. Vol.179. P. 2232-2248. DOI:10.1016/j.ins.2009.03.004.

8. Ravi V. Modified Great Deluge Algorithm versus Other Metaheuristics in Reliability Optimization // Studies in Computational Intelligence. 2007. Vol. 40. P. 21-36. DOI: 10.1007/978-3-540-37372-8_2.

9. Storn R., Price K.V. Differential evolution - a simple and efficient adaptive scheme for global optimization over continuous spaces (1995) Technical Report TR-95-012. ICSI (March 1995). ftp://ftp.icsi.berkeley.edu/pub/techreports/1995/tr-95-012.pdf

i Надоели баннеры? Вы всегда можете отключить рекламу.