Posibniki.com.ua Інформатика Прикладні системи штучного інтелекту Тема 15. ПРОГРАМНІ ЗАСОБИ ДЛЯ СИНТЕЗУ НЕЧІТКИХ МОДЕЛЕЙ FUZZY LOGIC TOOLBOX


< Попередня  Змiст  Наступна >

Тема 15. ПРОГРАМНІ ЗАСОБИ ДЛЯ СИНТЕЗУ НЕЧІТКИХ МОДЕЛЕЙ FUZZY LOGIC TOOLBOX


ПЕРЕЛІК ЗНАНЬ ТА НАВИЧОК

Після опанування теми студент має знати:

• найпотужніші засоби для побудови нечітких моделей;

• системи з нечіткою логікою;

• формування бази знань нейро-нечіткої мережі;

• основні принципи формування бази знань;

• основні принципи редукції правил.

Має вміти:

• аналізувати основні властивості нейро-нечітких мереж;

• характеризувати просту нейронну мережу;

• визначати операції над нечіткими числами.

ЗМІСТ ПИТАНЬ З ТЕМИ

15.1. Операції з нечіткою логікою у пакеті Matlab

Одним з найпотужніших засобів для побудови нечітких моделей є пакет Matlab. Операції з нечіткою логікою у пакеті Matlab дає змогу виконувати модуль Fuzzy Logic Toolbox. Він дозволяє створювати системи нечіткого логічного виведення і нечіткої класифікації в рамках середовища MatLab, з можливістю їхньої інтеграції в засіб Simulink пакета Matlab.

Перша категорія програмних інструментів пакета Fuzzy Logic Toolbox містить функції, які можуть бути викликані безпосередньо шляхом набору імені функції в командному вікні або із власних призначених для користувача додатків. Більшість із цих функцій є функціями Matlab у вигляді m-файлів. У даному випадку користувач може подивитися запрограмовані в цих функціях алгоритми, а також редагувати і корегувати ці файли.

Друга категорія програмних інструментів пакета Fuzzy Logic Toolbox містить діалогові модулі, які забезпечують доступ до бі-

Блоки для пакета Simulink містять модулі, які забезпечують інтеграцію систем нечіткого логічного висновку з пакетом Simulink: Fuzzy Logic Toolbox — це пакет прикладних програм, що входять до складу середовища MatLab. Він дозволяє створювати системи нечіткого логічного висновку і нечіткої класифікації в рамках середовища MatLab, з можливістю їх інтеграції в Simulink. Базовим поняттям Fuzzy Logic Toolbox є FIS-структура — система нечіткого висновку (Fuzzy Inference System). FIS-структура містить усі необхідні дані для реалізації функціонального відображення «входи-виходи» на основі нечіткого логічного висновку відповідно до схеми, наведеної на рис. 5.2.

Рис. 5.2. Нечіткий логічний висновок

Рис. 5.2. Нечіткий логічний висновок

На рис. 5.2 використовуються такі позначення: X — вхідний вектор нечітких множин X; Y ~ — результат логічного висновку; Y — вихідний чіткий вектор. Fuzzy Logic Toolbox містить такі категорії програмних інструментів:

— функції;

— інтерактивні модулі з графічним, призначеним для користувача, інтерфейсом (GUI);

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

— блоки для пакета Simulink;

— демонстраційні приклади.

Модуль Fuzzy Logic Toolbox містить такі категорії програмних інструментів: функції; інтерактивні модулі з графічним користувальницьким інтерфейсом (GUI). Блоки для пакета Simulink можуть бути викликані з командного рядка. Для отримання переліку функцій слід ввести команду: help fuzzy. Наведемо короткий огляд функцій модуля Fuzzy Logic.

Редактори з графічним інтерфейсом користувача: findcluster

— інструмент для кластеризації; fuzzy

— базовий редактор FIS; mfedit — редактор функцій приналежності; ruleedit — редактор та аналізатор правил; ruleview — демонстратор правил та діаграм нечіткого виведення; surfview — демонстратор вихідної поверхні.

