Как извлечь правила управления из данных с помощью нечеткой логики

Введение

В основе нечеткой логики лежит идея о том, что истина может быть сформулирована как континуум; иными словами, событие является не категорически истинным или ложным, а частично истинным или частично ложным [1]. В нечеткой логике значения системных переменных могут быть выражены в лингвистических терминах, таких как «высокий», «низкий» и «средний», которые обозначают области интереса в наборе данных. Эти лингвистические выражения называются нечеткими множествами (или областями). Таким образом, фаззификация предоставляет метод, посредством которого каждому наблюдению присваивается степень принадлежности к каждому из нечетких множеств. Это позволяет нам разработать лингвистическое обобщение набора числовых данных и получить интуитивное понимание лежащих в основе моделей. Впоследствии сгенерированная текстовая модель может быть развернута для создания правил управления для будущих прогнозов. Вот почему нечеткая логика нашла широкое применение в системах управления.

Цель этой статьи — представить простой и практичный метод создания нечетких правил из числовых данных. Это будет проиллюстрировано набором данных, содержащим наблюдения за относительной влажностью, температурой и тепловым индексом. В конце концов, численное наблюдение, такое как

преобразуется в текстовую информацию следующим образом

чтобы прийти к утверждению правила:

IF relative humidity is medium and temperature is medium, THEN heat index is high

Благодаря этому логическому отображению ввода в вывод, т. Е.

нечеткая логика предоставляет нам мощный инструмент моделирования — правило ЕСЛИ-ТО, которое можно применять к прогнозному моделированию.

Шаги для создания нечетких правил из данных

Шаг 1. После предварительной обработки данных определяется домен (или вселенная дискурса, как обычно используется в нечеткой логике) для входных и выходных пространств.

Областью значений переменных: относительной влажности, температуры и теплового индекса являются интервалы, определяемые минимумом и максимумом зарегистрированных наблюдений.

Шаг 2. Интервалы делятся на 3 перекрывающихся области с помощью треугольных функций, как показано ниже. Теперь это создает нечеткие области, обозначенные как низкий, средний и высокий.

Каждой из этих областей будет принадлежать одно измерение с оценкой в ​​диапазоне от 0 до 1. Чем выше это значение, тем больше степень принадлежности к этому конкретному региону. Сумма степеней принадлежности измерения будет равна 1. Измерение X на рисунке выше, лежащее в интервале длины линейки, будет фаззифицировано, как указано ниже.

Таким образом, X принадлежит набору «низкий» с оценкой 0, набору «средний» с оценкой 0,4 и набору «высокий» с оценкой 0,6.

Шаг 3: Каждое наблюдение назначается региону, в котором оно имеет наивысший уровень членства. Измерение X, указанное выше, будет присвоено области «высокий», и степень будет отмечена.

Шаг 4: На этом этапе каждая запись в данных была преобразована в текст, образуя правило. Вычисляется степень правила, которая является произведением оценок принадлежности нечетких множеств, составляющих часть правила. Например, преобразованное наблюдение, показанное ниже, дает одно правило, как было описано ранее.

Таким образом, степень правила является произведением степеней, в которых относительная влажность «средняя», температура «средняя» и индекс теплоты «высокий».

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

Реализация Python

Чтобы подготовить почву для разработки кода Python, импортируются соответствующие модули и предварительно обработанные данные. Данные состоят из 13801 наблюдения обучающей выборки. Для простоты я представил относительную влажность и индекс тепла, используя соответственно влажность и тепло.

Затем строится класс фаззификатора, который принимает ряд данных и присваивает наблюдениям степень принадлежности к нечетким множествам. Для разработки кода используется больнично-нечеткая библиотека. Метод fuzz.trimf() создает треугольные функции принадлежности, а метод fuzz.interp_membership() присваивает наблюдениям степень принадлежности нечетким областям.

Следующие коды применяют фаззификацию ко всем переменным в данных.

Относительная влажность:

Температура:

Тепловой индекс:

Когда столбцы членства объединяются, получается следующий преобразованный набор данных:

Наконец, создается сводная функция для извлечения окончательного набора правил.

Фрейм данных выше описывает самые сильные отношения в данных. Это можно легко перевести в правила управления следующим образом:

Rule 1: IF relative humidity is high and the temperature is low, THEN heat index is low
Rule 2: IF relative humidity is high and temperature is medium, THEN heat index is medium
                        .
                        .
                        .
Rule 6: IF relative humidity is medium and temperature is medium, THEN heat index is medium

Заключение

Метод машинного обучения, основанный на нечеткой логике, был разработан для извлечения отношений, смоделированных как правила, из набора данных. Шесть правил, полученных в этом проекте, обобщают самые сильные связи между переменными и могут использоваться для прогнозирования индекса тепла для невидимой части данных, собранных в тех же условиях — с использованием температуры и относительной влажности — со значительным уровнем точности, в то время как в то же время предоставляя лингвистический снимок внутреннего шаблона в наборе данных. Это делает нечеткую логику важным инструментом моделирования в системах управления, где требуются нечеткие входные данные.

Использованная литература:

[1] Sickit image team (2016), Учебник по нечеткому управлению, нечеткая документация

Данные предоставлены. Набор данных, использованный для иллюстрации, был создан исследовательской группой AP Channel в Технологическом институте Бандунга, Индонезия, для проекта точного земледелия, спонсируемого доктором Асепом Пурконом. Он состоит из 20-дневных измерений температуры, относительной влажности и теплового индекса в помещении для выращивания, где выращивается зеленый чой сум.