Vol. 10. No. 1 (55). 2015
Р. Л. Белоусов, канд. техн. наук, ФГБОУ ВПО «Академия гражданской защиты МЧС России», Химки,
Н. А. Дрожжин, ФГБОУ ВПО «Академия гражданской защиты МЧС России», Химки,
М. И. Костенчук, ФГБОУ ВПО «Академия гражданской защиты МЧС России», Химки,
Построение нечетких лингвистических переменных с использованием методов кластерного анализа данных
В статье изложен подход к построению нечетких лингвистических переменных, основанный на использовании методов кластерного анализа данных . Основное предположение при использовании этого метода — при удалении от центра кластера степень принадлежности элемента нечеткому множеству уменьшается .
Ключевые слова: теория нечетких множеств, нечеткое множество, нечеткая логика, нечеткие продукционные системы, кластеризация, метод ^средних .
введение
К основным направлениям применения методов теории нечетких множеств относятся разработка систем автоматического управления, систем поддержки принятия решений и машинное обучение. Для решения этих задач чаще всего используются системы нечеткого логического вывода (нечеткие продукционные модели), в основу которых положено формальное представление характеристик исследуемой системы в терминах лингвистических переменных [4].
В настоящее время известны многочисленные исследования по применению систем нечеткого вывода: автовождение поездов, распознавание речи, медицинская диагностика и т. д. [6].
Базовая архитектура систем нечеткого логического вывода включает в себя следующие элементы:
• базу нечетких продукционных правил;
• процедуру фаззификации — введения нечеткости для входных переменных;
• процедуру агрегирования — определения степени истинности условий для каждого продукционного правила;
• процедуру активизации — нахождения степени истинности заключения каждого нечеткого продукционного правила;
• процедуру аккумулирования — нахождения значений функции принадлежности для выходных лингвистических переменных;
• процедуру дефаззификации — нахождения обычного (не нечеткого) значения для выходных лингвистических переменных [3].
В качестве примера использования систем нечеткого вывода рассмотрим задачу нахождения мощности электрической энергии при работе электростанции комбинированного типа, где одновременно вырабатываются тепло- и электроэнергия.
Для реализации системы нечеткого вывода строится база нечетких продукционных правил следующего вида:
Если /4, то В, (1)
где А — условие; В — заключение.
98 J
ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-
' Том 10. № 1 (55). 2015
Продукционному правилу (1) соответствует логическая импликация А ^ В, в которой истинность условия А определяется операцией т1п-конъюнкции [7, 8]:
а = тя(х, у) = тип {тлМ; тВУ)}.
В качестве входных лингвистических переменных будем использовать среднечасовую температуру окружающей среды и объем выхлопных газов, образующихся при работе тепловых установок или формально: Т — температура окружающей среды и V— объем выхлопных газов. В качестве выходной лингвистической переменной будем использовать почасовую мощность электрической энергии, вырабатываемой станцией или формально: ЕР — мощность электрической энергии.
В нашем примере система нечеткого вывода состоит из двух продукционных правил:
• правило № 1: Если (Тнизкая) и (Vнизкий), то (ЕР очень большая);
• правило №2: Если (Т умеренная) и (Vнизкий), то (ЕР большая).
Пусть входные переменные принимают следующие значения: температура окружающей среды Т = 11,3 ед. и объем выхлопных газов V = 39,64 ед. Для заданных значений входных переменных определяется значение функции принадлежности термам соответствующих лингвистических переменных. Таким образом, получаем степень истинности каждой предпосылки в правиле.
Для правила № 1:
• принадлежность к терму «низкая» лингвистической переменной «температура окружающей среды»: тнизкая(11,3) = 0,367 (рис. 1а);
• принадлежность к терму «низкий» лингвистической переменной «объем выхлопных газов»: тнизкий(39,64) = 0,98 (рис. 1б).
Для правила № 2:
• принадлежность к терму «умеренная» лингвистической переменной «температура окружающей среды»: тумереннаЯ(11,3) = 0,09 (рис. 1г);
принадлежность к терму «низкий» лингвистической переменной «объем выхлопных газов»: ^й (39,64) = 0,98 (рис. 1д).
Для заданных значений производим агрегирование степеней истинности условий по каждому из правил по формуле (2):
С1 = ™ПКизкая (11,3); Низкий (39,64)} =
= тип {0,367; 0,98} = 0,367 (рис. 1в),
С2 = тИтумеренная (11,3); Низкий (39,64)} =
= тип {0,09; 0,98} = 0,09 (рис. 1е).
В нашем примере степень истинности заключений, т. е. выходной переменной «мощность электрической энергии», будет равна степени истинности условий соответствующих правил, т. е.
точ. большая (ЕР) = С1 = 0,367
большая (ЕР) = С^ = 0,09.
Найденные значения степеней истинности заключений по каждому правилу усекают термы выходной лингвистической переменной «почасовая мощность электрической энергии» на уровне 0,367 и 0,09. Это усечение показано горизонтальными пунктирными линиями на рис. 1в, 1е.
Процедура аккумулирования подразумевает объединение найденных усеченных нечетких множеств (термов выходной лингвистической переменной) с использованием операции максимум (тах-дизъюнкции) [1]:
т(ЕР') = тахКч. большая (ЕР); Цбольшая(ЕР)}.
В результате этой операции формируется новое нечеткое множество для выходной переменной, вид которого представлен на рис. 1ж.
Приведение к четкости (процедура де-фаззификации) производится методом центра тяжести [1]. В результате процедуры де-фаззификации получаем четкое значение выходной переменной, равное ЕР = 483 ед.
\ 99
Vol. 10. No. 1 (55). 2015
Рис. 1. Иллюстрация алгоритма нечеткого вывода Мамдани: а), б), г), д) — фаззификация входных переменных;
в), е), ж) — дефаззификация выходных переменных методом центра тяжести Fig. 1. Mamdani fuzzy inference algorithm: а), б), г), д) — fuzzification of input variables; в), е), ж) — defuzzification of output variables by the center of gravity
ж)
Таким образом, нечеткие продукционные системы позволяют по значениям входных переменных получить значения выходных путем нечеткого логического вывода.
В статье предлагается подход к построению нечетких лингвистических переменных, основанный на использовании методов кластерного анализа данных.
исходные данные
Для демонстрации метода построения лингвистических переменных будут использоваться данные почасовой мощности электрической энергии, вырабатываемой электростанцией [9]. Исходный набор данных A включает в себя 9568 значений. Если предположить, что эти данные представляют собой случайную реализацию из серии испытаний (наблюдений) над электростанцией, то целесообразно будет избавиться от повторов; если не представляют — повторы необходимо оставить. Рассмотрим набор данных без повторов B как выборку из генеральной совокупности — набора A. Если эта выборка
100 j
репрезентативна, то ее свойства будут соответствовать свойствам всего набора данных.
В табл. 1 представлен фрагмент исходных данных, отсортированных по возрастанию.
Набор данных без повторов содержит 4836 значений. Произведем расчет среднего значения и среднего квадратического отклонения в наборах данных
тл = 454,37;
тв = 456,21;
стА = 17,06;
ств = 17,99.
Таблица 1. Фрагмент исходных данных Table 1. A fragment of the original data
№ п/п Почасовая мощность электрической энергии
1 420,26
2 421,57
3 425,11
9 568 495,76
Том 10. № 1 (55). 2015
Полученные значения дают основание предположить, что выборка В репрезентативна (в общем случае требуются дополнительные исследования репрезентативности). Факт репрезентативности позволяет использовать набор данных без повторов В для построения лингвистической переменной.
На рис. 2 исходные данные А и набор данных без повторов В представлены графически. Из визуального анализа графиков следует, что в наборе А отсутствуют шумы и аномальные значения, значит, набор В обладает теми же свойствами, что и набор А.
Эти факты подтверждают возможность использования набора данных без повторов В для построения лингвистической переменной.
Постановка задачи
Требуется построить лингвистическую переменную почасовой мощности электрической энергии, вырабатываемой станцией. Количество термов лингвистической переменной известно заранее, требуется определить аналитический вид функций принадлежности каждого терма.
Кластеризация данных
Для того чтобы поставить в соответствие каждому терму лингвистической перемен-
ной диапазон изменения мощности электроэнергии, применяются методы кластерного анализа [5].
Будем считать, что количество термов лингвистической переменной равно пяти. Метод кластерного анализа ^-средних позволит разбить исходное множество данных из табл. 1 на пять групп (кластеров). Суть метода заключается в следующем: по заданной метрике находятся расстояния между точками, среди этих точек выбираются центры, вокруг которых группируются остальные точки. Точка попадает в тот кластер, к ядру которого она ближе расположена.
В каждом кластере значения группируются на основе близости к характеристикам мощности электроэнергии. Например, в первый кластер попадут значения, которые характеризуются малой мощностью электроэнергии, во второй — умеренной мощностью и т. д. Таким образом, каждый кластер наделен содержательной интерпретацией, отражающей его суть.
В табл. 2 представлены характеристики и содержательная интерпретация каждого кластера.
Анализ данных, представленных в табл. 2, подтверждает возможность не учитывать повторяющиеся данные при проведении кластеризации и построении лингвистических переменных. При больших объемах данных это позволяет экономить вычислительные ресурсы и время, но в каждом отдельном
Рис. 2. Исходные данные почасовой мощности электрической энергии: слева — данные с повторениями, справа — данные без повторений Fig. 2. Original data of hourly electrical energy output: left — data repeats, right — data without repetitions
Vol. 10. No. 1 (55). 2015
Таблица 2. Кластеры
Table 2. Clusters
№ п/п Название кластера Диапазон значений/ количество значений в A; B Среднее значение (ядро) кластера в A; B
1 Малая мощность [420,26; 438,56] / 2 116;1 018 433,52; 432,68
2 Умеренная мощность [438,57; 449,31] / 2 317; 955 443,61; 443,83
3 Средняя мощность [449,32; 461,49] / 1 612; 898 455,02; 455,21
4 Большая мощность [461,50; 474,77] / 2 051; 1037 467,97; 468,11
5 Очень большая мощность [474,79; 495,76] / 1 472; 928 481,59; 482,41
случае требуется проводить предварительный анализ данных. На рис. 3 представлены графики результатов кластеризации алгоритмом ^-средних: для визуального восприятия каждый кластер имеет определенный цвет, ядра кластеров выделены круглыми маркерами.
Построение лингвистической переменной
Лингвистическая переменная характеризуется набором <р, Т(Р), Х>, в котором р — название лингвистической переменной; Т(Р) — терм-множество лингвистической переменной р, т. е. множество лингвистических (вербальных) значений переменной, причем каждое из этих значений является нечетким множеством с областью определения X.
500 495 490 . 485 480 475 470 465 " 460 455 450 445 " 440 435 430 425 420 415
В нашей задаче оценивается мощность электрической энергии, вырабатываемой станцией. Мощность электрической энергии будем описывать следующими характеристиками: «малая», «умеренная», «средняя», «большая», «очень большая». Мощность электрической энергии изменяется от 420,26 до 495,76 ед. Лингвистическая переменная будет иметь следующий вид: <«Мощность электрической энергии», Т [420,26; 495,76] >, где Т = {«малая», «умеренная», «средняя», «большая», «очень большая»}, [420,26; 495,76] — базовое множество: диапазон изменения мощности электрической энергии, рассматриваемый в данной задаче.
Построение лингвистической переменной сводится к определению аналитического вида функции принадлежности каждого терма. Количество термов лингвисти-
500
495
s 490
! 485 о)
iS 480
■g 475
S 470
I 465 t 460
I 455
£ 450
0 445
I440
1 435 430 425 420 415
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Fig
Рис. 3. Результат кластеризации исходных данных алгоритмом k-средних: слева — данные с повторениями, справа — данные без повторений
3. The clustering results with algorithm k-means: left — data repeats, right — data without repetitions
102
0
0
Том 10. № 1 (55). 2015
ческой переменной равно количеству кластеров, т. е. пяти. Каждому терму ставится в соответствие вербальная (лингвистическая) характеристика.
Для определения аналитического вида функции принадлежности будем пользоваться следующими предположениями:
1) функция принадлежности будет унимодальной на данном базовом множестве;
2) максимальное значение степени принадлежности будет иметь ядро (среднее значение) кластера; 3) степень принадлежности остальных элементов линейно убывает по мере удаления от ядра кластера; 4) для «крайних» термов, графики которых располагаются слева и справа, степень принадлежности элементов, располагающихся соответственно слева и справа от ядра, приравниваем к единице.
В алгоритме 1 описана процедура определения аналитического вида функции принадлежности терма из данных одного кластера. На вход алгоритма поступают: 1) данные из базового множества х1 еХ, где i = (1, 2, ...), принадлежащие одному кластеру, и 2) ядро кластера хт е X.
Алгоритм 1. Определение аналитического вида функции принадлежности
1. Определить по выбранной метрике расстояния d (х, хт) между ядром и остальными точками кластера.
2. Провести нормировку расстояний
d (X; Xm )
по формуле z =
, i = (1, 2, ...).
тах^ (х,; Хт))
3. Определить степень принадлежности элемента х, терму по формуле: т(х,) = 1 - z¡, , = (1, 2, ...).
4. Построить аппроксимирующие функции для найденных значений степеней принадлежности:
а) для крайних термов использовать сиг-моидальную функцию вида
М( X) =
1
1 + exp{-a • (xl - b)}
б) для внутренних термов использовать функцию Гаусса вида
М( х,) = ехр{
На рис. 4 показано построение лингвистической переменной «мощность электрической энергии»: слева — данные из кластеров; справа — аппроксимация этих данных.
Заключение
Построение лингвистической переменной было сведено к определению аналитического вида функций принадлежности.
450 460 470 480 мощность электрической энергии
1,1 1
0,9
0 0,8
| 0,7 ч
1 0,6
t 0,5
1 0,4 Б 0,3 0,2 0,1 0
450 460 470
мощность электрической энергии
Рис. 4. Построение лингвистической переменной «мощность электрической энергии»: слева — кластеры, справа — термы лингвистической переменной Fig. 4. Constructionof a linguistic variable hourly electrical energy output: left — clusters, right — terms of linguistic variable
103
0
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS
Vol. 10. No. 1 (55). 2015 '
В предположении, что расстояние между точками в кластере может служить степенью принадлежности какому-то терму, получили следующую лингвистическую переменную:
<«Мощность электрической энергии», Т, [420,26; 495,76]>,
где T= {«малая», «умеренная», «средняя», «большая», «очень большая»}. Для каждого терма определен аналитический вид:
— для терма «малая»
М( х) =
1
1 + exp{0,4957 • (xi - 438,4)}
— для терма «умеренная» -(x. - 443,;
x,) = exp{-
2 • 2,3112
— для терма «средняя»
г-(х, - 455,2)2
Xj) = exp{-
2 • 2,6572
— для терма «большая»
-(Xi - 468,1)2
Xj) = exp{-
2 • 2,8092
— для терма «очень большая» М(X) = 1
1 + ехр{-0,4119 • (х-, - 475,9)}
Предложенный в статье подход позволяет автоматизировать процесс построения лингвистических переменных, например как в работе [2], и как следствие — снизить степень субъективности при экспертном построении лингвистических переменных.
Дальнейшее направление исследования направлено на уточнение четвертого пункта алгоритма 1. Предполагается разработать модель, которая позволит автоматически
определять и выбирать вид функций принадлежности термов.
Список литературы
1. Борисов В. В., Круглов В. В., Федулов А. С. Нечеткие модели и сети. 2-е изд., стереотип. М.: Горячая линия-Телеком, 2012. — 284 с.
2. Костенчук М. И., Дрожжин Н. А., Белоусов Р. Л. Поиск закономерностей в оценке лесо-пожарной обстановки по погодным условиям // Научный журнал «Научные и образовательные проблемы гражданской защиты». ФГБОУ ВПО «Академия гражданской защиты МЧС России». 2014. № 2. С. 61-67.
3. Леоненков А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб.: БХВ-Петербург, 2005. — 736 с.
4. Мелихов А. Н, Берштейн Л. С, Коровин С. Я. Ситуационные советующие системы с нечеткой логикой. М.: Наука, Гл. ред. физ.-мат. лит., 1990. — 272 с.
5. Паклин Н. Б., Орешков В. И. Бизнес-аналитика: от данных к знаниям: Учебное пособие. 2-е изд., испр. СПб.: Питер, 2013. — 704 с.
6. Прикладные нечеткие системы / пер. с япон. К. Асаи, Д. Ватада, С. Иваи и др.; под ред. Т. Тэ-рано, К. Асаи, М. Сугэно. М.: Мир, 1993. — 368 с.
7. Fukami S., Mizumoto M., Tanaka K. Some considerations of fuzzy conditional inference // Fuzzy Sets and Systems. 1980. Vol. 4. P. 243-273.
8. Kiszka J. B., Kochanska M. E., Sliwinska D. S. The influence of some fuzzy implication operators on the accuracy of fuzzy model // Fuzzy Sets and Systems. 1985. Vol. 15. P. 111-128; 223-240.
9. https: //archive.ics.uci.edu/ml/datasets/Combined+ Cycle+Power+Plant [дата обращения: 09.10.2014].
References
1. Borisov V. V., Kruglov V. V., Fedulov A. S. Nechet-kie modeli I seti [Fuzzy models and networks]. 2-e izd., stereotip. M.: Gorjachaja linija-Telekom, 2012. 284 р.
2. Kostenchuk M. I., Drozhzhin N. A., Belousov R. L. Poisk zakonomernostej v ocenke lesopozharnoj ob-stanovki po pogodnym uslovijam [Search of patterns in estimation of forest fire situationby weather conditions]. Nauchnyj zhurnal «Nauchnye i obrazovatel'nye problemy grazhdanskoj zashhity».
Том 10. № 1 (55). 2015
FGBOU VPO «Akademija grazhdanskoj zashhity MChS Rossii» — Scientific journal "Scientific and educational problems of civil protection". FGBOU VPO "Civil defence Academy of EMERCOM of Russia", 2014, no. 2, pp. 61-67.
3. Leonenkov A. V. Nechetkoe modelirovanie v srede MATLAB ifuzzyTECH [Fuzzy modeling in MATLAB and fuzzyTECH]. St Petersburg: BHV-Peterburg, 2005. 736 p.
4. Melihov A. N., Bershtejn L. S., Korovin S. Ja. Situa-cionnye sovetujushhie sistemy s nechetkoj logikoj [Situational advising system with fuzzy logic]. Moscow, Nauka, Gl. red. fiz.-mat. lit., 1990. 272 p.
5. Paklin N. B., Oreshkov V. I. Biznes-analitika: ot dan-nyh k znanijam [Business Intelligence: from data
to knowledge]: Uchebnoeposobie. 2-e izd., ispr. St Petersburg: Piter, 2013. 704 p.
6. Prikladnye nechetkie sistemy [Applied fuzzy systems]: Per. s japon. K. Asai, D. Vatada, S. Ivaii dr.; pod redakciej T. Tjerano, K. Asai, M. Sugjeno. Moscov, Mir, 1993. 368 p.
7. Fukami S., Mizumoto M., Tanaka K. Some considerations of fuzzy conditional inference. Fuzzy Sets and Systems, 1980, vol. 4, pp. 243-273.
8. Kiszka J. B., Kochanska M. E., Sliwinska D. S. The influence of some fuzzy implication operators on the accuracy of fuzzy model. Fuzzy Sets and Systems. 1985, vol. 15, pp. 111-128; 223-240.
9. https: //archive.ics.uci.edu/ml/datasets/Combined+ Cycle+Power+Plant (accessed: 09.10.2014).
R. Belousov, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, [email protected] N. Drozhzhin, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, [email protected] M. Kostenchuk, Civil Defence Academy EMERCOM of Russia, Khimki, Russia, [email protected]
Construction of fuzzy linguistic variables using cluster data analysis
The paper describes an approach for constructing fuzzy linguistic variables, based on the use of cluster analysis. The basic assumption in this method is the fact that the distance from the center of the cluster element degree of membership fuzzy set is reduced. The maximum value of membership will have a core (average) of cluster. Degree of membership of the other elements decreases linearly with distance from the cluster core. The initial set of data is divided into clusters. Each cluster corresponds to a linguistic (verbal) characteristic, which corresponds to a fuzzy linguistic variable. The normalized distance from the cluster members to its center corresponds to the degree accessory to the term: the greater the distance, the lower the degree of membership. The analytical form of the membership functions is obtained by fitting the results of cluster analysis. This approach allows you to automate the process of developing management systems with fuzzy logic. Keywords: theory of fuzzy sets, fuzzy sets, fuzzy logic, fuzzy production systems, clustering, k-means.
About authors:
R. Belousov, PhD in Technique
For citation: Belousov R., Drozhzhin N., KostenchukM. Construction of fuzzy linguistic variables using cluster data analysis. Prikladnaya informatika — Journal of Applied Informatics, 2015, vol. 10, no. 1 (55), pp. 98 —105 (in Russian).