Функції приналежності: dsigmf, gauss2mf, gaussmf, gbellmf, pimf, psigmf, smf, sigmf, trapmf, trimf, zmf. Для зручності імена всіх убудованих функцій приналежності закінчуються на mf. Виклик функції приналежності здійснюється в такий спосіб: namemf(x, params), де namemf — найменування функції приналежності; x — вектор, для координат якого необхідно розрахувати значення функції приналежності; params — вектор параметрів функції приналежності.

У Fuzzy Logic Toolbox передбачена можливість для користувача створення власної функції приналежності. Для цього необхідно створити m-функцію, що містить два вхідних аргументи: вектор, для координат якого необхідно розрахувати значення функції приналежності, і вектор параметрів функції приналежності. Вихідним аргументом функції має бути вектор ступенів приналежності.

Функції FIS: addmf — додає функцію приналежності до FIS; addrule — додає правило до FIS; addvar — додає змінну до FIS; defuzz — дефазифікує функцію приналежності; evalfis — здійснює обчислення нечіткого виведення; evalmf — обчислює функцію приналежності; gensurf

— генерує поверхню виходу FIS; getfis — повертає властивості нечіткої системи; mf2mf — транслює параметри між функціями приналежності; newfis

— створює нову FIS; parsrule — аналізує нечіткі правила; plotfis — показує діаграму «вхід-вихід» для FIS; plotmf — показує усі функції приналежності для однієї змінної; readfis — завантажує FIS із диска; rmmf — видаляє функцію приналежності з FIS; rmvar — видаляє змінну з FIS; setfis — установлює властивості нечіткої системи; showfis — показує анотовану FIS; showrule

— відображує правила FIS; writefis — зберігає FIS на диску.

Функції кластер-аналізу: fcm, genfis1, genfis2, subclust.

Різні функції: convertfis — перетворює нечітку матрицю структури версії 1.0 на матрицю структури версії 2.0; discfis

— дискретизує FIS; evalmmf — використовується для обчислення множинних функцій приналежності; fstrvcat — поєднує матриці різного розміру; fuzarith — функція нечіткої арифметики; findrow

— шукає рядки матриці, що відповідають вхідному рядку; probor

— імовірнісне «АБО»; sugmax — максимальний вихідний діапазон для системи Сугено.

Функція C = fuzarith (X, A, B, OPERATOR) реалізує базові операції нечіткої логіки та повертає нечітку множину C як результат застосування оператора OPERATOR (‘sum’ — сума, ‘sub’

— вирахування, ‘prod’ — добуток, ‘div’ — ділення) до нечітких множин A та B з універсальної множини X. Змінні A, B та X мають бути векторами однакової розмірності. Нечітка множина C, яка повертається, є вектор-стовпцем тієї самої довжини, що й A та B. Зауважимо, що ця функція використовує інтервальну арифметику та передбачає, що: A та B є опуклими нечіткими множинами; функції приналежності для A та B поза X є нулем.

Допоміжні функції графічного користувальницького інтерфейсу: cmfdlg — додає діалог вибору функцій приналежності; cmthdlg

— додає діалог вибору методу виведення; fisgui — дискрипторне посилання на інтерфейсні засоби модуля Fuzzy Logic Toolbox; gfmfdlg — генерує FIS з використанням діалогу методу ґрат; mfdlg

— додає діалог функції приналежності; mfdrag

— перетягування функції приналежності за допомогою миші; popundo — відновлює зі стеку останні зміни (відміняє останні дії); pushundo

— передає поточні дані у стек відновлення; savedlg — діалог запису перед закриттям; statmsg — зображує повідомлення у полі статусу; updtfis

— оновлює засоби графічного інтерфейсу Fuzzy Logic Toolbox; wsdlg — діалог «відкриття з» / «збереження до» робочої зони. FIS-структура (Fuzzy Inference System — система нечіткого виведення) містить усі необхідні дані для реалізації функціонального відображення «входи-виходи» на основі нечіткого логічного виведення. Поля структури даних системи нечіткого логічного виведення призначені для збереження такої інформації:

• name — найменування системи нечіткого логічного виведення;

• type — тип системи (припустимі значення ‘Mamdani’ та ‘Sugeno’);

• andMethod — реалізація логічної операції «ТА» (запрограмовані реалізації: ‘min’ — мінімум і ‘prod’ — множення);

• orMethod — реалізація логічної операції «АБО» (запрограмовані реалізації: ‘max’ — максимум і ‘probor’ — імовірнісне «АБО»);

• defuzzMethod — метод дефазифікації (запрограмовані методи для систем типу Мамдані: ‘centroid’ — центр ваги; ‘bisector’

— медіана; ‘lom’ — найбільший з максимумів; ‘som’ — найменший з максимумів; ‘mom’ — середнє з максимумів; запрограмовані методи для систем типу Сугено: ‘wtaver’ — зважене середнє і ‘wtsum’ — зважена сума);

• impMethod — реалізація операції імплікації (запрограмовані реалізації: ‘min’

— мінімум і ‘prod’ — множення);

• aggMethod — реалізація операції об’єднання функцій приналежності вихідної змінної (запрограмовані реалізації: ‘max’ — максимум; ‘sum’ — сума і ’probor’ — імовірнісне «АБО»);

— найменування вхідної змінної; input.range

• input — масив вхідних змінних: input.name

— діапазон зміни вхідної змінної; input.mf — масив функцій приналежності вхідної змінної; input.mf.name — найменування функції приналежності вхідної змінної; input.mf.type — модель функції приналежності вхідної змінної; input.mf.params — масив параметрів функції приналежності вхідної змінної;

• output — масив вихідних змінних: output.name — найменування вихідної змінної; output.range — діапазон зміни вихідної змінної; output.mf — масив функцій приналежності вихідної змінної; output.mf.name — найменування функції приналежності вихідної змінної; output.mf.type — модель функції приналежності вихідної змінної; output.mf.params — масив параметрів функції приналежності вихідної змінної;

• rule — масив правил нечіткої БЗ: rule.antecedent — посилки правила (указуються порядкові номери термів у порядку запису вхідних змінних. Число 0 указує на те, що значення відповідної вхідної змінної не впливає на істинність правила); rule.consequent

— висновок правила (указуються порядкові номери термів у порядку запису вихідних змінних. Число 0 указує на те, що правило не поширюється на відповідну вихідну змінну); rule.weight — вага правила. Задається числом з діапазону [0, 1]; rule.connection

— логічне зв’язування змінних усередині правила: 1 — логічне «ТА»; 2 — логічне «АБО».

Для доступу до властивостей системи нечіткого логічного виведення треба вказати ім’я відповідного поля. Система нечіткого виведення зберігається на диску у вигляді fis-файла — текстового файла спеціального формату. Функції readfis та writefis викорис-

Меню File — це загальне меню для всіх GUI-модулів, використовуваних із системами нечіткого виведення. За допомогою команди New-FIS користувач має можливість створити нову систему нечіткого виведення. У разі вибору цієї команди з’являться дві альтернативи: Mamdani та Sugeno, що визначають тип створюваної системи. За допомогою команди Import користувач має можливість завантажити раніше створену систему нечіткого логічного виведення. Команда Export дозволяє зберегти систему нечіткого виведення в робочу зону або на диск. Команда Print дозволяє вивести на принтер копію графічного вікна. Команда Close закриває графічне вікно.

Меню Edit. Команда Undo скасовує раніше зроблену дію. Команда Add Variable дозволяє додати в систему ще одну змінну: вхідну (input) або вихідну (output). Команда Remove Selected Variable видаляє поточну змінну із системи. Команда Membership Function відкриває редактор функцій приналежностей. Команда Rules відкриває редактор БЗ.

Меню View — це загальне меню для всіх GUI-модулів, використовуваних із системами нечіткого виведення. Це меню дозволяє відкрити вікно візуалізації нечіткого виведення (команда Rules) та вікно виведення поверхні «вхід-вихід», що відповідає системі нечіткого виведення (команда Surface).

Меню And Method, Or Method, Implication та Aggregation дозволяють установити реалізації логічних операцій «ТА», «АБО», імплікація, об’єднання, відповідно. Меню Defuzzification дозволяє вибрати метод дефазифікації. Користувач також має можливість установити власну реалізацію операцій. Для цього необхідно вибрати команду Custom та у графічному вікні, що з’явилося, надрукувати ім’я функції, яка реалізує цю операцію.

