MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Проектирование систем управления\Fuzzy Logic Toolbox

С.Д.Штовба "Введение в теорию нечетких множеств и нечеткую логику"

В оглавление книги \ К следующему разделу \ К предыдущему разделу

10. Классификация на основе нечеткого логического вывода в MATLAB

Задача классификации заключается в выполнении отображения вида:

т.е. в отнесении объекта, заданного вектором информативных признаков X=(x1,x2,...,xn) , к одному из наперед определенных классов {d1,d2,...,dm} . Для проведения классификация на основе нечеткого логического вывода необходимы нечеткие системы с дискретным выходом, в которых выходная переменная принимает дно значение из множества {d1,d2,...,dm} . Пакет Fuzzy Logic Toolbox предлагает инструменты проектирования систем нечеткого логического вывода с непрерывным выходом, т.е. для случая, когда выходная переменная может принимать значения из диапазона .

В настоящем разделе описывается программа fuz_classifer.m, выполняющая классификацию на основе нечеткого логического вывода. Программа разработана в Винницком государственном техническом университете доцентом Штовбой С.Д.

В качестве нечеткого классификатора используется система нечеткого логического вывода типа Сугено. Классам решений соответствуют термы выходной переменной. Наименование класса задается как элемент терм-множества выходной переменной.

Функция нечеткой классификации вызывается в формате:

decision = fuz_classifer(x, fis, type) ,

где 
x - вектор информативных признаков объекта классификации;
fis - система нечеткого логического вывода;
type - тип возвращаемого функцией результата. 
Допустимые значения 'number' - порядковый номер класса и 'name' - имя класса. Значение по умолчанию - 'number';
decision - результат классификации для объекта x.

Функция fuz_classifer вызывает функцию evalfis в формате:

[a, b, c, d] = evalfis(x, fis) ,

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

Функция нечеткой классификации может вызываться с двумя выходными аргументами:

[decision mf_grades] = fuz_classifer(x, fis, type) ,

где mf_grades - вектор степеней принадлежности объекта, заданного вектором x, к классам решений.

В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика