система нечеткого управления на основе правил и аппроксимация функций

Я пытаюсь реализовать аппроксиматор функций (агрегацию), используя нечеткую систему управления на основе правил. Чтобы упростить мою реализацию (и лучше понять), я пытаюсь аппроксимировать y = x ^ 2 (самая простая нелинейная функция). Насколько я понимаю, я должен сопоставить свой ввод (например, однородные выборки по [-1,1]) с нечеткими множествами (нечеткое определение), а затем использовать метод дефаззификации для получения четких значений. Есть ли какое-то простое объяснение этой процедуры, потому что литература по нечетким системам управления немного беспорядочна.


person ptigas    schedule 30.01.2011    source источник


Ответы (1)


Это своего рода широкий вопрос, но я попробую, так как он так долго оставался без ответа.

Во-первых, я считаю, что вам нужно уточнить свою цель (по крайней мере, как указано здесь). Я бы не стал использовать термин «аппроксимация функции» в этом контексте. Если я правильно понял ваш вопрос, цель состоит в том, чтобы отобразить нелинейную функцию в другую область с помощью нечетких методов.

Для этого вам сначала нужно определить функции принадлежности нечеткого набора. (Эта ссылка является хорошим примером процесса.) Без дополнительной информации я рекомендую треугольной функции из-за простоты реализации. Количество нечетких наборов, их размещение и ширина (или поддержка), а также степень перекрытия зависят от приложения. Вы указали, что ваш входной домен — [-1,1], поэтому вы можете обнаружить, что три нечетких набора делают свое дело, то есть отрицательный, нулевой и положительный.

Оттуда вам нужно создать набор правил, т.е. если x отрицательное, то...

Имея правила, вы можете определить процесс дефаззификации. Короче говоря, этот шаг взвешивает активацию каждого правила в соответствии с потребностями приложения.

Я не верю, что смогу внести более полноценный вклад, пока результат не будет лучше определен. Вы заявляете: «Используйте метод дефаззификации, чтобы получить четкие значения». - что означает этот набор четких значений? Каков диапазон? И т. д. Кроме того, вы получите больше ответов, если сможете определить области, в которых вы застряли (т.е. более конкретные вопросы).

person Throwback1986    schedule 31.01.2011
comment
Спасибо за ответ. Наконец-то я нашел решение после прочтения реализации Matlab fuzzy toolbox. Я думаю, что теория нечетких множеств немного размыта: с. - person ptigas; 02.03.2011