Панель Current Variable дозволяє для поточної змінної, ім’я котрої задається у полі Name, задати у полі Type тип (вхідна —

товуються для завантажена у робочу зону та збереження на диску таких файлів. FIS-редактор (FIS Editor) призначений для створення, збереження, завантаження і виведення на друк систем нечіткого логічного виведення, а також для редагування таких властивостей: тип системи; найменування системи; кількість вхідних і вихідних змінних; найменування вхідних і вихідних змінних; параметри нечіткого логічного виведення. FIS-редактор містить три загальносистемних меню: File, Edit, View та п’ять меню для вибору параметрів нечіткого виведення: And Method, Or Method, Implication, Aggregation та Defuzzification.

— діапазон значень. FIS-редактор також має інформаційну панель, що відображає ім’я поточної FIS (поле FIS-Name) та її тип (поле FIS-Type). Крім того FIS-редактор має панель із графічним зображенням системи виведення, вхідних та вихідних змінних.

Редактор функцій приналежності (Membership Function Editor) призначений для задавання такої інформації про термимножини вхідних і вихідних змінних: кількість термів; найменування термів; тип і параметри функцій приналежності, котрі необхідні для подання лінгвістичних термів у вигляді нечітких множин. Редактор функцій приналежності містить меню File, Edit, View та панелі введення інформації.

Меню Edit. Команда Add MFs дозволяє додати терми у терммножину, використовувану для лінгвістичної оцінки поточної змінної. При виборі цієї команди з’явиться діалогове вікно, в якому необхідно вибрати тип функції приналежності та кількість термів. Значення параметрів функцій приналежності будуть установлені автоматично таким чином, щоб рівномірно покрити область визначення змінної, заданої у полі Range. При зміні області визначення у полі Range параметри функцій приналежності будуть промаштабовані. Команда Add Custom MF дозволяє додати лінгвістичний терм, функція приналежності якого відрізняється від убудованих. Після вибору цієї команди з’явиться графічне вікно, в якому необхідно надрукувати лінгвістичний терм (поле MF-name), ім’я функції приналежності (поле M-File function name) і параметри функції приналежності (поле Parameter list). Команда Remove Selected MF видаляє поточний терм із терммножини поточної змінної. Ознакою поточної змінної є червона окантовка її прямокутника. Ознакою поточного терму є червоний колір його функції приналежності. Для вибору поточного терму необхідно позиціонувати курсор миші на графіку функції приналежності і клацнути лівою кнопкою миші. Команда Remove All MFs видаляє всі терми з терм-множини поточної змінної.

Панель Current Variable дозволяє для поточної змінної, ім’я котрої вказане у полі Name, а тип у полі Type, задати у полі Range діапазон значень, а у полі Display Range — діапазон відображення. Панель Current Membership Function дозволяє для поточної функції приналежності, ім’я терму котрої вказують у полі Name, задати тип (назву Matlab-функції) у полі Type та параметри у полі Params. Редактор також має панель із зображенням графіка поточної функції приналежності.

input, вихідна — output), а також у полі Range

Редактор БЗ (Rule Editor) призначений для формування і модифікації нечітких правил. Редактор функцій приналежності містить чотири системних меню: File, Edit, View, Options, меню вибору термів вхідних і вихідних змінних, поля установки логічних операцій «ТА», «АБО», «НЕ» і ваг правил, а також кнопки редагування та перегляду правил.

Для введення нового правила в БЗ необхідно за допомогою миші вибрати відповідну комбінацію лінгвістичних термів вхідних і вихідних змінних, установити тип логічного зв’язування («ТА» або «АБО») між змінними всередині правила, установити наявність чи відсутність логічної операції «НЕ» для кожної лінгвістичної змінної, увести значення вагового коефіцієнта правила і натиснути кнопку Add Rule. За замовчуванням установлені параметри: логічне зв’язування змінних усередині правила — «ТА»; логічна операція «НЕ» — відсутня; значення вагового коефіцієнта правила — 1.

