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

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

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

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

15. Идентификация зависимостей с помощью нечеткой базы знаний Сугено

В этом разделе рассматриваются три метода идентификации нелинейной зависимости с помощью нечеткой базы знаний Сугено. Первый метод использует фильтр Калмана для настройки коэффициентов заключений нечетких правил. Этот метод предложен японскими учеными Такаги (Tomohiro Takagi) и Сугено (Michio Sugeno) в статье [1], идеи которой послужили основой построения теории нечеткой идентификации. Второй метод заключается настройке коэффициентов заключений нечетких правил по градиентному методу оптимизации. Третий метод позволяет одновременно настраивать функции принадлежности термов входных переменных и заключения правил. Он базируется на идеях обратного распространения ошибки в нейронных сетях. При подготовке настоящего раздела использовались источники [1, 2].

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

Предполагаются, что известны:

1)    выборка экспериментальных данных , , где   - входной вектор в r-ой паре и   - соответствующий выход;

2)    правила нечеткой базы знаний Такаги-Сугено:

.

Необходимо найти такие значения коэффициентов заключений правил , которые обеспечивают минимум квадратичной невязки:

, (1)

где   - результат вывода по нечеткой базе знаний с параметрами B при значении входов из r-й строчки выборки ().

Входному вектору соответствует такой результат нечеткого вывода:

, (2)

где   - заключение j-го правила;

  - степень выполнения заключения j-го правила.

Обозначим через относительную степень выполнения заключения j-го правила для входного вектора . Тогда (2) можно переписать в виде:

.

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

;

;

.

Тогда задача (1) в матричной форме ставится следующим образом: найти вектор B, чтобы:

, (3)

где .

Минимальное значение квадратичной невязки E достигается при , что соответствует решению уравнения

. (4)

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

. (5)

Проблемы нахождения решения (5) связаны с возможной сингулярностью матрицы . В работе [1] вектор B находится с помощью фильтра Калмана по следующему итерационному алгоритму:

, ,

,

при начальных условиях:

и ,

где w - большое положительное число,

I - единичная матрица;

<…>  - число в угловых скобках показывает номер итерации.

Количество итераций алгоритма идентификации равно объему выборки экспериментальных данных. На первом шаге алгоритма координаты вектора B настраиваются по первой строчке выборки экспериментальных данных. На второй итерации координаты вектора B подстраиваются под вторую пару "входы - выход" и т.д.

Существуют различные алгоритмы нечеткой идентификации, в которых подстройка параметров нечеткой базы знаний Сугено также происходит итерационно по значению "мгновенной ошибки". Ниже рассматривается один такой алгоритм, основанный на градиентном методе оптимизации.

Обозначим "мгновенную ошибку" для r-й строчки выборки данных через . Тогда, согласно градиентному методу Коши, новые значения управляемых переменных рассчитываются по формуле:

, , (6)

где   - длина шага, которая задает скорость обучения.

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

Частная производная в (6) имеет простое аналитическое выражение: . С учетом этого перепишем правило обучения (6) в следующем виде:

, , . (7)

Идентификацию параметров нечеткой базы знаний с использованием правила (7) представим следующим алгоритмом:

Шаг 1. Установить параметры алгоритма: E*  - допустимая квадратическая невязка и z*  - максимальное количество эпох обучения.

Шаг 2. Рассчитать относительные степени выполнения заключений правил для каждой строчки обучающей выборки, , .

Шаг 3. Установить счетчик итераций обучения и счетчик эпох обучения в единицы: r=1 и z=1.

Шаг 4. Установить начальные значения настраиваемых параметров, например, , , .

Шаг 5. Рассчитать значение "мгновенной ошибки" для r-й пары данных из выборки и пересчитать значения настраиваемых параметров по формуле (7).

Шаг 6. Проверить условие "?", если "да", то увеличить счетчик итераций r=r+1 и перейти к шагу 5.

Шаг 7. Рассчитать значение квадратичной невязки на всей выборке данных на z-й эпохе обучение .

Шаг 8. Проверить условие "?", если "да" то перейти к шагу 10.

Шаг 9. Проверить условие "?", если "да", то увеличить счетчик эпох z=z+1, установить счетчик итераций обучения в единицу r=1 и перейти к шагу 5.

Шаг 10. Конец.

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

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

Предположим, что нечеткая база знаний Сугено задана в виде:

,

что соответствует синглтоной базе знаний (см. раздел 1.7.5.4.). Потребуем, чтобы каждый терм входной переменной использовался только в одном правиле. Чтобы получить дифференцируемые соотношения "входы  - выход" будет использовать гауссовские функции принадлежности:

,

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

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

Входному вектору соответствует такой результат нечеткого вывода:

,

где   - относительная степень выполнения j-го правила для входного вектора .

При использовании в качестве t-нормы умножения относительная степень выполнения j-го правила рассчитывается так:

.

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

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

, (8)
, (9)
, (10)

где ; ; .

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

В правила обучения (8), (9) и (10) входят одни и те же множители, что позволяет быстро пересчитывать значения настраиваемых параметров. При использовании других типов функций принадлежности правила их обучения получаются не такими быстрыми. Обучение функций принадлежностей по формулам (8)  - (10) по сравнению с настройкой заключений правил по формуле (7) является более трудоемкой вычислительной процедурой в связи с необходимостью пересчета относительных степеней выполнения правил после каждой итерации алгоритма обучения.

Литература

  1. Takagi T., Sugeno M. Fuzzy Identification of Systems and Its Applications to Modeling and Control // IEEE Trans. on Systems, Man, and Cybernetics. Vol. 15, № 1. - 1985. - P. 116  - 132.
  2. Yager R., Filev D. Essentials of Fuzzy Modeling and Control. USA: John Wiley & Sons. - 1984. - 387p.

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


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

Система Orphus

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