Preskočiť na obsah
coden

Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát

Sugenov fuzzy systém ako päťvrstvová sieť, hybridné učenie najmenšími štvorcami a gradientom, učenie funkcie zo zašumených dát, voľba počtu pravidiel a preučenie, čitateľnosť naučených pravidiel a vzťah k sieťam RBF.

13 minút Matěj Žalmánek 2026-10-15

Séria Základy AI Diel 37 z 52
  1. Mapa umelej inteligencie: čo je čo a ako to do seba zapadá
  2. Stručná história umelej inteligencie: od Turinga po jazykové modely
  3. Dáta, model, tréning, inferencia: základné pojmy na jednom príklade
  4. Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
  5. Množiny a relácie: stavebnica, z ktorej sa skladajú definície v AI
  6. Funkcie a zobrazenia: prečo je každý model v AI funkcia
  7. Logika a dôkazy: pravidlá, podľa ktorých sa v AI uvažuje
  8. Grafy a stromy: štruktúra, na ktorej stojí hľadanie aj neurónové siete
  9. Lineárna algebra pre strojové učenie: vektory, matice a prečo AI hlavne násobí
  10. Derivácie, gradient a reťazové pravidlo: ako model zistí, ktorým smerom sa učiť
  11. Gradientný zostup: ako sa model učí
  12. Čo je pravdepodobnosť: od hodu kockou ku Kolmogorovovým axiómam
  13. Podmienená pravdepodobnosť a Bayesova veta: ako zmeniť odhad, keď sa dozviete niečo nové
  14. Náhodná premenná a distribučná funkcia: jedna funkcia, ktorá o rozdelení povie všetko
  15. Funkcia hustoty a pravdepodobnostná funkcia: prečo má spojitá premenná v bode pravdepodobnosť nula
  16. Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí
  17. Prehľad pravdepodobnostných rozdelení: Bernoulliho, binomické, Poissonovo, rovnomerné, normálne a exponenciálne
  18. Zákon veľkých čísel a centrálna limitná veta: prečo sa priemery správajú tak predvídateľne
  19. Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti
  20. Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie
  21. Prehľadávanie stavového priestoru: BFS, DFS, UCS a A* s animáciami
  22. Hry a protivník: minimax, alfa-beta orezávanie a Monte Carlo tree search
  23. Splňovanie obmedzujúcich podmienok: backtracking, propagácia obmedzení a AC-3 na sudoku a mape krajov
  24. Logika a znalostné systémy: dopredné a spätné reťazenie, rezolúcia a expertné systémy
  25. Plánovanie: STRIPS, svet kociek, heuristiky z relaxácie a plánovanie v AI agentoch
  26. Lokálne hľadanie a simulované žíhanie: obchodný cestujúci cez krajské mestá
  27. Genetické algoritmy: populácia, kríženie, mutácia a výber na batohu na výlet
  28. Evolučné stratégie a genetické programovanie: od pravidla jednej pätiny po Keplerov zákon
  29. Optimalizácia mravčou kolóniou: ako feromónová stopa nájde krátku cestu
  30. Optimalizácia rojom častíc: zotrvačnosť, vlastná skúsenosť a skúsenosť roja
  31. Neuroevolúcia: evolúcia váh aj tvaru neurónových sietí a algoritmus NEAT
  32. Fuzzy množiny a funkcie príslušnosti: ako zapísať „trochu teplo“
  33. Fuzzy logika a pravdepodobnosť: prečo „trochu teplo“ neznamená „pravdepodobne teplo“
  34. Fuzzy logika: t-normy, implikácie a pravidlá AK–TAK
  35. Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku
  36. Fuzzy zhlukovanie: algoritmus fuzzy c-means a body medzi zhlukmi
  37. Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát
  38. Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank
  39. Skryté Markovove modely: Viterbiho algoritmus a nepoctivé kasíno
  40. Bayesovské siete: prečo je tráva mokrá a čo z toho vyplýva pre postrekovač
  41. Kalmanov filter: ako z nepresných meraní odhadnúť, kde auto je a ako rýchlo ide
  42. Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
  43. Prompty, kontext a RAG: ako modelu dať správne informácie
  44. Variačné autoenkodéry (VAE): nové obrázky zo spojitého latentného priestoru
  45. Generatívne adversariálne siete (GAN): falšovateľ proti detektívovi
  46. Difúzne modely: ako sa z čistého šumu stane obrázok
  47. Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
  48. Q-learning a DQN: učenie hodnoty akcií od tabuľky po neurónovú sieť
  49. Policy gradient a PPO: učenie priamo stratégie
  50. Ako funguje AI agent: jazykový model v slučke s nástrojmi
  51. Programovanie s AI agentmi: zadanie, testy a kontrola
  52. Vyhodnocovanie a bezpečnosť AI systémov: ako merať a ako strážiť