Можливі випадки, коли істинність правила не змінюється за довільного значення деякої вхідної змінної, тобто ця змінна не впливає на результат нечіткого логічного виведення в даній області факторного простору. Натомість лінгвістичне значення цієї змінної необхідно установити none.

Для видалення правила з БЗ потрібно клацнути один раз лівою кнопкою миші на цьому правилі та натиснути кнопку Delete Rule.

Для модифікації правила необхідно клацнути один раз лівою кнопкою миші на цьому правилі, потім установити необхідні параметри правила і натиснути кнопку Edit Rule.

Меню Options дозволяє установити мову і формат правил БЗ. При виборі команди Language з’явиться список мов English (Англійська), Deutsch (Німецька), Francais (Французька), з якого необхідно вибрати одну. При виборі команди Format з’явиться список можливих форматів правил БЗ: Verbose — лінгвістичний; Symbolic — логічний; Indexed — індексований.

Модуль візуалізації нечіткого виведення (Rule Viewer) дає змогу проілюструвати хід логічного виведення за кожним правилом, одержати результативну нечітку множину й виконати процедуру дефазифікації. Rule Viewer містить чотири меню: File, Edit, View, Options, два поля введення інформації — Input і Plot points та кнопки прокручування зображення вліво — вправо (left-right), догори — униз (up-down).

Кожне правило БЗ подається у вигляді послідовності горизонтально розташованих прямокутників. При цьому перші два пря-

Порожній прямокутник у візуалізації правила означає, що в цьому правилі посилки за змінною немає. Жовте заливання графіків функцій приналежностей вхідних змінних указує, наскільки значення входів відповідають термам даного правила. Для виведення правила у форматі Rule Editor необхідно клацнути один раз лівою кнопкою миші по номеру відповідного правила. У цьому випадку зазначене правило буде виведено в нижній частині графічного вікна. Блакитне заливання графіка функції приналежності вихідної змінної являє собою результат логічного виведення у вигляді нечіткої множини за даним правилом. Результативну нечітку множину, що відповідає логічному виведенню за всіма правилами, показано в нижньому прямокутнику останнього стовпця графічного вікна. У цьому самому прямокутнику червона вертикальна лінія відповідає чіткому значенню логічного виведення, отриманого в результаті дефазифікації.

Уведення значень вхідних змінних можна здійснювати двома способами: шляхом уведення чисельних значень у поле Input; за допомогою миші, шляхом переміщення ліній-покажчиків червоного кольору.

У полі Plot points задається кількість крапок дискретизації для побудови графіків функцій приналежності. Значення за замовчуванням — 101.

роксимуватиме залежність:

5/

2sin x e x y=, x ? [0, 10], ?x = 0,1. Використання функцій модуля Fuzzy Logic Toolbox пакета Matlab. >> x = (0:0.1:10)’; % задаємо масив х y = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності mfType = ‘gbellmf’; % тип функцій приналежності epoch_n = 20;% кількість ітерацій % створюємо FIS-структуру типу Сугено in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лінія>> x = (0:0.1:10)’; % задаємо масив х y = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності % створюємо FIS-структуру типу Сугено in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лініяy = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лініяtrnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лініяnumMFs = 5; % кількість функцій приналежності % будуємо графіки: % цільової залежності — синій колір, суцільна лініяВикористання функцій модуля Fuzzy Logic Toolbox пакета Matlab. >> x = (0:0.1:10)’; % задаємо масив х y = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності mfType = ‘gbellmf’; % тип функцій приналежності epoch_n = 20;% кількість ітерацій % створюємо FIS-структуру типу Сугено in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лініяMatlab. >> x = (0:0.1:10)’; % задаємо масив х y = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності epoch_n = 20;% кількість ітерацій % створюємо FIS-структуру типу Сугено in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лінія

Приклад 1. Створити мовою пакета Matlab m-функцію, що апроксимуватиме залежність:

5/

