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

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

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

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

4. Прикладные нечеткие системы

4.11. Нечеткий классификатор вин.

Материал раздела базируется на статье [1]. В начале излагается теория проектирования классификаторов на основе нечеткой базы знаний. Затем показывается ее применение для построения нечеткого классификатора вин из данных Wine Database [2].

Нечеткий классификатор

Обозначим через X = (x1, x2, …, xn) – вектор информативных признаков объекта классификации, а через t1, t2, …, tC – классы решений. Тогда нечетким классификатором назовем отображение X → y ∈ {t1, t2, …, tC}, реализуемое с помощью нечеткой базы знаний. Нечеткую базу знаний этого отображения запишем так [3]:

Если , тогда y = dj, j = 1,m,       (1)

где m – количество правил;
dj ∈ {t1, t2, …, tC} – значение консеквента j-го правила;
wj ∈ [0,1] – весовой коэффициент, задающий достоверность j-го правила, j = 1,m;
– нечеткий терм, оценивающий признак xi в j-ом правиле i = 1,n, j = 1,m.

Степень выполнения j-го правила для входного вектора X* = ( x1*, x2*, …, xn* ) рассчитывают так:

μj(X*) = wj ( μj(x1*) ^ μj(x2*) ^…^ μj(xn*) ), j = 1,m       (2)

где μj(xi*) – степень принадлежности значения xi* нечеткому терму ;
^ – t-норма, которую реализуем операцией минимума.

Степени принадлежности входного вектора X* клаcсам t1, t2, …, tC рассчитывают так:

       (3)

где agg – агрегировние результатов нечеткого вывода по каждому правилу базы знаний, которое реализуем операцией максимума над степенями принадлежности.

Результат логического вывода представим таким нечетким множеством:

       (4)

Результатом классификации назначим решение с максимальной степенью принадлежности в нечетком множестве (4):

y* = arg max(μt1(X*), μt2(X*), …, μtC(X*))

 

Критерии обучения нечеткого классификатора

Предполагается, что известна обучающая выборка из M пар “входы–выход”:

(Xr, yr), r = 1,M,       (5)

где Yr ∈ {t1, t2, …, tC}.

Введем следующие обозначения:

  • P – вектор параметров функций принадлежности нечетких термов из базы знаний (1);
  • W – вектор весовых коэффициентов правил базы знаний (1);
  • F(K, Xr) ∈ {t1, t2, …, tC} – результат классификации по нечеткой базе с параметрами K=(P, W) при входном значении Xr из r-ой строки выборки (5).

Обучение нечеткого классификатора состоит в нахождении вектора K, минимизирующего расстояние между результатами логического вывода и экспериментальными данными из выборки (5). Ниже рассматривается 3 способа расчета этого расстояние, которые назовем критериями обучения.

Критерий I. Расстояние между желаемым и действительным поведением модели можно определить через безошибочность классификации на обучающей выборке. Тогда обучение нечеткого классификатора ставиться так:

       (6)

где – ошибка классификации объекта Xr.

Преимущества критерия I заключаются в его простоте и ясной содержательной интерпретации. Процент ошибок часто используется как критерий обучения различных систем распознавания образом [4]. Целевая функция задачи оптимизации (6) принимает дискретные значения, что затрудняет использование быстрых градиентных методов оптимизации, особенно для малых обучающих выборок.

Критерий II. Качество обучения можно связать с расстояние между результатом логического вывода в форме нечеткого множества (4) и значением выходной переменной в обучающей выборке. Для этого значение выходной переменной в обучающей выборке (5) преобразуют в такое нечеткое множество [5]:

       (7)

Соответственно, обучение нечеткого классификатора состоит в нахождении такого вектора K, чтобы:

       (8)

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

μtj(yr) – степень принадлежности r-го объекта из обучающей выборки классу tj согласно (5);
μtj(K, Xr) – рассчитанная по (3) степень принадлежности выхода нечеткой модели с параметрами K классу tj при входном векторе Xr.

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

Критерий III. Этот критерий обучения наследует преимущества ранее рассмотренных подходов. Идея заключается в увеличении для ошибочно классифицированных объектов вклада в критерий обучения. В результате задача оптимизации принимает следующий вид [3]:

       (9)

где penalty>0 – штрафной коэффициент.

При penalty → 0 задачи (8) и (9) стают эквивалентными. При penalty → ∞ рельефы целевых функций задач (6) и (9) будут схожими. При обучении по критерию III выбор направления движения к оптимуму в большей мере определяют ошибочно классифицированные объекты. Такое поведение имитирует адаптивный метод оптимизации [6], в котором для повторного обучения ошибочно распознанные объекты предъявляются чаще. Результаты экспериментов из [6] свидетельствуют, что обучение при таком подходе происходит быстро.

 

Быстрое обучение весов правил нечеткого классификатора

Функции принадлежности и весовые коэффициенты правил можно настраивать одновременно или по отдельности. При настройке только весовых коэффициентов (W) объем вычислений можно значительно сократить, т. к. входящие в (2) степени принадлежности μj(x1*), μj(x2*), …, μj(xn*) от них не зависят. Для этого в начале оптимизации рассчитаем степени выполнения правил при единичных весовых коэффициентах ( wj, j = 1,m ) для каждого объекта обучающей выборки:

gj(Xr) = μj(xr1) ^ μj(xr2) ^ … ^ μj(xrn), j = 1,m, r = 1,M

Затем для новых весовых коэффициентов степени принадлежности объекта классам пересчитаем по такой быстрой формуле [3]:

, s = 1,C.

 

Проектирование нечеткого классификатора вин