Celá osnova série Hotovo: 52 z 83 tém

Čo si odnesiete
  • Ako sa Sugenov fuzzy systém zapíše ako sieť a ktoré parametre sa v nej učia.
  • Prečo hybridné učenie (najmenšie štvorce plus gradient) predbehne čistý gradientný zostup.
  • Prečo s pribúdajúcimi pravidlami hrozí preučenie a čo zostane z čitateľnosti naučených pravidiel.

Čo sa hodí vedieť vopred: Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku, Gradientný zostup: ako sa model učí

Fuzzy regulátory z minulých dielov mali jednu slabinu: pravidlá aj funkcie príslušnosti musel niekto vymyslieť. Keď skúsený operátor existuje, je to výhoda. Keď nie — alebo keď má systém kopírovať namerané dáta —, je to problém. Neurónové siete majú opačnú povahu: naučia sa čokoľvek z dát, ale čo sa naučili, nikto neprečíta. V roku 1993 spojil Jyh-Shing Roger Jang oboje do systému ANFIS (Adaptive Neuro-Fuzzy Inference System): Sugenov fuzzy systém zapísaný ako sieť, ktorej parametre sa učia z dát. Týmto dielom sa končí modul o fuzzy logike.

Nadväzuje na diely Fuzzy riadenie: Mamdani a Sugeno a Gradientný zostup.

1. Fuzzy systém ako sieť

Vezmime Sugenov systém prvého rádu s jedným vstupom a štyrmi pravidlami „AK x je Ai, TAK y = pix + ri“. Každý krok jeho výpočtu je vrstva siete:

x A1 w N f1 A2 w N f2 A3 w N f3 A4 w N f4 ∑ y 1. príslušnosť μ_A(x) c, σ 2. sila w_i — 3. normalizácia w_i / ∑ w — 4. záver w̄ (p x + r) p, r 5. súčet ∑ —
ANFIS s jedným vstupom a štyrmi pravidlami; oranžovo vrstvy s učenými parametrami
Definícia — ANFIS (Jang, 1993)

Nech n ≥ 1 je počet pravidiel a pre každé i = 1, …, n sú dané parametre predpokladov ci ∈ ℝ, σi > 0 a parametre záverov pi, ri ∈ ℝ. ANFIS s jedným vstupom a n pravidlami „AK x je Ai, TAK y = pix + ri“ je funkcia y : ℝ → ℝ, ktorej hodnota vo vstupe x ∈ ℝ sa počíta v piatich vrstvách (pre i = 1, …, n):

  1. Príslušnosť: μi(x) = exp(−(x − ci)2/2σi2) ∈ (0, 1] — gaussovská funkcia príslušnosti termu Ai so stredom ci a šírkou σi.
  2. Sila pravidla: wi = μi(x) (s viacerými vstupmi súčin príslušností všetkých podmienok pravidla).
  3. Normalizácia: w̄i = wi/∑j=1n wj (menovateľ je kladný, pretože každé wj > 0).
  4. Záver: w̄i · (pix + ri).
  5. Súčet: y(x) = ∑i=1n w̄i (pix + ri).