2sin x e x y=, x ? [0, 10], ?x = 0,1. Використання функцій модуля Fuzzy Logic Toolbox пакета Matlab. >> x = (0:0.1:10)’; % задаємо масив х y = sin(2.*x)./exp(x./5); % визначаємо значення елементів масиву y trnData = [x y]; % створюємо масив навчальної вибірки numMFs = 5; % кількість функцій приналежності mfType = ‘gbellmf’; % тип функцій приналежності epoch_n = 20;% кількість ітерацій % створюємо FIS-структуру типу Сугено in_fismat= genfis1(trnData,numMFs,mfType); % навчаємо FIS-структуру out_fismat= anfis(trnData,in_fismat,20); % будуємо графіки: % цільової залежності — синій колір, суцільна лінія

мокутники відображають функції приналежностей термів посилки правила (ЯКЩО-частина правила), а останній третій прямокутник відповідає функції приналежності терму-наслідку вихідної змінної (ТО-частина правила).

Designated epoch number reached --> ANFIS training completed at epoch 20. % апроксимуючої залежності — зелений колір, пунктир plot(x,y,x,evalfis(x,out_fismat)); % підписуємо легенду до графіків % Training Data — навчальна вибірка — цільові дані % ANFIS Output — вихід ANFIS — розрахункові дані legend(‘Training Data’,’ANFIS Output’); ANFIS info: Number of nodes: 24 Number of linear parameters: 10 Number of nonlinear parameters: 15 Total number of parameters: 25 Number of training data pairs: 101 Number of checking data pairs: 0 Number of fuzzy rules: 5 Start training ANFIS ... 1 0.0694086 2 0.0680259 3 0.066663 4 0.0653198 5 0.0639961 Step size increases to 0.011000 after epoch 5.

6 0.0626917

7 0.0612787

8 0.0598881

9 0.0585193 Step size increases to 0.012100 after epoch 9.

10 0.0571712

11 0.0557113

12 0.0542741

13 0.052858 Step size increases to 0.013310 after epoch 13.

14 0.0514612

15 0.0499449

16 0.0484475

17 0.0469667 Step size increases to 0.014641 after epoch 17.

18 0.0455003

19 0.0439022

20 0.0423184 Designated epoch number reached --> ANFIS training completed at epoch 20.

15.2. Загальна характеристика та властивості нейро-нечітких мереж для подання й обробки знань

Різні типи інтелектуальних систем мають свої особливості, наприклад, за можливостями навчання, узагальнення і отримання результатів, що робить їх найбільш придатними для розв’язання одних класів задач і менш придатними — для інших.

Нейронні мережі, наприклад, є зручними для задач розпізнавання образів, але дуже незручні для пояснення того, як вони таке розпізнавання здійснюють. Вони можуть автоматично здобувати знання, але процес їхнього навчання найчастіше відбувається досить повільно, а аналіз навченої мережі є дуже складним (навчена мережа є зазвичай «чорною скринею» для користувача).

Системи з нечіткою логікою, навпаки, є зручними для пояснення одержуваних за їх допомогою висновків, але вони не можуть автоматично здобувати знання для використання їх у механізмах виведень. Необхідність розбиття універсальних множин на окремі області, як правило, обмежує кількість вхідних змінних у таких системах невеликим значенням.

Й. Хаяши (Y. Hayashi) та А. Імура (A. Imura) довели, що нейромережа прямого поширення може апроксимувати будь-яку систему, засновану на нечітких правилах, та будь-яка нейромережа прямого поширення може бути апроксимована системою, заснованою на нечітких правилах.

Теоретично системи з нечіткою логікою та штучні нейронні мережі подібні, однак, відповідно до викладеного вище, на практиці вони мають свої переваги і недоліки.

Дане розуміння лягло в основу створення апарату нечітких нейронних мереж, у яких виведення робляться на основі апарату нечіткої логіки, але відповідні функції приналежності підлаштовуються з використанням методів навчання нейронних мереж, наприклад методу зворотного поширення помилки. Такі системи не тільки використовують апріорну інформацію, але можуть здобувати нові знання, будучи логічно прозорими.

Нейро-нечітка мережа — це подання системи нечіткого виведення у вигляді нейронної мережі, зручної для навчання, поповнення, аналізу та використання. Структура нейро-нечіткої мережі відповідає основним блокам систем нечіткого виведення.

Основними властивостями нейро-нечітких мереж є те, що:

— нейро-нечіткі мережі засновані на нечітких системах, які навчаються за допомогою методів, використовуваних у нейромережах;

