Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
System rozmyty Sugeno jako pięciowarstwowa sieć, uczenie hybrydowe metodą najmniejszych kwadratów i gradientem, uczenie funkcji z zaszumionych danych, dobór liczby reguł i przeuczenie, czytelność nauczonych reguł i związek z sieciami RBF.
Seria Podstawy AI Część 37 z 52
- Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
- Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
- Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
- Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
- Zbiory i relacje: klocki, z których składają się definicje w AI
- Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
- Logika i dowody: reguły, według których rozumuje AI
- Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
- Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
- Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
- Spadek gradientu: jak uczy się model
- Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
- Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
- Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
- Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
- Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
- Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
- Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
- Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
- Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
- Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
- Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
- Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
- Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
- Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
- Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
- Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
- Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
- Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
- Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
- Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
- Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
- Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
- Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
- Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
- Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
- Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
- Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
- Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
- Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
- Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
- Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
- Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
- Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
- Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
- Modele dyfuzyjne: jak z czystego szumu powstaje obraz
- Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
- Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
- Policy gradient i PPO: uczenie się bezpośrednio polityki
- Jak działa agent AI: model językowy w pętli z narzędziami
- Programowanie z agentami AI: zadanie, testy i kontrola
- Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować
Pełny program serii Gotowe: 52 z 83 tematów
- Jak zapisać system rozmyty Sugeno jako sieć i które jego parametry się uczą.
- Dlaczego uczenie hybrydowe (najmniejsze kwadraty plus gradient) wyprzedza czysty spadek gradientu.
- Dlaczego dokładanie reguł grozi przeuczeniem i co zostaje z czytelności nauczonych reguł.
Warto wiedzieć wcześniej: Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku, Spadek gradientu: jak uczy się model
Regulatory rozmyte z poprzednich części miały jedną słabość: reguły i funkcje przynależności ktoś musiał wymyślić. Gdy doświadczony operator istnieje, to zaleta. Gdy nie — albo gdy system ma odwzorować zmierzone dane — to problem. Sieci neuronowe mają odwrotną naturę: nauczą się czegokolwiek z danych, ale tego, czego się nauczyły, nikt nie odczyta. W 1993 roku Jyh-Shing Roger Jang połączył jedno z drugim w systemie ANFIS (Adaptive Neuro-Fuzzy Inference System): system rozmyty Sugeno zapisany jako sieć, której parametry uczą się z danych. Tą częścią kończy się moduł o logice rozmytej.
Nawiązuje do części Sterowanie rozmyte: Mamdani i Sugeno i Spadek gradientu.
1. System rozmyty jako sieć
Weźmy system Sugeno pierwszego rzędu z jednym wejściem i czterema regułami „JEŻELI x jest Ai, TO y = pix + ri”. Każdy krok jego obliczeń jest warstwą sieci:
Definicja — ANFIS (Jang, 1993)
- Przynależność: μi(x) = exp(−(x − ci)2 / 2σi2) — funkcja gaussowska o środku ci i szerokości σi.
- Siła reguły: wi = iloczyn przynależności przesłanki (przy jednym wejściu tylko μi(x)).
- Normalizacja: w̄i = wi / ∑j wj.
- Następnik: w̄i · (pix + ri).
- Suma: y = ∑i w̄i (pix + ri).
Parametry przesłanek to ci, σi; parametry następników to pi, ri.
To dokładnie regulator Sugeno z poprzedniej części, tylko narysowany jako sieć. Każda reguła ma „obszar działania” (gaussowski pagórek) i w nim liniową prognozę. Wyjście jest średnią ważoną prognoz według tego, jak bardzo wejście leży w obszarze której reguły. Cały system jest różniczkowalny, więc można go uczyć tak samo jak sieć neuronową.
y = ∑i wi / ∑j wj · (pix + ri)
- y
- wyjście całego systemu dla wejścia x — to, co porównujemy z danymi i czym mierzy się błąd
- ∑i
- suma po wszystkich regułach — każda coś wnosi, żadna nie jest „wybierana”; dlatego wyjście jest gładkie i da się je różniczkować
- wi / ∑j wj
- znormalizowana siła w̄i — dzielenie przez sumę sprawia, że wagi sumują się do 1, więc wyjście jest ważoną średnią następników i nie zależy od tego, jak wysokie są pagórki
- pix + ri
- liniowy następnik reguły — lokalna prosta, która opisuje funkcję w obszarze reguły; prosta zamiast stałej pozwala przy niewielu regułach śledzić także nachylenie
μi(x) = exp( − (x − ci)2 / 2σi2 )
- μi(x)
- stopień przynależności z [0, 1] — jak bardzo x jest „około ci”; eksponenta liczby ujemnej leży zawsze między 0 a 1, a w środku wynosi dokładnie 1
- (x − ci)2
- kwadrat odległości od środka — przynależność maleje w obie strony jednakowo i jest gładka także w środku (z wartością bezwzględną miałaby tam ostrze i pochodna by nie istniała)
- 2σi2
- szerokość pagórka — odległość mierzy się w jednostkach σi, więc w odległości σi od środka przynależność wynosi zawsze e−1/2 ≈ 0,61; uczenie σi zmienia to, jak daleko reguła „sięga”
Przykład — przejście w przód w punkcie x = 3
Weźmy system po zerowej epoce uczenia (zob. niżej): środki c = 0, 2, 4, 6, wszystkie szerokości σ = 1 i następniki z najmniejszych kwadratów. Dla x = 3 odległości od środków wynoszą 3, 1, 1, 3, a zatem
- przynależność i siła: w = (e−4,5; e−0,5; e−0,5; e−4,5) = (0,0111; 0,6065; 0,6065; 0,0111);
- normalizacja: suma wynosi 1,2353, więc w̄ = (0,0090; 0,4910; 0,4910; 0,0090);
- następniki: proste pix + ri z nauczonymi współczynnikami (9,54x + 0,01; 9,34x − 17,38; 8,56x − 36,61; 2,60x − 18,90) mają w punkcie 3 wartości (28,63; 10,66; −10,94; −11,09) — współczynniki są zaokrąglone, wartości policzone z dokładnych;
- suma: y = 0,2574 + 5,2329 − 5,3698 − 0,0997 ≈ 0,021.
Prawdziwa wartość to sin(3) = sin(32/3) ≈ 0,141. Zauważ, że wyjście powstaje przez odjęcie dwóch dużych, prawie równych wkładów — wrócimy do tego przy czytelności.
2. Uczenie hybrydowe
Chcemy zminimalizować błąd średniokwadratowy na danych treningowych. Dałoby się to zrobić w całości spadkiem gradientu. Jang zauważył jednak, że wyjście jest w parametrach następników liniowe.
Definicja — błąd średniokwadratowy i RMSE
Dla danych (x1, y1), …, (xN, yN) i wyjścia modelu ŷ(x) błąd średniokwadratowy to E = (1/N) ∑k (ŷ(xk) − yk)2, a RMSE (root mean square error) to jego pierwiastek √E. Minimalizowanie jednego lub drugiego to to samo; RMSE podaje się jednak dlatego, że ma jednostki wyjścia. Wszystkie błędy w tej części to RMSE.
RMSE = √( (1/N) ∑k (ŷ(xk) − yk)2 )
- ŷ(xk)
- prognoza systemu w k-tym punkcie — jedyne miejsce, którym do błędu wchodzą parametry c, σ, p, r
- − yk, potem do kwadratu
- odchylenie od zmierzonej wartości, podniesione do kwadratu — znak nie gra roli, duże błędy ważą więcej niż małe, a kwadrat da się gładko różniczkować (a dla następników pozwala na dokładne rozwiązanie metodą najmniejszych kwadratów)
- (1/N) ∑k
- średnia po punktach — błąd na 40 punktach treningowych i na 121 testowych jest wtedy porównywalny
Algorytm — uczenie hybrydowe
Przy ustalonych przesłankach y(x) = ∑i (w̄ix) pi + w̄i ri jest liniową funkcją parametrów następników. W każdej epoce zatem:
- w przód: policz w̄i dla wszystkich danych i znajdź parametry następników dokładnie metodą najmniejszych kwadratów;
- wstecz: z tak znalezionymi następnikami wykonaj krok spadku gradientu dla środków ci i szerokości σi.
Tam, gdzie zadanie da się rozwiązać dokładnie, rozwiąż je dokładnie; gradient zostaw tylko dla tego, czego dokładnie rozwiązać się nie da. Regresja liniowa z części o statystyce znajduje najlepszą prostą jednym obliczeniem — a tutaj znajduje naraz najlepsze liniowe następniki wszystkich reguł. Gradient potem już tylko przesuwa i poszerza pagórki funkcji przynależności.
Definicja — najmniejsze kwadraty dla następników
Przy ustalonych ci, σi wartości w̄i(xk) są zwykłymi liczbami. Ułóżmy parametry następników w wektor θ = (p1, r1, …, pn, rn) i dla każdego punktu zbudujmy wiersz
ak = (w̄1xk, w̄1, …, w̄nxk, w̄n), tak że ŷ(xk) = ak · θ.
Wiersze tworzą macierz A (N × 2n), a błąd to ‖Aθ − y‖2/N. Jego minimum spełnia równania normalne ATA θ = ATy — układ 2n równań liniowych. Dla 4 reguł i 40 punktów A jest macierzą 40 × 8, a układ ma 8 równań. Nasze obliczenie dodaje do przekątnej ATA jeszcze 10−6 (mały człon grzbietowy), aby układ był rozwiązywalny także przy prawie zależnych kolumnach, i rozwiązuje go eliminacją Gaussa.
Twierdzenie — gradient względem środka i szerokości
Oznaczmy gi = pix + ri i W = ∑j wj. Z ŷ = ∑j wjgj / W wynika z pochodnej ilorazu ∂ŷ/∂wi = (gi − ŷ)/W. Pochodne gaussowskiego pagórka to ∂wi/∂ci = wi(x − ci)/σi2 i ∂wi/∂σi = wi(x − ci)2/σi3. Z reguły łańcuchowej
∂E/∂ci = (2/N) ∑k (ŷ − yk) (gi − ŷ) w̄i (xk − ci)/σi2,
∂E/∂σi = (2/N) ∑k (ŷ − yk) (gi − ŷ) w̄i (xk − ci)2/σi3,
gdzie ŷ, gi i w̄i bierze się w punkcie xk.
∂E/∂ci = (2/N) ∑k (ŷ − yk) (gi − ŷ) w̄i (xk − ci)/σi2
- ∂E/∂ci
- jak zmieni się błąd, gdy przesuniemy środek i-tego pagórka — krok uczenia idzie przeciw temu znakowi
- ŷ − yk
- błąd w punkcie — tam, gdzie system trafia, punkt niczego nie chce i do gradientu nic nie wnosi
- gi − ŷ
- czym następnik reguły różni się od całkowitego wyjścia — dodanie regule wagi ciągnie wyjście ku jej następnikowi; gdy następnik mówi to samo co całość, przesuwanie pagórka nie ma sensu
- w̄i
- udział reguły w wyjściu — punkty daleko od pagórka, gdzie reguła prawie nie ma głosu, prawie nie wpływają na jej środek
- (xk − ci)/σi2
- kierunek przesunięcia — punkt na prawo od środka ciągnie pagórek w prawo, na lewo w lewo; w samym środku pagórek jest płaski i przesunięcie niczego nie zmienia
Całe uczenie z przykładu poniżej w pseudokodzie (krok η = 0,1, 300 epok):
c = środki równomiernie na [0, 6] # dla 4 reguł 0, 2, 4, 6
σ = połowa odstępu środków # dla 4 reguł 1
for epocha in 0 … 300:
# w przód: warstwy 1–3, potem następniki dokładnie najmniejszymi kwadratami
wn[k][i] = w̄_i(x_k) dla wszystkich punktów k i reguł i
A = wiersze (wn[k][1]·x_k, wn[k][1], …, wn[k][n]·x_k, wn[k][n])
p, r = rozwiąż (AᵀA + 10⁻⁶·I)·θ = Aᵀy
if epocha == 300: break
# wstecz: krok gradientu według wzorów powyżej
gc, gσ = ∂E/∂c, ∂E/∂σ
c = c − η·gc
σ = max(0,05; σ − η·gσ) # pagórek nie może zniknąć
3. ANFIS uczy się funkcji
Zadanie: z 40 zaszumionych próbek (szum o odchyleniu standardowym 0,1) nauczyć się funkcji y = sin(x2/3) na przedziale [0, 6]. Funkcja w prawo faluje coraz szybciej, więc cztery reguły rozmieszczone równomiernie nie są idealne. Błąd mierzymy także na 121 punktach bez szumu spoza danych treningowych:
Już w zerowej epoce — tylko z najmniejszymi kwadratami dla następników i równomiernymi pagórkami — błąd na teście wynosi 0,394, a na danych treningowych 0,198. Potem zaczynają się uczyć przesłanki. Po 100 epokach błąd na teście wynosi 0,202, a po 300 epokach 0,173. Na danych treningowych spada do 0,107 — poniżej poziomu szumu w danych (0,114); rozsądnie lepiej się nie da. Środki pagórków przesunęły się przy tym tylko nieznacznie; główna zmiana dotyczy szerokości — ostatnia reguła po prawej, gdzie funkcja faluje najszybciej, zwęziła się z 1 do 0,64.
Definicja — poziom szumu w danych
Punkty treningowe to yk = f(xk) + εk, gdzie f(x) = sin(x2/3), a εk to niezależne losowe odchylenia z rozkładu normalnego o odchyleniu standardowym 0,1. Poziom szumu to RMSE, jakie na danych treningowych miałaby sama prawdziwa funkcja: √((1/40) ∑k εk2) = 0,114. Jest nieco większy niż 0,1 tylko przypadkiem — w naszych 40 wylosowanych odchyleniach.
Model, który na danych treningowych ma błąd mniejszy niż poziom szumu (0,107 < 0,114), zaczyna już kopiować także losowe odchylenia. Przy tak małej różnicy to jeszcze nie szkodzi — błąd na teście dalej spada — ale to pierwsze ostrzeżenie, do którego wrócimy przy liczbie reguł.
Czysty spadek gradientu dla wszystkich parametrów zaczyna od zerowych następników i uczy się znacznie wolniej: po 300 epokach ma błąd na teście 0,387 i nawet po 3 000 epokach (0,188) nie dogania uczenia hybrydowego po 300. Większy krok uczenia w dodatku szybko prowadzi do rozbieżności. Podzielenie zadania na część liniową i nieliniową się opłaca.
4. Ile reguł?
| Liczba reguł | 2 | 3 | 4 | 6 | 8 | 12 |
|---|---|---|---|---|---|---|
| Błąd na danych treningowych | 0,510 | 0,181 | 0,107 | 0,098 | 0,089 | 0,085 |
| Błąd na teście | 0,590 | 0,177 | 0,173 | 0,172 | 0,566 | 0,319 |
Wraz z przybywaniem reguł błąd na danych treningowych ciągle spada. Na teście jednak od ośmiu reguł gwałtownie rośnie — system zaczął uczyć się szumu: przy 40 punktach i 32 parametrach (8 reguł × 4) ma dość swobody, by między punktami treningowymi dziko oscylować. To jest przeuczenie, to samo zjawisko co przy zbyt wygiętej regresji wielomianowej. Rozsądna liczba reguł leży tutaj między trzema a sześcioma.
Przykład — ile parametrów ma ANFIS
Przy jednym wejściu każda reguła ma dwa parametry przesłanki (ci, σi) i dwa parametry następnika (pi, ri), razem 4n. Na 40 punktów treningowych:
- 4 reguły: 16 parametrów, z czego 8 liniowych — na każdy parametr liniowy przypada 5 punktów;
- 8 reguł: 32 parametry, z czego 16 liniowych — 2,5 punktu na parametr liniowy, więc najmniejsze kwadraty mają dość swobody, by dopasować się także do szumu;
- 12 reguł: 48 parametrów — więcej, niż jest punktów. Najmniejsze kwadraty wyznaczają wprawdzie „tylko” 24 następniki z 40 równań, ale kolejne 24 parametry przesłanek mogą przesunąć i zwęzić pagórki dokładnie tam, gdzie szum akurat odskoczył.
Przydatna reguła kciuka: punktów powinno być co najmniej kilka razy więcej niż parametrów, które się z nich szacuje.
5. Co da się odczytać
Obietnicą systemów neuro-rozmytych jest to, że nauczony model pozostanie czytelny. Przesłanki są czytelne: cztery reguły „około 0”, „około 2,2”, „około 4” i „około 6,2”. Następniki jednak nie. Reguła „JEŻELI x jest około 2,2, TO y = 10,06 x − 13,83” przewidywałaby w swoim środku 8,25, podczas gdy prawdziwa wartość to 1,0. Poszczególne reguły nawzajem się równoważą — pagórki mocno się nakładają, a wyjście ma sens dopiero jako całość.
Przykład — jak reguły się równoważą w punkcie x = 2,195
Nauczony środek drugiej reguły to c2 = 2,195. Tam druga reguła ma pełną przynależność (w2 = 1), ale sąsiednie nie zerową: w = (0,140; 1; 0,331; 0,000), suma 1,471, więc
| Reguła | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| waga w̄i | 0,095 | 0,680 | 0,225 | 0,000 |
| następnik gi | 12,64 | 8,25 | −25,64 | −31,68 |
| wkład w̄igi | 1,203 | 5,609 | −5,769 | 0,000 |
Suma wynosi y = 1,203 + 5,609 − 5,769 = 1,043, prawdziwa wartość sin(2,1952/3) = 0,999. Wyjście jest dobre, ale powstaje jako różnica dwóch wkładów około ±5,7: druga reguła „przestrzeliwuje” w górę, a trzecia ściąga ją w dół. Żadna z reguł sama w sobie nie mówi, ile wynosi y.
Interpretowalność nie jest więc za darmo. Utrzymać ją pomagają ograniczenia: mniejsze nakładanie się funkcji przynależności, regularyzacja następników albo Sugeno zerowego rzędu ze stałymi następnikami. Płaci się za to dokładnością. To ta sama równowaga co wszędzie w uczeniu maszynowym — między tym, co model potrafi, a tym, co potrafimy o nim powiedzieć.
6. ANFIS a sieci neuronowe
- Pokrewieństwo z sieciami RBF. Jang i Sun w 1993 roku pokazali, że sieci z radialnymi funkcjami bazowymi i systemy rozmyte Sugeno zerowego rzędu są przy łagodnych warunkach tym samym, tylko inaczej interpretowanym.
- Przekleństwo wymiarowości. Przy n wejściach i k termach na wejście siatka reguł ma kn reguł — dla 10 wejść i 3 termów ponad 59 tysięcy. Dlatego ANFIS stosuje się przy niewielu wejściach albo z regułami wybranymi przez klasteryzację (na przykład fuzzy c-means z poprzedniej części).
- Zastosowania. Prognozy szeregów czasowych (klasycznym testem jest chaotyczny szereg Mackeya–Glassa), modelowanie i sterowanie układami, dla których mamy zmierzone dane, ale mało teorii.
- Dziś. Głębokie sieci dawno przejęły zadania z wieloma wejściami. Idea „uczalne, ale czytelne” żyje jednak dalej w wyjaśnialnej AI — a warstwy rozmyte czasem dodaje się także do głębokich sieci tam, gdzie wyjście trzeba wyjaśnić regułami.
Definicja — sieć z radialnymi funkcjami bazowymi (RBF)
Znormalizowana sieć RBF z n neuronami ukrytymi oblicza
y(x) = ∑i vi φ(‖x − ci‖) / ∑j φ(‖x − cj‖),
gdzie φ jest malejącą funkcją odległości od środka ci (zwykle gaussowską), a vi to wagi wyjściowe. System Sugeno zerowego rzędu z gaussowskimi przynależnościami i iloczynem jako „i zarazem” to y = ∑i w̄i ri — po podstawieniu wi = φ(‖x − ci‖) i vi = ri dokładnie ten sam wzór. W uproszczeniu: reguła = neuron, funkcja przynależności = funkcja bazowa, następnik = waga wyjściowa. (Jang i Sun, 1993, wymieniają warunki dokładnie: ta sama liczba reguł i neuronów, stałe następniki, gaussowskie przynależności, w obrębie jednej reguły o tej samej szerokości, iloczyn jako „i zarazem” i ten sam sposób składania wyjścia — średnia ważona albo suma ważona.)
Przykład — przekleństwo wymiarowości w liczbach
Przy n wejściach i k termach na każde wejście pełna siatka ma kn reguł. Następnik Sugeno pierwszego rzędu y = p1x1 + … + pnxn + r ma n + 1 parametrów, więc parametrów liniowych jest kn(n + 1). Parametrów przesłanek jest tylko 2kn — każde wejście ma swoich k pagórków, wspólnych dla wszystkich reguł.
Dla n = 10 i k = 3: 310 = 59 049 reguł, 59 049 · 11 = 649 539 parametrów następników i 2 · 3 · 10 = 60 parametrów przesłanek. Najmniejsze kwadraty rozwiązywałyby układ z 649 539 niewiadomymi — a danych potrzeba by jeszcze znacznie więcej.
7. Podsumowanie
- ANFIS to system rozmyty Sugeno zapisany jako pięciowarstwowa sieć: przynależność, siła, normalizacja, następnik, suma.
- Uczenie hybrydowe znajduje liniowe następniki dokładnie najmniejszymi kwadratami, a środki i szerokości funkcji przynależności dostraja gradientem.
- Na funkcji sin(x2/3) uczenie przesłanek obniżyło błąd na teście z 0,394 do 0,173; czysty gradient potrzebował dziesięć razy więcej epok, by osiągnąć gorszy wynik.
- Zbyt wiele reguł prowadzi do przeuczenia — od ośmiu reguł błąd na teście gwałtownie rośnie.
- Przesłanki pozostają czytelne, ale następniki nawzajem się równoważą; interpretowalności trzeba pilnować.
Tą częścią kończy się moduł o logice rozmytej: od słowa „ciepło” przez logikę i regulatory aż po system, który sam uczy się reguł. Chcesz to wypróbować na własnej skórze? Poproś agenta AI, żeby nauczył ANFIS zużycia energii elektrycznej w zależności od temperatury na publicznych danych — a potem sprawdź, które reguły mają sens.
Masz inne zdanie? Napisz na support@coden-app.com.