Je to teda výstup regulátora Takagi–Sugeno prvého rádu so súčinom ako t-normou, len zapísaný ako sieť; vrstvy 1 a 4 obsahujú učené parametre.

Laicky povedané

Je to presne Sugenov regulátor z minulého dielu, len nakreslený ako sieť. Každé pravidlo má „oblasť pôsobnosti“ (gaussovský kopec) a v nej lineárnu predpoveď. Výstup je vážený priemer predpovedí podľa toho, ako veľmi je vstup v oblasti ktorého pravidla. Celý systém je derivovateľný, a tak sa dá učiť rovnako ako neurónová sieť.

y = ∑i wi/∑j wj · (pix + ri)

y
výstup celého systému pre vstup x — to, čo porovnávame s dátami a čím sa meria chyba
∑i
súčet cez všetky pravidlá — každé prispeje, žiadne sa „nevyberá“; preto je výstup hladký a dá sa derivovať
wi/∑j wj
normalizovaná sila w̄i — delenie súčtom zaistí, že váhy dajú dokopy 1, takže výstup je vážený priemer záverov a nezávisí od toho, aké vysoké sú kopce
pix + ri
lineárny záver pravidla — miestna priamka, ktorá funkciu opisuje v oblasti pravidla; priamka namiesto konštanty dovolí s málo pravidlami sledovať aj sklon
Výstup je priemer miestnych priamok vážený tým, ako veľmi vstup patrí do oblasti ktorého pravidla.

μi(x) = exp( − (x − ci)2/2σi2 )

μi(x)
stupeň príslušnosti z [0, 1] — ako veľmi je x „okolo ci“; exponenciála záporného čísla je vždy medzi 0 a 1 a v strede je presne 1
(x − ci)2
štvorec vzdialenosti od stredu — príslušnosť klesá na obe strany rovnako a je hladká aj v strede (s absolútnou hodnotou by tam mala hrot a derivácia by neexistovala)
2σi2
šírka kopca — vzdialenosť sa meria v jednotkách σi, takže vo vzdialenosti σi od stredu je príslušnosť vždy exp(−1/2) ≈ 0,61; učením σi sa mení, ako ďaleko pravidlo „dosiahne“
Príklad — dopredný prechod v bode x = 3

Vezmime systém po nultej epoche učenia (pozri nižšie): stredy c = 0, 2, 4, 6, všetky šírky σ = 1 a závery z najmenších štvorcov. Pre x = 3 sú vzdialenosti od stredov 3, 1, 1, 3, a teda

  1. príslušnosť a sila (farby podľa vzorca pre μi): w1 = exp(−32/2 · 12) = e−4,5,   w2 = exp(−12/2 · 12) = e−0,5 a súmerne w3 = e−0,5, w4 = e−4,5; teda w = (0,0111; 0,6065; 0,6065; 0,0111);
  2. normalizácia (farby od tohto kroku podľa vzorca pre y): súčet je 1,2353, takže w̄ = (0,0090; 0,4910; 0,4910; 0,0090), napr. w̄2 = 0,6065/1,2353;
  3. závery: priamky pix + ri s naučenými koeficientmi (9,54x + 0,01; 9,34x − 17,38; 8,56x − 36,61; 2,60x − 18,90) majú v bode 3 hodnoty (28,63; 10,66; −10,94; −11,09) — koeficienty sú zaokrúhlené, hodnoty vypočítané z presných;
  4. súčet súčinov w̄i · (pix + ri): y = 0,2574 + 5,2329 − 5,3698 − 0,0997 ≈ 0,021.

Skutočná hodnota je sin(3) = sin(32/3) ≈ 0,141. Všimnite si, že výstup vzniká odčítaním dvoch veľkých, takmer rovnakých príspevkov — k tomu sa vrátime pri čitateľnosti.

2. Hybridné učenie

Chceme minimalizovať strednú kvadratickú chybu na trénovacích dátach. Dalo by sa to celé gradientným zostupom. Jang si však všimol, že výstup je v parametroch záverov lineárny.

Definícia — stredná kvadratická chyba a RMSE