— нейро-нечітка мережа зазвичай є багатошаровою (частіше

— тришаровою) нейронною мережею. Перший шар містить вхідні змінні, середній — нечіткі правила, а третій — вихідні змінні. Ваги підключення відповідають нечітким множинам вхідних і вихідних змінних. Іноді використовується п’ятишарова архітектура. У загальному випадку нечітка система необов’язково має бути подана в такому вигляді, однак це є зручною моделлю для застосування навчаючих методів;

— нейро-нечітка мережа завжди (до, під час і після навчання) може бути інтерпретована як система нечітких правил;

При цьому яку-небудь апріорну інформацію (знання експерта) для прискорення процесу навчання в нейронну мережу ввести складно.

— процедура навчання враховує семантичні властивості нечіткої системи. Це виражається в обмеженні можливих модифікацій, які застосовуються до параметрів, що налагоджуються. Варто, однак, зауважити, що не всі методи навчання нейро-нечітких мереж ураховують семантику системи;

— нейро-нечітка система апроксимує N ? M-розмірну невідому функцію, котра частково описана навчаючими даними.

Виокремлюють такі типи поєднання нечіткої логіки і нейронних мереж за способом взаємодії:

нечіткі нейронні системи (fuzzy neural systems). У цьому випадку в нейронних мережах застосовуються принципи нечіткої логіки для прискорення процесу налагодження або поліпшення інших параметрів. За такого підходу нечітка логіка є лише інструментом нейронних мереж і така система не може бути інтерпретована в нечіткі правила, оскільки являє собою «чорну скриню»;

конкуруючі нейро-нечіткі системи (concurrent neuro-fuzzy systems). У таких моделях нечітка система і нейронна мережа працюють над одним завданням, не впливаючи на параметри одна одної. Можлива послідовна обробка даних спочатку однією системою, потім іншою;

паралельні нейро-нечіткі системи (cooperative neuro-fuzzy systems). У таких системах налагодження параметрів виконується за допомогою нейронних мереж. Далі нечітка система функціонує самостійно. Виокремлюють такі типи паралельних нейронечітких моделей: 1) нечітка асоціативна пам’ять (fuzzy associative memory); 2) системи із виділенням нечітких правил способом використання карт, що самоорганізуються (fuzzy rule extraction using self-organizing maps); системи, здатні навчати параметри нечітких множин (systems capable of learning fuzzy set parameters);

інтегровані (гібридні) нейро-нечіткі системи (integrated neuro-fuzzy systems) — cистеми з тісною взаємодією нечіткої логіки і нейронних мереж. Під терміном «нейро-нечіткі мережі» найчастіше мають на увазі системи саме такого типу. Як правило, інтегровані системи є системами типу Мамдані або ТакагіСугено.

За способом відображення нечітких множин у структурі мережі нейро-нечіткі мережі бувають трьох основних типів:

системи, побудовані на вибіркових нечітких множинах. У таких системах ступені приналежності описані тільки для деяких значень з області визначення і функція приналежності подана у вигляді вектора. Кожному ступеню приналежності відповідає

системи, параметризовані функції приналежності яких зберігаються в нейронах. Прикладом таких систем є ANFIS;


< Попередня  Змiст  Наступна >
Iншi роздiли:
15.6. Конкурентні нейро-нечіткі системи
Тема 16. ПРОГРАМНІ ЗАСОБИ ДЛЯ СИНТЕЗУ НЕЙРО-НЕЧІТКИХ МОДЕЛЕЙ МЕРЕЖ
Нейро-нечітка модель діяльності компанії
Тема 17. ЕВОЛЮЦІЙНІ ІНТЕЛЕКТУАЛЬНІ СИСТЕМИ ТА МОДЕЛІ
17.7. Генетичний та еволюційний пошук
Дисциплiни

Медичний довідник новиниКулінарний довідникАнглійська моваБанківська справаБухгалтерський облікЕкономікаМікроекономікаМакроекономікаЕтика та естетикаІнформатикаІсторіяМаркетингМенеджментПолітологіяПравоСтатистикаФілософіяФінанси

Бібліотека підручників та статтей Posibniki (2022)