MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

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

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

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

11. Настройка моделей классификации на основе нечеткого логического вывода в MATLAB

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

.

Классификация на основе нечеткого логического вывода происходит по базе знаний вида:

, .

Степени принадлежности объекта классам рассчитываются так:

, (1)

где    - операция из s-нормы (t-нормы), т.е. из множества реализаций логической операций ИЛИ (И). Наиболее часто используются следующие реализации: для операции ИЛИ - нахождение максимума и для операции И - нахождение минимума.

В качестве решения выбирают класс с максимальной степенью принадлежности:

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

, ()

где    - вектор входов и   - выход в r-ой паре выборки;

  - объем выборки.

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

Первый способ заключается в выборе в качестве расстояния количества ошибок классификации на обучающей выборке. Это простой способ с ясной содержательной интерпретацией. Целевая функция задачи оптимизации, т.е. зависимость количества ошибок от параметров нечеткой модели, принимает дискретные значения 0, 1, 2,… Такой скачкообразный характер целевой функции затрудняет использование градиентных методов оптимизации. Особенно трудно настраивать нечеткую модель на небольших обучающих выборках, так как при этом возникают протяженные плато целевой функции, на которых "застревает" алгоритм оптимизации.

Второй способ, предложенный профессором Ротштейном А.П. в [1, 2], основывается на фаззификации выходной переменной в обучающей выборке. Фаззификация происходит следующим образом:

. (2)

Расстояние рассчитывается между векторами степеней принадлежности (1) и (2). Обозначим через   - вектор параметров функций принадлежностей термов входных переменных,   - вектор весов правил нечеткой базы знаний. Тогда настройка нечеткой модели сводится к следующей задачи оптимизации [1, 2]: найти такой вектор , чтобы:

, (3)

где   - степень принадлежности значения выходной переменной в r-ой пары обучающей выборке к решению в соответствии с (2);

  - степень принадлежности выхода нечеткой модели с параметрами к решению , определяемая по формуле (1) при значениях входов из r-ой пары обучающей выборке ().

Целевая функция (3) не имеет протяженных плато, поэтому она пригодна к оптимизации градиентными методами. Однако, результаты оптимизации не всегда удовлетворительные. Полученная после оптимизации нечеткая модель обеспечивает минимальное значение функции (3), но не всегда обеспечивает минимум ошибок классификации. Это объясняется тем, что точки, близкие к границам разделения классов, вносят почти одинаковый вклад в значение целевой функции (3) как при правильной, так и при ошибочной классификации.

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

, (4)

где ;

  - результат классификации нечеткой модели с параметрами для объекта из в r-ой пары обучающей выборке ();

  - штрафной коэффициент ().

Для настройки нечетких моделей с дискретным выходом предлагается воспользоваться функциями нелинейной оптимизации из матлабовского пакета Optimization Toolbox. Применение пакетов Fuzzy Logic Toolbox и Optimization Toolbox для настройки нечеткой модели классификации проиллюстрируем на следующем примере.

Рассматривается объект с двумя входами x1,x2 и одним выходом y, который может принимать одно из трех дискретных значений в соответствии с решающими правилами:

.

Исходными данными для построения нечеткого классификатора является выборка данных, содержащая 80 пар "входы - выход". Обучающая выборка записана в файле tr_set_class.dat. Графическое изображения данных из выборки, а также разделяющие кривые показаны на рис. 1а.

MATLAB Handle Graphics
а) б)

Рисунок 1 - Классификация на основе нечеткого логического вывода

а) обучающая выборка и разделяющие кривые;

б) результаты нечеткой классификации до настройки.

Входы нечеткой модели будем рассматривать как лингвистические переменные, значения которых определяются из следующих терм-множеств: {"Низкий", "Средний", "Высокий"} для , и {"Низкий", "Ниже Среднего", "Выше Среднего", "Высокий"} для . Формализацию термов осуществим с помощью симметричной гауссовской функции принадлежности (gaussmf).

,

где    - элемент универсального множества,

  - параметр функции принадлежности  - координата максимума;

  - параметр функции принадлежности  - коэффициент концентрации.

Коэффициенты концентраций для всех функций принадлежности выбирались равными 2. Координаты максимумов выбирались так, чтобы разбить интервал [0, 10] на три (для ) и на четыре (для ) равные части. По рис. 1а можно легко сгенерировать нечеткие правила классификации. Будем использовать 6 правил классификации, приведенные в табл. 1. Исходная нечеткая модель представлена файлом class_source.fis . Результаты классификации по этой модели, полученные с использованием функции fuz_classifer.m , показаны на рис.1б. Исходная нечеткая модель с шестью правилами лишь грубо отражает нелинейные разделяющие кривые.

Таблица 1 - Нечеткая база знаний для классификации

(до настройки)

(после настройки)

Средний

Низкий

Класс 1

1

0.62

Средний

Ниже Среднего

Класс 1

1

0.43

Низкий

Ниже Среднего

Класс 2

1

0.76

Высокий

Выше Среднего

Класс 2

1

0.61

Низкий

Выше Среднего

Класс 3

1

0.55

Средний

Высокий

Класс 3

1

0.64

Для настройки нечеткой модели будем использовать программу, приведенную в файле train_class.m . Это m-сценарий, вызывающий функцию нелинейной оптимизации constr и m-функцию ob_fun_class.m, вычисляющую значение целевой функции (4) на обучающей выборке. Значение штрафного коэффициента принято равным 10. Настраивается 16 параметров нечеткой модели:

  • 3 координаты максимумов функций принадлежностей термов "Средний", "Ниже Среднего" и "Выше Среднего";

  • 7 коэффициентов концентраций функций принадлежностей термов входных переменных;

  • 6 весовых коэффициентов правил базы знаний.

После настройки получена новая нечеткая модель, записанная в файле class_trained.fis . Оптимальные функции принадлежности термов и веса правил показаны на рис. 2 и в табл.1, соответственно. Динамика настройки нечеткой модели в виде зависимости значения критерия обучения (4) от количества итераций алгоритма оптимизации показана на рис. 3. На этом же рисунке приведены результаты тестирования нечетких моделей во время обучения. Тестирование проводилось на выборке из 5000 точек. Ошибка обучения по критерию (4) и ошибка классификации убывают на протяжении настройки нечеткой модели, что свидетельствует об отсутствии эффекта переобучения. На рис. 4 показаны результаты классификации для нечеткой модели после 200 и 900 итераций алгоритма оптимизации. Видно, что после настройки нечеткая модель с шестью лингвистическими правилами хорошо описывает сложные, нелинейные правила классификации.

Рисунок 2 - Оптимальные функции принадлежности

Рисунок 3 - Динамика настройки нечеткой модели

а) б)

Рисунок 4 - Классификация по настроенной нечеткой модели

а) нечеткая модель после 200 итераций алгоритма настройки;

б) нечеткая модель после 900 итераций алгоритма настройки.

Литература

  1. Ротштейн А.П. Интеллектуальные технологии идентификации: нечеткая логика, генетические алгоритмы, нейронные сети. - Винница: УНИВЕРСУМ-Винница, 1999. - 320 с
  2. Rotshtein A. Desig and Tuning of Fuzzy Rule-Based System for Medical Diagnosis. In Fuzzy and Neuro-Fuzzy Systems in Medicine (Teodorescu N.H. (ed.)). CRC-Press.-1998.-pp.243-289.

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


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

Система Orphus

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