Рассматривается задача определения сорта винограда, из которого изготовлено итальянское вино. База данных Wine Database [2] содержит результаты химического анализа по 13-ти показателям 178 образцов вин, изготовленных из трех сортов винограда.

Спроектируем нечеткий классификатор вин с такими входами: x7 – flavanoids; x10 – color intensity; x13 – proline. По распределению данных (рис. 1) эксперт сформировал нечеткую базу знаний (табл. 1). Нечеткие термы зададим гауссовой функцией принадлежности , где b – координата максимума и c>0 – коэффициент концентрации.


Рис. 1. Распределение данных из Wine Database

 

Таблица 1. Нечеткая база знаний классификатора вин

x7 x10 x13 y
1 Высокий Сорт 1
2 Высокий Высокий Средний Сорт 1
3 Низкий Низкий Сорт 2
4 Низкий Низкий Средний Сорт 2
5 Низкий Высокий Сорт 3

Обучающую выборку сформируем из нечетких образцов вин, а тестовую выборку – из четных.

Настроим веса правил. Достоверность правила №5 сомнений не вызывает (см. рис. 1), поэтому оставим его весовой коэффициент равным 1. Остальные 4 весовых коэффициентов настроим по каждому из трех критериев. В табл. 2 приведены весовые коэффициенты после 500 экспериментов по обучению нечеткого классификатора. Классификатор I настроен по критерию I, классификатор II –по критерию II, классификатор III – по критерию III. Эксперименты проведены в среде MATLAВ с применением пакета FALEFC [3].

Результаты 500 экспериментов (табл. 2) свидетельствую, что наилучшие классификаторы получены при обучении по критерию III. Для каждого эксперимента штрафной коэффициент в этом критерии выбирался случайно из диапазона [5, 10]. Наибольший разброс результатов наблюдается при обучении по критерию I, а наименьший – при обучении по критерию II. Параметры наилучших классификаторов, обученных по каждому из трех критериев, сведены в табл. 2 и 4. Для сохранения прозрачности нечеткой модели обучение проведено с использованием системы ограничений на функции принадлежности из [6].

 

Таблица 2. Веса правил нечетких классификаторов вин после обучения

Веса правил После оптимизации только
весов правил
После оптимизации весов правил
и функций принадлежности
классифи-
катор I
классифи-
катор II
классифи-
катор III
классифи-
катор I
классифи-
катор II
классифи-
катор III
w1 0.53 1 0.64 1 1 1
w2 1 1 1 0.54 1 0.94
w3 0.32 0.94 0.32 0.22 1 0.73
w4 0.25 0.26 0.17 0.01 0.84 0.57
w5 1 1 1 1 1 1

 

Таблица 3. Результаты тестирования нечетких классификаторов вин

Безошибочность Минимальная Средняя Максимальная СКО
После оптимизации только весов
правил
Классификатор І 7.87 32.74 59.55 14.31
Классификатор ІI 16.86 18.53 44.94 2.95
Классификатор ІII 6.74 13.92 40.45 6.18
После оптимизации весов правил
и функций принадлежности
Классификатор І 7.87 33.8 68.54 12.05
Классификатор ІI 6.74 8.85 12.36 1.62
Классификатор ІII 4.49 9.05 14.61 1.92

 

Таблица 4. Функции принадлежности нечетких классификаторов вин

Вход Терм Параметры функций принадлежности
исходный классификатор І классификатор ІI классификатор ІII
b c b c b c b c
x7 Низкий 0.34 2.01 0.34 0.93 0.34 0.8 0.34 0.81
Высокий 5.08 2.01 5.08 2.27 5.08 1.95 5.08 1.9
x10 Низкий 1.28 6.21 1.28 6.48 1.28 2.22 1.28 2.69
Высокий 15.9 6.21 15.9 6.25 15.9 9 15.9 8.97
x13 Низкий 278 298 278 431 278 450 278 403
Средний 979 298 758 262 1006 201 1078 262
Высокий 1680 298 1680 395 1680 450 1680 448

 

Выводы

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

Проведенные эксперименты по настройке нечеткого классификатора вин свидетельствуют, что наилучшая безошибочность достигается после обучения по критерию III. При этом критерий III превосходит конкурентов как по результатам обучения только весов правил, так и при их оптимизации совместно с функциями принадлежности. Это позволяет рекомендовать предложенный критерий для обучения нечетких классификаторов для различных задач принятия решений. Обучение нечетких классификаторов в системе MATLAB можно реализовать с помощью пакета FALEFC, для работы которого необходимы Fuzzy Logic Toolbox и Optimization Toolbox.

 

Литература

  1. Штовба С.Д. Влияние критериев обучения на безошибочность нечеткого классификатора // Вестник Винницкого политехнического института. – 2007. – №6 (на укр. языке).
  2. Asuncion A., Newman D.J. UCI Machine Learning Repository. Irvine (USA): University of California, School of Information and Computer Science, 2007.
  3. Штовба С.Д. Проектирование нечетких систем средствами MATLAB. М.: Горячая линия – Телеком, 2007. – 288 с.
  4. Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976. – 511c.
  5. Ротштейн А.П. Интеллектуальные технологии идентификации: нечеткая логика, генетические алгоритмы, нейронные сети. – Винница: УНІВЕРСУМ–Вінниця, 1999. – 320 с.
  6. Растригин Л.А. Адаптация сложных систем. Методы и приложения. Рига: Зинатне, 1981. – 375 с.
  7. Штовба С.Д. Обеспечение точности и прозрачности нечеткой модели Мамдани при обучении по экспериментальным данным // Проблемы управления и информатики. – 2007. – №4. – С. 102–114.

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


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

Система Orphus

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