Класифікація за типом вхідної інформації
Аналогові нейронні мережі (використовують інформацію у формі дійсних чисел);
Двійкові нейронні мережі (оперують з інформацією, представленою в двійковому вигляді).
Класифікація за характером навчання
Навчання з учителем — відомі вихідні результати нейронної мережі;
Навчання без вчителя — нейронна мережа опрацьовує тільки вхідні дані та самостійно формує вихідні результати. Такі мережі називають самоорганізаційними;
Навчання з підкріпленням — система призначення штрафів і заохочень від середовища.
Нечітка
логіка
Основи нечіткої логіки були закладені наприкінці 60-х років у працях відомого американського математика Латфі Заде. Соціальне замовлення на дослідження подібного роду було викликано зростаючим незадоволенням експертними системами. Хвалений "штучний інтелект", що легко справлявся із задачами керування складними технічними комплексами, був безпорадним при найпростіших висловленнях повсякденного життя, типу "Якщо машиною перед тобою керує недосвідчений водій - тримайся від неї подалі". Для створення дійсно інтелектуальних систем, здатних адекватно взаємодіяти з людиною, необхідний був новий математичний апарат, що переводить невиразні і неоднозначні життєві твердження в мову чітких і формальних математичних формул.
Першим серйозним кроком у цьому напрямку з'явилася теорія нечітких множин, розроблена Заде. Його робота "Fuzzy Sets", що з'явилася в 1965 році в журналі "Information and Control", заклала основи моделювання інтелектуальної діяльності людини і з'явилася початковим поштовхом до розвитку нової математичної теорії. Він же дав і назву для нової області науки -"fuzzy logic"(fuzzy - нечіткий, розмитий, м'який).
У США розвиток нечіткої логіки йде по шляху створення систем, що потрібні великому бізнесу і військовим. Нечітка логіка застосовується при аналізі нових ринків, біржовій грі, оцінці політичних рейтингів, виборі оптимальної цінової стратегії і т.п. З'явилися і комерційні системи масового застосування.
Зсув центра досліджень нечітких систем вбік практичних застосувань привело до постановки цілого ряду проблем, зокрема:
нові архітектури комп'ютерів для нечітких обчислень;
елементна база нечітких комп'ютерів і контролерів;
інструментальні засоби розробки;
інженерні методи розрахунку і розробки нечітких систем керування, тощо.
На відміну від булевої алгебри, у котрій існує лише дві величини (0 та 1, правда чи неправда) у нечіткій логіці існують також перехідні величини (стани).
Одні з основних понять нечіткої логіки: нечіткі множини, фазіфікація/дефазіфікація, фазі-операція.
В останні роки значення нечіткої логіки стрімко виросло у світі високих технологій.
Нечіткі множини
Нехай E - універсальна множина, x - елемент E, а R - певна властивість. Звичайна (чітка) підмножина A універсальної множини E, елементи якої задовольняють властивості R, визначається як множина впорядкованої пари A = {A (х)/х}, де A(х) - характеристична функція, що приймає значення 1, якщо x задовольняє властивості R, і 0 - в іншому випадку.
Нечітка підмножина відрізняється від звичайної тім, що для елементів x з E немає однозначної відповіді "ні" відносно властивості R. У зв'язку з цим, нечітка підмножина A універсальної множини E визначається як множина впорядкованої пари A = {A(х)/х}, де A(х) - характеристична функція приналежності (або просто функція приналежності), що приймає значення в деякій впорядкованій множині M (наприклад, M = [0,1]).
Функція приналежності вказує ступінь (або рівень) приналежності елемента x до підмножини A. Множина M називають множиною приналежностей. Якщо M = {0,1}, тоді нечітка підмножина A може розглядатися як звичайна або чітка множина.
Розглянемо множину X всіх чисел від 0 до 10. Визначимо підмножину A множини X всіх дійсних чисел від 5 до 8.
A = [5,8]
Покажемо функцію приналежності множини A, ця функція ставить у відповідність число 1 чи 0 кожному елементу в X, у залежності від того, належить даний елемент підмножині A чи ні. Результат представлений на наступному малюнку:
Можна інтерпретувати елементи, яким поставлена у відповідність 1, як елементи, що знаходяться в множині A, а елементи, яким поставлений у відповідність 0, як елементи, що не знаходяться в множині A.
Ця концепція використовується в багатьох областях застосувань. Але можна легко знайти ситуації, в яких даній концепції буде бракувати гнучкості.
У даному прикладі опишемо множину молодих людей. Більш формально можна записати так
B = {множина молодих людей}
Оскільки, взагалі, вік починається з 0, то нижня межа цієї множини повинна бути нулем. Верхню межу визначити небагато складніше. Спочатку встановимо верхню межу, скажемо, рівну 20 рокам. Таким чином, маємо B як чітко обмежений інтервал, буквально: B=[0,20] . Виникає питання: чому хтось у свій двадцятирічний ювілей - молодий, а відразу наступного дня вже не молодий? Очевидно, це структурна проблема, і якщо пересунути верхню межу в довільну точку, то можна задати таке ж питання.
Більш природний шлях отримання множини B складається в ослабленні строгого поділу на молодих і не молодих. Зробимо це, виносячи не тільки чіткі судження Так, він належить множини молодих людей або Ні, вона не належить множини молодих людей, але і більш гнучкі формулювання ТАК, він належить до досить молодих людей або Ні, він не дуже молодий.
Розглянемо як за допомогою нечіткої множини визначити такий вираз, як він ще молодий.
В першому прикладі ми кодували всі елементи множини за допомогою 0 чи 1. Простим способом узагальнити дану концепцію є введення значення між 0 і 1. Реально можна навіть допустити нескінченне число значень між 0 і 1, в одиничному інтервалі I = [0, 1].
Інтерпретація чисел при співвідношенні всіх елементів множини стає тепер більш складною. Звичайно, знову число 1 ставиться у відповідність тому елементу, що належить множині B, а 0 означає, що елемент точно не належить множині B. Всі інші значення визначають ступінь приналежності до множини B.
Для наочності приведемо характеристичну функцію множини молодих людей, як і в першому прикладі.
Нехай E = {x1, x2, x3, x4, x5 }, M = [0,1]; A - нечітка множина, для якої
A(x1)=0,3; A(x2)=0; A(x3)=1; A(x4)=0,5; A(x5)=0,9
Тоді A можна представити у виді:
A = {0,3/x1; 0/x2; 1/x3; 0,5/x4; 0,9/x5 } або
A = 0,3/x1 + 0/x2 + 1/x3 + 0,5/x4 + 0,9/x5,
(знак "+" є операцією не додавання, а об'єднання) або
|
x1 |
x2 |
x3 |
x4 |
x5 |
A = |
0,3 |
0 |
1 |
0,5 |
0,9 |