Nech N ≥ 1, (x1, y1), …, (xN, yN) ∈ ℝ × ℝ sú dáta a ŷ : ℝ → ℝ model (jeho výstup pre vstup x je ŷ(x)). Stredná kvadratická chyba modelu ŷ na týchto dátach je číslo

E = 1/N ∑k=1N (ŷ(xk) − yk)2 ≥ 0

a RMSE (root mean square error) je jej odmocnina, RMSE = √E. Minimalizovať jednu alebo druhú je to isté; RMSE sa však uvádza, pretože má jednotky výstupu. Všetky chyby v tomto diele sú RMSE.

RMSE = √1/N ∑k (ŷ(xk) − yk)2

ŷ(xk)
predpoveď systému v k-tom bode — jediné miesto, kadiaľ do chyby vstupujú parametre c, σ, p, r
− yk, potom na druhú
odchýlka od nameranej hodnoty, umocnená — znamienko nehrá rolu, veľké chyby vážia viac ako malé a štvorec sa dá hladko derivovať (a pre závery dovolí presné riešenie najmenšími štvorcami)
1/N ∑k
priemer cez body — chyba na 40 trénovacích a na 121 testovacích bodoch je potom porovnateľná
Odmocnina na konci vracia chybu do jednotiek y: RMSE 0,1 znamená „typicky o 0,1 vedľa“.
Algoritmus — hybridné učenie

Pri pevných predpokladoch je y(x) = ∑i ((w̄ix) pi + w̄i ri) lineárna funkcia parametrov záverov. Na tom stojí tento algoritmus.

Vstup: trénovacie dáta (xk, yk) ∈ ℝ × ℝ, k = 1, …, N; počet pravidiel n; počiatočné stredy ci ∈ ℝ a šírky σi > 0; krok učenia η > 0; počet epoch T ∈ ℕ; najmenšia povolená šírka σmin > 0. Výstup: parametre ci, σi, pi, ri, i = 1, …, n. Pre epochy t = 0, 1, …, T opakuj:

  1. dopredu: vypočítaj w̄i(xk) pre všetky i a k a parametre záverov pi, ri nájdi presne metódou najmenších štvorcov (definícia nižšie);
  2. zastavenie: ak t = T, skonči a vráť parametre;
  3. dozadu: s takto nájdenými závermi urob krok gradientného zostupu pre stredy a šírky (gradienty podľa vety nižšie): ci ← ci − η ∂E/∂ci,    σi ← max(σmin, σi − η ∂E/∂σi).

V príklade tohto dielu je η = 0,1, T = 300 a σmin = 0,05.

Laicky povedané

Tam, kde sa úloha dá vyriešiť presne, ju presne vyriešte; gradient nechajte len na to, čo presne vyriešiť nejde. Lineárna regresia z dielu o štatistike nájde najlepšiu priamku jedným výpočtom — a tu nájde naraz najlepšie lineárne závery všetkých pravidiel. Gradient potom len posúva a rozširuje kopce funkcií príslušnosti.

Definícia — najmenšie štvorce pre závery

Nech (xk, yk) ∈ ℝ × ℝ, k = 1, …, N, sú trénovacie dáta, n ≥ 1 počet pravidiel a parametre predpokladov ci, σi pevné. Potom sú w̄i(xk) len čísla (skrátene w̄i). Zoraďme parametre záverov do vektora θ = (p1, r1, …, pn, rn) ∈ ℝ2n a pre každý bod k zostavme riadok

ak = (w̄1xk, w̄1, …, w̄nxk, w̄n) ∈ ℝ2n,   takže   ŷ(xk) = ak · θ.

Riadky a1, …, aN tvoria maticu A ∈ ℝN×2n a y = (y1, …, yN) ∈ ℝN. Riešenie metódou najmenších štvorcov je vektor

θ* ∈ argminθ ∈ ℝ2n ‖Aθ − y‖2/N,

