Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
Slovníček asi štyridsiatich symbolov, s ktorým prečítate každú definíciu v sérii Základy AI — od indexov a gréckych písmen cez ∑ a argmin po ∀ a ∃. S ťahákom na konci.
Séria Základy AI Diel 4 z 52
- Mapa umelej inteligencie: čo je čo a ako to do seba zapadá
- Stručná história umelej inteligencie: od Turinga po jazykové modely
- Dáta, model, tréning, inferencia: základné pojmy na jednom príklade
- Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
- Množiny a relácie: stavebnica, z ktorej sa skladajú definície v AI
- Funkcie a zobrazenia: prečo je každý model v AI funkcia
- Logika a dôkazy: pravidlá, podľa ktorých sa v AI uvažuje
- Grafy a stromy: štruktúra, na ktorej stojí hľadanie aj neurónové siete
- Lineárna algebra pre strojové učenie: vektory, matice a prečo AI hlavne násobí
- Derivácie, gradient a reťazové pravidlo: ako model zistí, ktorým smerom sa učiť
- Gradientný zostup: ako sa model učí
- Čo je pravdepodobnosť: od hodu kockou ku Kolmogorovovým axiómam
- Podmienená pravdepodobnosť a Bayesova veta: ako zmeniť odhad, keď sa dozviete niečo nové
- Náhodná premenná a distribučná funkcia: jedna funkcia, ktorá o rozdelení povie všetko
- Funkcia hustoty a pravdepodobnostná funkcia: prečo má spojitá premenná v bode pravdepodobnosť nula
- Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí
- Prehľad pravdepodobnostných rozdelení: Bernoulliho, binomické, Poissonovo, rovnomerné, normálne a exponenciálne
- Zákon veľkých čísel a centrálna limitná veta: prečo sa priemery správajú tak predvídateľne
- Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti
- Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie
- Prehľadávanie stavového priestoru: BFS, DFS, UCS a A* s animáciami
- Hry a protivník: minimax, alfa-beta orezávanie a Monte Carlo tree search
- Splňovanie obmedzujúcich podmienok: backtracking, propagácia obmedzení a AC-3 na sudoku a mape krajov
- Logika a znalostné systémy: dopredné a spätné reťazenie, rezolúcia a expertné systémy
- Plánovanie: STRIPS, svet kociek, heuristiky z relaxácie a plánovanie v AI agentoch
- Lokálne hľadanie a simulované žíhanie: obchodný cestujúci cez krajské mestá
- Genetické algoritmy: populácia, kríženie, mutácia a výber na batohu na výlet
- Evolučné stratégie a genetické programovanie: od pravidla jednej pätiny po Keplerov zákon
- Optimalizácia mravčou kolóniou: ako feromónová stopa nájde krátku cestu
- Optimalizácia rojom častíc: zotrvačnosť, vlastná skúsenosť a skúsenosť roja
- Neuroevolúcia: evolúcia váh aj tvaru neurónových sietí a algoritmus NEAT
- Fuzzy množiny a funkcie príslušnosti: ako zapísať „trochu teplo“
- Fuzzy logika a pravdepodobnosť: prečo „trochu teplo“ neznamená „pravdepodobne teplo“
- Fuzzy logika: t-normy, implikácie a pravidlá AK–TAK
- Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku
- Fuzzy zhlukovanie: algoritmus fuzzy c-means a body medzi zhlukmi
- Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát
- Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank
- Skryté Markovove modely: Viterbiho algoritmus a nepoctivé kasíno
- Bayesovské siete: prečo je tráva mokrá a čo z toho vyplýva pre postrekovač
- Kalmanov filter: ako z nepresných meraní odhadnúť, kde auto je a ako rýchlo ide
- Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
- Prompty, kontext a RAG: ako modelu dať správne informácie
- Variačné autoenkodéry (VAE): nové obrázky zo spojitého latentného priestoru
- Generatívne adversariálne siete (GAN): falšovateľ proti detektívovi
- Difúzne modely: ako sa z čistého šumu stane obrázok
- Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
- Q-learning a DQN: učenie hodnoty akcií od tabuľky po neurónovú sieť
- Policy gradient a PPO: učenie priamo stratégie
- Ako funguje AI agent: jazykový model v slučke s nástrojmi
- Programovanie s AI agentmi: zadanie, testy a kontrola
- Vyhodnocovanie a bezpečnosť AI systémov: ako merať a ako strážiť
Celá osnova série Hotovo: 52 z 83 tém
- Ako prečítať indexy, grécke písmená, ∑, argmin, ∀ a ∃ — a čo zvyčajne znamenajú v AI.
- Postup, ktorým rozoberiete akúkoľvek definíciu na časti a preložíte ju do slov.
- Ťahák všetkých symbolov, ktoré v sérii stretnete.
Matematický zápis vyzerá ako šifra, ale je to len skratka. Veta „sčítaj druhé mocniny všetkých čísel v zozname“ sa dá zapísať ako ∑i xi2 a znamená presne to isté — len je kratšia a nedá sa vyložiť dvojakým spôsobom.
Symbolov, ktoré stretnete v článkoch o umelej inteligencii, je prekvapivo málo — asi štyridsať. Tu ich prejdeme po skupinách, pri každom povieme, ako sa číta, a na konci prečítame pár skutočných definícií z ďalších dielov. Ťahák všetkých symbolov nájdete v poslednej kapitole.
1. Prečo matematika používa symboly
Prirodzený jazyk je dvojznačný. „Každý študent prečítal nejakú knihu“ môže znamenať, že každý prečítal inú knihu, alebo že všetci prečítali tú istú. V zápise ∀s ∃k a ∃k ∀s ide o dve rôzne vety a nikto si ich nepomýli. Zápis je presný, krátky a medzinárodný — vzorec z čínskej učebnice prečítate rovnako ako zo slovenskej.
Vzorec sa nečíta naraz ako obrázok, ale ako veta — zľava doprava, symbol po symbole. Keď narazíte na neznámy symbol, stačí ho nájsť v ťaháku a „preložiť“ do slov. Po pár definíciách to pôjde samo.
2. Premenné, indexy a grécke písmená
Premenná je písmeno, ktoré zastupuje číslo alebo iný objekt: x, y, n. Píše sa kurzívou. Keď máme hodnôt viac, rozlíšime ich indexom — malým číslom alebo písmenom vpravo dole:
- x1, x2, x3 — prvá, druhá, tretia hodnota („x jedna, x dva…“),
- xi — „i-ta“ hodnota („x i-té“), kde i môže byť ktorékoľvek číslo,
- Ai,j — prvok v i-tom riadku a j-tom stĺpci tabuľky (matice),
- x(i) — i-tý príklad v dátach; zátvorka odlíši index od mocniny x2.
Čiarka alebo strieška nad písmenom robí z jednej premennej príbuznú: s′ („s s čiarkou“) je ďalší stav po s, ŷ („y so strieškou“) je odhad skutočnej hodnoty y a x̄ („x s pruhom“) je priemer. Hviezdička označuje to najlepšie: θ* sú optimálne parametre, C* optimálna cena.
Latinských písmen je málo, a tak si matematika požičiava grécke. V AI majú niektoré zavedený význam — keď ich uvidíte, väčšinou viete, o čo ide:
| Znak | Číta sa | Obvykle znamená |
|---|---|---|
| α | alfa | rýchlosť učenia, krok algoritmu |
| β | beta | parameter (napríklad zotrvačnosť) |
| γ | gama | diskontný faktor — ako veľmi záleží na budúcnosti |
| δ, Δ | delta | malá zmena, rozdiel |
| ε | epsilon | veľmi malé kladné číslo; pravdepodobnosť náhodného prieskumu |
| η | éta | rýchlosť učenia v gradientnom zostupe |
| θ | théta | parametre modelu — tie „gombíky“, ktoré sa učia |
| λ | lambda | sila regularizácie |
| μ | mí | stredná hodnota, priemer; stred zhluku |
| π | pí | politika agenta (a tiež číslo 3,14…) |
| σ | sigma | smerodajná odchýlka; sigmoida |
3. Množiny v zápise
Množina je skupina prvkov; píše sa do zložených zátvoriek: {1, 2, 3} alebo {↑, →, ↓, ←}. Veľkými dvojitými písmenami sa označujú známe množiny čísel: ℕ prirodzené čísla (1, 2, 3, …), ℤ celé, ℝ reálne. ℝn sú všetky zoznamy n reálnych čísel — vektory.
- x ∈ S — „x patrí do S“, je jej prvkom; x ∉ S — nepatrí,
- A ⊆ B — „A je podmnožinou B“, všetko z A je aj v B,
- A ∪ B — zjednotenie (čo je aspoň v jednej), A ∩ B — prienik (čo je v oboch),
- A × B — karteziánsky súčin: všetky dvojice (a, b),
- ∅ — prázdna množina, |S| — počet prvkov,
- {x ∈ ℝ : x > 0} — „množina všetkých reálnych x, pre ktoré platí x > 0“; dvojbodka (alebo zvislá čiara) sa číta „pre ktoré platí“.
Okrúhle zátvorky naopak znamenajú usporiadanú skupinu, kde záleží na poradí: (3, 1) nie je to isté čo (1, 3). Tak sa píšu dvojice, súradnice a n-tice — napríklad úloha prehľadávania ako šestica (S, s0, A, T, G, c). Množinám a reláciám sa podrobne venuje samostatný diel.
4. Suma a súčin: ∑ a ∏
Definícia — suma a súčin
Nech m, n ∈ ℤ sú celé čísla a ai ∈ ℝ je reálne číslo pre každé celé i s m ≤ i ≤ n. Suma (súčet) a súčin čísel am, …, an sú čísla
∑i=mn ai := am + am+1 + … + an, ∏i=mn ai := am · am+1 · … · an pre m ≤ n,
∑i=mn ai := 0, ∏i=mn ai := 1 pre m > n (prázdna suma a prázdny súčin).
Bodky „…“ možno nahradiť presným zápisom rekurziou: pre n ≥ m je ∑i=mn ai = (∑i=mn−1 ai) + an a ∏i=mn ai = (∏i=mn−1 ai) · an.
Premenná pod znakom (i) je sčítací index; postupne nadobúda všetky celé hodnoty od dolnej hranice m po hornú hranicu n, každú práve raz.
Veľké sigma ∑ je cyklus „pre i od 1 do n pripočítaj“.
Veľké pí ∏ to isté, len sa násobí. Kto programuje, pozná to ako
for i in range(1, n + 1): total += a[i].
Vezmime zoznam x = (3, 1, 4, 1, 5), teda x1 = 3, x2 = 1 atď. Potom:
∑i=15 xi = 3 + 1 + 4 + 1 + 5 = 14
∑i=13 xi2 = 32 + 12 + 42 = 9 + 1 + 16 = 26
∏i=13 xi = 3 · 1 · 4 = 12
x̄ = 1/5 ∑i=15 xi = 14/5 = 2,8 — priemer (farby podľa vzorca nižšie)
Posledný riadok je vzorec, ktorý stretnete najčastejšie: 1/n ∑ je priemer. Keď pri sume chýbajú hranice (∑i), sčítava sa cez všetky i, ktoré dávajú zmysel — typicky cez všetky príklady v dátach.
x̄ = 1/n ∑i=1n xi
- x̄
- priemer — pruh nad písmenom hovorí „z hodnôt x vypočítané jedno typické číslo“
- 1/n
- vydelí súčet počtom hodnôt; bez neho by „priemer“ rástol s každou pridanou hodnotou a dva zoznamy rôznej dĺžky by sa nedali porovnať
- ∑i=1n
- prejde všetky indexy od 1 do n — hranice zaručia, že žiadna hodnota nechýba a žiadna sa nezapočíta dvakrát
- xi
- práve sčítavaná hodnota; index i sa v každom kroku sumy posunie
Veta — počítanie so sumou
Nech n ∈ ℕ, c ∈ ℝ a ai, bi ∈ ℝ pre i = 1, …, n. Potom platí
∑i=1n (c · ai + bi) = c · ∑i=1n ai + ∑i=1n bi a ∑i=1n c = n · c.
Dôkaz. Rozpíšte sumu na n sčítancov, preskupte ich (sčítanie je asociatívne a komutatívne) a z každého c · ai vyberte c pred zátvorku. Konštanta sčítaná n-krát je n · c. ∎
Príklad. Pre x = (3, 1, 4, 1, 5): ∑i=15 (2xi + 1) = 2 · 14 + 5 · 1 = 33. Priamo: 7 + 3 + 9 + 3 + 11 = 33.
Pozor: mocninu ani inú nelineárnu funkciu takto zo sumy vybrať nemožno — ∑ xi2 nie je (∑ xi)2. Pre našich päť hodnôt: 9 + 1 + 16 + 1 + 25 = 52, kým 142 = 196.
Keď všetkým v zozname zdvojnásobíte plat a pridáte euro, celkový súčet je dvojnásobok pôvodného plus toľko eur, koľko je ľudí. Na tomto pravidle stojí väčšina úprav vzorcov v ďalších dieloch — napríklad prečo priemer chýb môžeme derivovať člen po člene.
5. Funkcie, šípky a argmin
f(x) čítame „f od x“ — hodnota funkcie f pre vstup x. Zápis f : X → Y („f z X do Y“) hovorí, odkiaľ funkcia berie vstupy a kam patria výstupy: f : ℝ2 → {0, 1} berie dvojicu čísel a vracia 0 alebo 1 — to je klasifikátor bodov v rovine.
Definícia — funkcia a zloženie funkcií
Nech X a Y sú množiny. Funkcia (zobrazenie) f z X do Y, písané f : X → Y, je množina dvojíc f ⊆ X × Y (relácia, pozri diel Množiny a relácie), pre ktorú platí
∀x ∈ X ∃! y ∈ Y : (x, y) ∈ f,
kde ∃! čítame „existuje práve jedno“. Tento jediný prvok y označujeme f(x). Funkcia teda priraďuje každému prvku x ∈ X práve jeden prvok f(x) ∈ Y. Množina X je definičný obor, Y cieľová množina (často sa jej hovorí aj obor hodnôt).
Nech X, Y, Z sú množiny a f : X → Y, g : Y → Z funkcie. Zloženie funkcií f a g je funkcia
g ∘ f : X → Z, (g ∘ f)(x) := g(f(x)) pre každé x ∈ X.
Príklad. f(x) = x + 1, g(x) = x2. Potom (g ∘ f)(3) = g(4) = 16, ale (f ∘ g)(3) = f(9) = 10 — na poradí záleží.
Funkcia je automat: hodíte doň vstup a vypadne vždy rovnaký výstup — nikdy dva, nikdy žiadny. Zloženie je zapojenie automatov za seba. Neurónová sieť nie je nič iné než dlhá reťaz takto zložených funkcií, jedna vrstva za druhou.
- x ↦ x2 — „x sa zobrazí na x na druhú“; opis funkcie bez mena,
- fθ(x) — funkcia, ktorej správanie určujú parametre θ („f s parametrami théta“),
- g ∘ f — zloženie: najprv f, potom g, teda g(f(x)),
- θ ← θ − η ∇J — šípka doľava je priradenie v algoritme: „nová hodnota θ je…“; := znamená „definujeme ako“.
Posledný riadok je najdôležitejší zápis celej série — krok gradientného zostupu. Rozobraný:
θ ← θ − η ∇J(θ)
- θ
- parametre modelu; vpravo stará hodnota, vľavo nová — rovnaké písmeno, pretože ide o tú istú premennú v rôznom čase
- ←
- priradenie, nie rovnosť: θ = θ − … by platilo len pre nulový krok, kým ← hovorí „prepíš“
- −
- gradient ukazuje do kopca, my chceme chybu zmenšiť, a tak ideme opačne
- η
- rýchlosť učenia — malé kladné číslo; gradient je len miestna informácia, s dlhým krokom by sme kopec preskočili
- ∇J(θ)
- gradient chyby J v aktuálnom bode — ktorým smerom chyba rastie najrýchlejšie a ako veľmi
Príklad — tri kroky gradientného zostupu
Hľadáme argmin J(θ) = (θ − 2)2. Derivácia je J′(θ) = 2(θ − 2). Začneme v θ = 5 s η = 0,25:
krok 1: θ ← 5 − 0,25 · 2 · (5 − 2) = 5 − 1,5 = 3,5
krok 2: θ ← 3,5 − 0,25 · 2 · (3,5 − 2) = 3,5 − 0,75 = 2,75
krok 3: θ ← 2,75 − 0,25 · 2 · (2,75 − 2) = 2,75 − 0,375 = 2,375
(Farby podľa vzorca vyššie: η, gradient J′(θ), stará a nová hodnota θ.)
Vzdialenosť od minima 2 sa každým krokom presne polí (3; 1,5; 0,75; 0,375), pretože po kroku je nová vzdialenosť (θ − 2η(θ − 2)) − 2 = (1 − 2η)(θ − 2) a 1 − 2 · 0,25 = 0,5. S η = 0,5 by sme boli v cieli jedným krokom, s η > 1 by sa vzdialenosť zväčšovala.
Definícia — min, max, argmin, argmax
Nech X je neprázdna množina a f : X → ℝ funkcia. Argument minima funkcie f na X je množina
argminx ∈ X f(x) := {x* ∈ X : ∀x ∈ X : f(x*) ≤ f(x)}.
Ak je táto množina neprázdna a x* je ľubovoľný jej prvok, je minimum funkcie f na X číslo
minx ∈ X f(x) := f(x*)
(nezáleží na tom, ktorý prvok vyberieme — všetky dávajú rovnakú hodnotu). Minimum je teda najmenšia hodnota, ktorú f na X nadobúda, argmin množina všetkých miest, kde ju nadobúda. Ak má argmin jediný prvok x*, píše sa skrátene argminx ∈ X f(x) = x*. Na nekonečnej množine minimum nemusí existovať: f(x) = x na intervale (0, 1) sa k nule ľubovoľne blíži, ale nikdy ju nenadobudne, a argmin je prázdny.
argmax a max sa definujú rovnako, len s nerovnosťou f(x*) ≥ f(x).
min odpovedá na otázku „ako nízko sa dá dostať?“, argmin na otázku „kde to je?“. Pre f(x) = (x − 2)2 je min f = 0, ale argmin f = 2. Tréning modelu je hľadanie argmin — nezaujíma nás, aká malá je chyba, ale ktoré parametre ju dávajú.
Na konečnej množine sa argmin nájde jednoduchým prejdením. Pre f(x) = (x − 2)2 na X = {0, 1, 2, 3, 4} sú hodnoty 4, 1, 0, 1, 4, takže min = 0 a argmin = 2. Na X = {0, 1, 3, 4} (bez dvojky) je min = 1, ale argmin = {1, 3} — dve miesta s rovnakou hodnotou, preto definícia hovorí o množine.
def argmin(f, X):
nejlepsi, hodnota = [], float("inf") # zatiaľ nič, „nekonečne zlé“
for x in X:
if f(x) < hodnota: # nové minimum: zabudni doterajšie
nejlepsi, hodnota = [x], f(x)
elif f(x) == hodnota: # remíza: pridaj do množiny
nejlepsi.append(x)
return nejlepsi, hodnota # argmin a min naraz
6. Logické spojky a kvantifikátory
| Zápis | Číta sa | Príklad |
|---|---|---|
| ¬P | nie P | ¬(x > 3) je to isté čo x ≤ 3 |
| P ∧ Q | P a Q | x > 0 ∧ x < 1 — x leží medzi 0 a 1 |
| P ∨ Q | P alebo Q (alebo oboje) | x < 0 ∨ x > 1 |
| P ⇒ Q | ak P, potom Q | x > 2 ⇒ x2 > 4 |
| P ⇔ Q | P práve vtedy, keď Q | x2 = 0 ⇔ x = 0 |
| ∀x : P(x) | pre každé x platí P | ∀x ∈ ℝ : x2 ≥ 0 |
| ∃x : P(x) | existuje x, pre ktoré platí P | ∃x ∈ ℕ : x > 100 |
Veta — negácia kvantifikátorov
Nech X je množina a P(x) výrok o prvku x, ktorý je pre každé x ∈ X buď pravdivý, alebo nepravdivý. Potom platí
¬(∀x ∈ X : P(x)) ⇔ ∃x ∈ X : ¬P(x),
¬(∃x ∈ X : P(x)) ⇔ ∀x ∈ X : ¬P(x).
Negácia teda prehodí ∀ a ∃ a presunie sa k výroku P. Ide o tvrdenie vyplývajúce priamo z významu kvantifikátorov: „neplatí pre všetky“ znamená práve „pre aspoň jedno neplatí“.
„Neplatí, že všetky labute sú biele“ znamená „existuje labuť, ktorá biela nie je“. Na vyvrátenie tvrdenia „pre všetky“ stačí jeden protipríklad — a presne tak sa v matematike často dokazuje.
Pozor na implikáciu ⇒: tvrdí len to, že keď platí P, platí aj Q. O situácii, keď P neplatí, nehovorí nič. Z x > 2 ⇒ x2 > 4 nevyplýva, že x2 > 4 ⇒ x > 2 — stačí vziať x = −3.
Definícia — spojky pravdivostnou tabuľkou
Označme {0, 1} množinu pravdivostných hodnôt (1 = pravda, 0 = nepravda) a nech P, Q ∈ {0, 1}. Logické spojky sú funkcie
¬ : {0, 1} → {0, 1} a ∧, ∨, ⇒, ⇔ : {0, 1} × {0, 1} → {0, 1}
dané predpismi
- ¬P := 1 − P;
- P ∧ Q := min(P, Q) — rovná sa 1 práve vtedy, keď P = 1 a zároveň Q = 1;
- P ∨ Q := max(P, Q) — rovná sa 1 práve vtedy, keď P = 1 alebo Q = 1 (alebo oboje);
- P ⇒ Q := max(1 − P, Q) — rovná sa 0 práve vtedy, keď P = 1 a Q = 0;
- P ⇔ Q := 1, ak P = Q, a 0 inak.
Keďže {0, 1} má len dve hodnoty, je každá spojka úplne určená tabuľkou:
| P | Q | ¬P | P ∧ Q | P ∨ Q | P ⇒ Q | P ⇔ Q |
|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 | 1 |
Implikácia je nepravdivá v jedinom riadku: P platí a Q nie. Preto P ⇒ Q znamená to isté čo ¬P ∨ Q (porovnajte stĺpce).
„Keď bude pršať, vezmem si dáždnik.“ Sľub porušíte len vtedy, keď prší a dáždnik nemáte. Keď neprší, sľub platí, či dáždnik máte, alebo nie — o tejto situácii nič nehovoril.
7. Ďalšie značky, ktoré stretnete
- a/b alebo a / b — delenie, „a lomeno b“ (pre b ≠ 0); oba zápisy znamenajú to isté. Lomka sa hodí tam, kde musí vzorec zostať na jednom riadku (v kóde, v obyčajnom texte), zlomok je prehľadnejší, pretože bez zátvoriek ukáže, čo presne sa čím delí: x − μ/σ je to isté čo (x − μ) / σ. Na tomto webe preto sádzame delenie všade ako zlomok,
- |x| — absolútna hodnota (|−3| = 3); ‖x‖ — dĺžka vektora (norma),
- ⌊x⌋, ⌈x⌉ — zaokrúhlenie nadol a nahor (⌊2,7⌋ = 2, ⌈2,1⌉ = 3),
- ≈ — približne rovné; ∝ — úmerné („rastie rovnako ako“); ≫ — oveľa väčšie,
- ∞ — nekonečno; [0, 1] — interval vrátane krajných bodov, (0, 1) — bez nich,
- ∇f („nabla f“) — gradient, smer najrýchlejšieho rastu; ∂f/∂x — parciálna derivácia,
- O(n2) — „rádovo n na druhú“: ako rýchlo rastie čas alebo pamäť algoritmu,
- P(A | B) — pravdepodobnosť A, keď vieme, že nastalo B; 𝔼[X] — stredná hodnota,
- w⊤ — transpozícia: z riadka stĺpec a naopak; w⊤x je skalárny súčin.
Norma a skalárny súčin sa dajú napísať sumou, ktorú už vieme čítať:
‖x‖ = √∑i=1n xi2
- ‖x‖
- dĺžka vektora x ∈ ℝn; dvojité čiary ju odlíšia od absolútnej hodnoty čísla
- xi2
- štvorec jednej súradnice — záporná súradnica prispieva k dĺžke rovnako ako kladná
- ∑i=1n
- sčíta príspevky všetkých súradníc; to je Pytagorova veta, len pre ľubovoľný počet rozmerov
- √
- odmocnina (pruh nad výrazom ukazuje, kam siaha) vráti výsledok do rovnakých jednotiek ako súradnice — dĺžka (3, 4) má byť 5, nie 25
w⊤x = ∑i=1n wi xi
- w⊤x
- skalárny súčin — jedno číslo z dvoch vektorov rovnakej dĺžky; ⊤ z w urobí riadok, aby šlo „riadok krát stĺpec“
- wi
- váha i-tého vstupu — ako veľmi a ktorým smerom (znamienko) na ňom záleží
- xi
- i-tý vstup; násobí sa len so svojou vlastnou váhou
- ∑
- sčíta vážené vstupy do jedného čísla — tak sa v neuróne „hlasuje“
Definícia — veľké O
Nech g : ℕ → ℝ je funkcia s nezápornými hodnotami (g(n) ≥ 0 pre všetky n ∈ ℕ). Veľké O funkcie g je množina funkcií
O(g) := {f : ℕ → ℝ : f(n) ≥ 0 pre všetky n ∈ ℕ ∧ ∃c ∈ ℝ, c > 0 ∃n0 ∈ ℕ ∀n ∈ ℕ, n ≥ n0 : f(n) ≤ c · g(n)}.
Pre funkciu f : ℕ → ℝ s nezápornými hodnotami teda f ∈ O(g) (často písané len f = O(g)) práve vtedy, keď platí podmienka, ktorú rozoberieme člen po člene:
∃c > 0 ∃n0 ∈ ℕ ∀n ≥ n0 : f(n) ≤ c · g(n)
- ∃c > 0
- smieme g vynásobiť konštantou — veľké O nezaujíma, či je počítač dvakrát rýchlejší, len ako čas rastie
- ∃n0 ∈ ℕ
- smieme ignorovať malé vstupy — na nich rozhodujú drobnosti, nie tvar rastu
- ∀n ≥ n0
- od tej hranice však už pre všetky väčšie vstupy, bez výnimky
- f(n) ≤ c · g(n)
- samotné tvrdenie: f nerastie rýchlejšie než g — g je horný odhad
Príklad. f(n) = 3n2 + 5n ∈ O(n2), t. j. g(n) = n2: zvolíme c = 4 a n0 = 5. Potom 3n2 + 5n ≤ 4n2 ⇔ 5n ≤ n2 ⇔ n ≥ 5 (pre n > 0). Pre n = 10: 350 ≤ 4 · 100 = 400 (farby podľa rozboru vyššie).
Definícia — podmienená pravdepodobnosť a stredná hodnota
Nech (Ω, 𝓕, P) je pravdepodobnostný priestor (pozri diel Čo je pravdepodobnosť) a A, B ∈ 𝓕 sú javy, kde P(B) > 0. Podmienená pravdepodobnosť javu A za podmienky B je číslo
P(A | B) := P(A ∩ B)/P(B).
Nech ďalej X : Ω → ℝ je náhodná premenná (pozri diel Náhodná premenná), ktorá nadobúda len konečne veľa navzájom rôznych hodnôt x1, …, xk, a P(X = x) označuje P({ω ∈ Ω : X(ω) = x}). Stredná hodnota premennej X je číslo
𝔼[X] := ∑j=1k xj · P(X = xj),
teda súčet všetkých možných hodnôt, každej váženej svojou pravdepodobnosťou.
Príklad. Hod kockou, A = „padla šestka“, B = „padlo párne číslo“. P(A ∩ B) = 1/6, P(B) = 3/6, takže P(A | B) = 1/6/3/6 = 1/3: keď vieme, že padlo párne, zostávajú tri rovnako možné výsledky. Stredná hodnota hodu: 𝔼[X] = (1 + 2 + 3 + 4 + 5 + 6) · 1/6 = 21/6 = 3,5 — hodnota, ktorá sama padnúť nemôže, ale je priemerom dlhého radu hodov.
8. Prečítajte si celú definíciu
Teraz to poskladáme dohromady. Toto je definícia tréningu modelu z dielu o druhoch strojového učenia. Každý člen má farbu a pod vzorcom rovnakou farbou stojí, prečo tam je:
θ* = argminθ 1/n ∑i=1n L( fθ(xi), yi )
- θ*
- najlepšie parametre modelu — výsledok tréningu; hviezdička ich odlíši od θ, ktoré počas hľadania skúšame
- argminθ
- chceme miesto minima, nie jeho hodnotu — model potom používame s parametrami, nie s číslom chyby; index θ hovorí, čo smieme meniť (dáta nie)
- 1/n ∑i=1n
- priemer cez všetkých n príkladov — model má byť dobrý v priemere na všetkých dátach, nie len na jednom príklade
- L
- stratová funkcia — prevedie dvojicu „odpoveď, správna odpoveď“ na jedno číslo, koľko chyba stojí; bez nej by nebolo čo minimalizovať
- fθ(xi)
- čo model s parametrami θ odpovie na i-tý vstup — jediné miesto, kde sa θ vo vzorci objaví, a teda jediná cesta, ako chybu ovplyvniť
- yi
- správna odpoveď k i-tému vstupu — meradlo, s ktorým odpoveď modelu porovnávame
Najlepšie parametre modelu sú tie, s ktorými model v priemere cez všetky trénovacie dáta urobí najmenšiu chybu medzi tým, čo odpovie, a tým, čo je správne.
Príklad — empirické riziko s číslami
Dáta: tri dvojice (xi, yi) = (1, 2), (2, 3), (3, 7). Model fθ(x) = θ · x má jediný parameter, strata je štvorec chyby L(ŷ, y) = (ŷ − y)2. Označme priemernú stratu R(θ) = 1/3 ∑i=13 L(fθ(xi), yi). Farby podľa vzorca vyššie:
θ = 2: odpovede 2, 4, 6, chyby 0, 1, −1, R = 1/3 (0 + 1 + 1) ≈ 0,667
θ = 2,5: odpovede 2,5; 5; 7,5, chyby 0,5; 2; 0,5, R = 1/3 (0,25 + 4 + 0,25) = 1,5
Presné argmin: derivácia R′(θ) = 2/3 ∑i=13 (θ xi − yi) xi položená rovná nule dá θ* = ∑ xi yi/∑ xi2 = 2 + 6 + 21/1 + 4 + 9 = 29/14 ≈ 2,071 a R(θ*) ≈ 0,643.
Min je teda 0,643 (menšia chyba s týmto modelom nejde), argmin je 2,071 — to je naučený model.
A ešte jedna, z dielu o prehľadávaní — prioritná funkcia algoritmu A*:
f(n) = g(n) + h(n)
- f(n)
- priorita stavu n — A* vždy rozvinie stav s najmenším f; preto musí jedno číslo zhrnúť celú cestu cez n
- g(n)
- cena, ktorú sme už do n zaplatili — presne známa; bez nej by algoritmus zbytočne uprednostňoval stavy blízko cieľa, ku ktorým viedla drahá cesta
- h(n)
- odhad, koľko ešte zostáva do cieľa (heuristika) — vďaka nemu hľadanie mieri k cieľu namiesto do všetkých strán; keď cenu nikdy nepreceňuje, nájde A* najlacnejšiu cestu
Číta sa „f od n sa rovná g od n plus h od n“: odhad ceny celej cesty cez stav n je cena, ktorú sme už do n zaplatili (g), plus odhad, koľko ešte zostáva (h). Rovnaký postup funguje pre každú definíciu: nájsť hlavný vzťah (=, ≤, ⇔), rozobrať obe strany na časti a každú preložiť do slov.
9. Ťahák
| Symbol | Číta sa | Význam |
|---|---|---|
| xi | x i-té | i-tý prvok |
| ŷ, x̄, θ* | y so strieškou, x s pruhom, théta s hviezdičkou | odhad, priemer, optimum |
| ∈, ∉ | patrí, nepatrí | je, nie je prvkom množiny |
| ⊆, ∪, ∩, × | podmnožina, zjednotenie, prienik, krát | operácie s množinami |
| ℕ, ℤ, ℝ, ℝn | N, Z, R, R na n-tú | prirodzené, celé, reálne čísla, vektory |
| a/b, a / b | a lomeno b | delenie (na webe sa sádze ako zlomok) |
| ∑, ∏ | suma, súčin | sčítaj, vynásob cez index |
| f : X → Y | f z X do Y | funkcia a jej vstupy a výstupy |
| argmin, argmax | argument minima, maxima | kde je najmenšia, najväčšia hodnota |
| ←, := | priraď, definujeme ako | nová hodnota, definícia |
| ¬, ∧, ∨ | nie, a, alebo | logické spojky |
| ⇒, ⇔ | ak–potom, práve vtedy keď | implikácia, ekvivalencia |
| ∀, ∃ | pre každé, existuje | kvantifikátory |
| |x|, ‖x‖ | absolútna hodnota, norma | veľkosť čísla, dĺžka vektora |
| ≈, ∝, ≫ | približne, úmerné, oveľa väčšie | porovnanie |
| ∇, ∂ | nabla, parciálna derivácia | gradient, derivácia podľa jednej premennej |
| O(·) | veľké O | rád rastu času alebo pamäte |
| P(A | B), 𝔼 | pravdepodobnosť A za podmienky B, stredná hodnota | pravdepodobnosť |
10. Zhrnutie
- Matematický zápis je skratka vety: číta sa zľava doprava, symbol po symbole.
- Indexy rozlišujú hodnoty, grécke písmená majú v AI zavedené významy (θ parametre, η rýchlosť učenia, γ diskont).
- ∑ je cyklus, ktorý sčítava; 1/n ∑ je priemer; delenie sa píše zlomkom alebo lomkou; argmin hľadá miesto, nie hodnotu.
- ∀ a ∃ robia z vlastností presné tvrdenia; na vyvrátenie „pre všetky“ stačí jeden protipríklad.
S týmto slovníkom prečítate všetky definície v sérii. Keď narazíte na symbol, ktorý tu chýba, napíšte nám — doplníme ho.
Máte na to iný názor? Napíšte na support@coden-app.com.