t. j. parametre záverov s najmenšou strednou kvadratickou chybou. Každé také θ* spĺňa normálne rovnice ATA θ = ATy — sústavu 2n lineárnych rovníc (a naopak každé ich riešenie je minimom; jediné je práve vtedy, keď má A lineárne nezávislé stĺpce). Pre 4 pravidlá a 40 bodov je A matica 40 × 8 a sústava má 8 rovníc. Náš výpočet pripočítava k diagonále ATA ešte 10−6 (malý hrebeňový člen), aby bola sústava riešiteľná aj pri takmer závislých stĺpcoch, a rieši ju Gaussovou elimináciou.

Veta — gradient podľa stredu a šírky

Nech (xk, yk) ∈ ℝ × ℝ, k = 1, …, N, sú dáta a ŷ ANFIS s n pravidlami a parametrami ci ∈ ℝ, σi > 0, pi, ri ∈ ℝ. Nech E je jeho stredná kvadratická chyba na dátach, chápaná ako funkcia všetkých parametrov, a pre vstup x označme wi = exp(−(x − ci)2/2σi2), W = ∑j wj, w̄i = wi/W a gi = pix + ri. Potom pre každé i = 1, …, n

∂E/∂ci = 2/N ∑k=1N (ŷ − yk) (gi − ŷ) w̄i xk − ci/σi2,

∂E/∂σi = 2/N ∑k=1N (ŷ − yk) (gi − ŷ) w̄i (xk − ci)2/σi3,

kde ŷ, gi a w̄i sa berú v bode x = xk.

Dôkaz. Zo ŷ = ∑j wjgj/W vyplýva derivovaním podielu ∂ŷ/∂wi = giW − ∑j wjgj/W2 = gi − ŷ/W. Derivácie gaussovského kopca sú ∂wi/∂ci = wi x − ci/σi2 a ∂wi/∂σi = wi (x − ci)2/σi3, a parametre ci, σi ovplyvňujú ŷ len cez wi. Reťazovým pravidlom ∂E/∂ci = 2/N ∑k (ŷ − yk) · gi − ŷ/W · wi xk − ci/σi2 a wi/W = w̄i dá prvý vzorec; druhý rovnako. ∎

∂E/∂ci = 2/N ∑k (ŷ − yk) (gi − ŷ) w̄i xk − ci/σi2

∂E/∂ci
ako sa zmení chyba, keď posunieme stred i-teho kopca — krok učenia ide proti tomuto znamienku
ŷ − yk
chyba v bode — kde systém trafí, tam bod nič nechce a do gradientu neprispeje
gi − ŷ
čím sa záver pravidla líši od celkového výstupu — pridať pravidlu váhu ťahá výstup k jeho záveru; keď záver hovorí to isté čo celok, posúvať kopec nemá zmysel
w̄i
podiel pravidla na výstupe — body ďaleko od kopca, kde pravidlo takmer nehovorí, jeho stred takmer neovplyvnia
xk − ci/σi2
smer posunu — bod vpravo od stredu ťahá kopec doprava, vľavo doľava; v samotnom strede je kopec plochý a posun nič nezmení
Pre šírku je vzorec rovnaký, len posledný člen je (xk − ci)2/σi3: vzdialené body chcú kopec rozšíriť alebo zúžiť, na smere nezáleží.

Celé učenie z príkladu nižšie v pseudokóde (krok η = 0,1, 300 epoch):

c = stredy rovnomerne na [0, 6]      # pre 4 pravidlá 0, 2, 4, 6
σ = polovica rozostupu stredov       # pre 4 pravidlá 1
for epocha in 0 … 300:
    # dopredu: vrstvy 1–3, potom závery presne najmenšími štvorcami
    wn[k][i] = w̄_i(x_k)  pre všetky body k a pravidlá i
    A = riadky (wn[k][1]·x_k, wn[k][1], …, wn[k][n]·x_k, wn[k][n])
    p, r = vyrieš (AᵀA + 10⁻⁶·I)·θ = Aᵀy
    if epocha == 300: break
    # dozadu: krok gradientu podľa vzorcov vyššie
    gc, gσ = ∂E/∂c, ∂E/∂σ
    c = c − η·gc
    σ = max(0,05; σ − η·gσ)  # kopec nesmie zaniknúť

3. ANFIS sa učí funkciu

Úloha: zo 40 zašumených vzoriek (šum so smerodajnou odchýlkou 0,1) sa naučiť funkciu y = sin(x2/3) na intervale [0, 6]. Funkcia sa doprava vlní čoraz rýchlejšie, takže štyri pravidlá rozmiestnené rovnomerne nie sú ideálne. Chybu meriame aj na 121 bodoch bez šumu mimo trénovacích dát:

−101 01 0123456 epocha 0 · chyba na teste 0,394 epocha 25 · chyba na teste 0,367 epocha 100 · chyba na teste 0,202 epocha 300 · chyba na teste 0,173 vstup x (bez jednotky) výstup y (bez jednotky) príslušnosť μ (0–1)
Učenie ANFIS so štyrmi pravidlami: hore výstup, dole funkcie príslušnosti

Hneď v nultej epoche — len s najmenšími štvorcami pre závery a rovnomernými kopcami — je chyba na teste 0,394 a na trénovacích dátach 0,198. Potom sa začnú učiť predpoklady. Po 100 epochách je chyba na teste 0,202 a po 300 epochách 0,173. Na trénovacích dátach klesne na 0,107 — pod úroveň šumu v dátach (0,114), lepšie to s rozumom nejde. Stredy kopcov sa pritom posunuli len málo; hlavná zmena je v šírkach — posledné pravidlo vpravo, kde sa funkcia vlní najrýchlejšie, sa zúžilo z 1 na 0,64.

Definícia — úroveň šumu v dátach

Nech f : ℝ → ℝ je skutočná funkcia, x1, …, xN ∈ ℝ vstupy a trénovacie výstupy sú yk = f(xk) + εk, k = 1, …, N, kde εk sú náhodné odchýlky (šum). Úroveň šumu v dátach je RMSE, ktorú by na trénovacích dátach mala sama skutočná funkcia f ako model:

√1/N ∑k=1N (f(xk) − yk)2 = √1/N ∑k=1N εk2.

V našom príklade je N = 40, f(x) = sin(x2/3) a εk sú nezávislé náhodné odchýlky z normálneho rozdelenia so strednou hodnotou 0 a smerodajnou odchýlkou 0,1; úroveň šumu vyšla √1/40 ∑k εk2 = 0,114. Je o niečo väčšia ako 0,1 len náhodou — v našich 40 vylosovaných odchýlkach.

Model, ktorý má na trénovacích dátach chybu menšiu ako úroveň šumu (0,107 < 0,114), už začína kopírovať aj náhodné odchýlky. Pri takom malom rozdiele to ešte nevadí — chyba na teste ďalej klesá —, ale je to prvé varovanie, ku ktorému sa vrátime pri počte pravidiel.

00,20,40,6 0100200300 epocha (počet prechodov dátami) chyba na teste (RMSE)
Chyba na teste: hybridné učenie proti čistému gradientu hybridné len gradient prerušovane šum v dátach

Čistý gradientný zostup pre všetky parametre začína pri nulových záveroch a učí sa oveľa pomalšie: po 300 epochách má chybu na teste 0,387 a ani po 3 000 epochách (0,188) nedobehne hybridné učenie po 300. Väčší krok učenia navyše rýchlo vedie k divergencii. Rozdeliť úlohu na lineárnu a nelineárnu časť sa oplatí.

4. Koľko pravidiel?

Počet pravidiel2346812
Chyba na trénovacích dátach0,5100,1810,1070,0980,0890,085
Chyba na teste0,5900,1770,1730,1720,5660,319

S pribúdajúcimi pravidlami chyba na trénovacích dátach stále klesá. Na teste však od ôsmich pravidiel prudko rastie — systém sa začal učiť šum: so 40 bodmi a 32 parametrami (8 pravidiel × 4) má dosť voľnosti, aby medzi trénovacími bodmi divoko kmital. To je preučenie, rovnaký jav ako pri príliš ohnutej polynomiálnej regresii. Rozumný počet pravidiel tu leží medzi tromi a šiestimi.

Príklad — koľko parametrov má ANFIS

S jedným vstupom má každé pravidlo dva parametre predpokladu (ci, σi) a dva parametre záveru (pi, ri), spolu 4n. Na 40 trénovacích bodov:

  • 4 pravidlá: 16 parametrov, z toho 8 lineárnych — na každý lineárny parameter pripadá 40/8 = 5 bodov;
  • 8 pravidiel: 32 parametrov, z toho 16 lineárnych — 40/16 = 2,5 bodu na lineárny parameter, a najmenšie štvorce tak majú dosť voľnosti preložiť aj šum;
  • 12 pravidiel: 48 parametrov — viac, než je bodov. Najmenšie štvorce síce určujú „len“ 24 záverov zo 40 rovníc, ale ďalších 24 parametrov predpokladov môže kopce presunúť a zúžiť presne tam, kde šum práve vybočil.

Užitočné pravidlo palca: bodov by malo byť aspoň niekoľkokrát viac než parametrov, ktoré sa z nich odhadujú.

5. Čo sa dá prečítať

Sľubom neuro-fuzzy systémov je, že naučený model zostane čitateľný. Predpoklady čitateľné sú: štyri pravidlá „okolo 0“, „okolo 2,2“, „okolo 4“ a „okolo 6,2“. Závery však nie. Pravidlo „AK x je okolo 2,2, TAK y = 10,06 x − 13,83“ by vo svojom strede predpovedalo 8,25, pritom skutočná hodnota je 1,0. Jednotlivé pravidlá sa navzájom vyvažujú — kopce sa veľmi prekrývajú a výstup dáva zmysel až ako celok.

Príklad — ako sa pravidlá vyvažujú v bode x = 2,195

Naučený stred druhého pravidla je c2 = 2,195. Tam má druhé pravidlo plnú príslušnosť (w2 = 1), ale susedia nie nulovú: w = (0,140; 1; 0,331; 0,000), súčet 1,471, takže napr. w̄2 = 1/1,471 ≈ 0,680 (farby podľa vzorca pre y v prvej časti, gi = pix + ri):

Pravidlo1234
váha w̄i0,0950,6800,2250,000
záver gi12,648,25−25,64−31,68
príspevok w̄igi1,2035,609−5,7690,000

Súčet je y = 1,203 + 5,609 − 5,769 = 1,043, skutočná hodnota sin(2,1952/3) = 0,999. Výstup je dobrý, ale vzniká ako rozdiel dvoch príspevkov okolo ±5,7: druhé pravidlo „prestreľuje“ nahor a tretie ho sťahuje nadol. Žiadne z pravidiel samo osebe nehovorí, koľko je y.

Interpretovateľnosť teda nie je zadarmo. Udržať ju pomáhajú obmedzenia: menšie prekrytie funkcií príslušnosti, regularizácia záverov alebo Sugeno nultého rádu s konštantnými závermi. Platí sa za to presnosťou. Je to rovnaká rovnováha ako všade v strojovom učení — medzi tým, čo model dokáže, a tým, čo o ňom dokážeme povedať.

6. ANFIS a neurónové siete

  • Príbuznosť so sieťami RBF. Jang a Sun v roku 1993 ukázali, že siete s radiálnymi bázovými funkciami a Sugenove fuzzy systémy nultého rádu sú za miernych podmienok to isté, len inak vyložené.
  • Prekliatie dimenzionality. S n vstupmi a k termami na vstup má mriežka pravidiel kn pravidiel — pre 10 vstupov a 3 termy vyše 59 tisíc. Preto sa ANFIS používa pre málo vstupov alebo s pravidlami vybranými zhlukovaním (napríklad fuzzy c-means z minulého dielu).
  • Aplikácie. Predpovede časových radov (klasickým testom je chaotický Mackeyho–Glassov rad), modelovanie a riadenie sústav, kde máme namerané dáta, ale málo teórie.
  • Dnes. Hlboké siete dávno prevzali úlohy s mnohými vstupmi. Myšlienka „učiteľné, ale čitateľné“ však žije ďalej vo vysvetliteľnej AI — a fuzzy vrstvy sa občas pridávajú aj do hlbokých sietí tam, kde treba výstup vyložiť pravidlami.
Definícia — sieť s radiálnymi bázovými funkciami (RBF)

Nech d ≥ 1 je počet vstupov, n ≥ 1 počet skrytých neurónov, c1, …, cn ∈ ℝd stredy, v1, …, vn ∈ ℝ výstupné váhy a φ : [0, ∞) → (0, ∞) klesajúca radiálna bázová funkcia (typicky gaussovská, φ(t) = exp(−t2/2σ2) s σ > 0). Normalizovaná sieť RBF je funkcia y : ℝd → ℝ,

y(x) = ∑i=1n vi φ(‖x − ci‖)/∑j=1n φ(‖x − cj‖),

kde ‖·‖ je euklidovská norma; menovateľ je kladný, pretože φ má kladné hodnoty. Výstup je teda vážený priemer výstupných váh, kde váha neurónu i klesá so vzdialenosťou vstupu od jeho stredu ci. Sugenov systém nultého rádu s gaussovskými príslušnosťami a súčinom ako „a zároveň“ je y = ∑i w̄i ri — po dosadení wi = φ(‖x − ci‖) a vi = ri presne ten istý vzorec. Zjednodušene povedané: pravidlo = neurón, funkcia príslušnosti = bázová funkcia, záver = výstupná váha. (Jang a Sun, 1993, vymenúvajú podmienky presne: rovnaký počet pravidiel a neurónov, konštantné závery, gaussovské príslušnosti, v rámci jedného pravidla s rovnakou šírkou, súčin ako „a zároveň“ a rovnaký spôsob skladania výstupu — vážený priemer alebo vážený súčet.)

Príklad — prekliatie dimenzionality v číslach

S n vstupmi a k termami na každý vstup má úplná mriežka kn pravidiel. Sugenov záver prvého rádu y = p1x1 + … + pnxn + r má n + 1 parametrov, takže lineárnych parametrov je kn(n + 1). Parametrov predpokladov je len 2kn — každý vstup má svojich k kopcov, zdieľaných všetkými pravidlami.

Pre n = 10 a k = 3: 310 = 59 049 pravidiel, 59 049 · 11 = 649 539 parametrov záverov a 2 · 3 · 10 = 60 parametrov predpokladov. Najmenšie štvorce by riešili sústavu so 649 539 neznámymi — a dát by bolo treba ešte oveľa viac.

7. Zhrnutie

  • ANFIS je Sugenov fuzzy systém zapísaný ako päťvrstvová sieť: príslušnosť, sila, normalizácia, záver, súčet.
  • Hybridné učenie nájde lineárne závery presne najmenšími štvorcami a stredy a šírky funkcií príslušnosti doladí gradientom.
  • Na funkcii sin(x2/3) znížilo učenie predpokladov chybu na teste z 0,394 na 0,173; čistý gradient potreboval desaťkrát viac epoch na horší výsledok.
  • Príliš veľa pravidiel vedie k preučeniu — od ôsmich pravidiel chyba na teste prudko rastie.
  • Predpoklady zostanú čitateľné, závery sa však navzájom vyvažujú; interpretovateľnosť treba strážiť.

Týmto dielom sa končí modul o fuzzy logike: od slova „teplo“ cez logiku a regulátory až k systému, ktorý sa pravidlá učí sám. Chcete si to vyskúšať? Nechajte AI agenta naučiť ANFIS spotrebu elektriny podľa teploty z verejných dát — a potom sa pozrite, ktoré pravidlá dávajú zmysel.

Máte na to iný názor? Napíšte na support@coden-app.com.

Agent na vašom počítači, ovládaný z telefónu