Přeskočit na obsah
coden

Ztrátové funkce: co přesně model minimalizuje

Ztráta, riziko a metrika; kvadratická, absolutní a Huberova ztráta při poruše čidla; kvantilová ztráta a předpověď rozpětí; klasifikační ztráty podle marže a proč s hinge ztrátou rozhodují jen body u hranice.

13 minut Matěj Žalmánek 2026-10-16

Série Základy AI Díl 52 z 83
  1. Mapa umělé inteligence: co je co a jak to do sebe zapadá
  2. Stručná historie umělé inteligence: od Turinga po jazykové modely
  3. Data, model, trénink, inference: základní pojmy na jednom příkladu
  4. Jak číst matematický zápis: symboly, indexy, sumy a kvantifikátory
  5. Množiny a relace: stavebnice, ze které se skládají definice v AI
  6. Funkce a zobrazení: proč je každý model v AI funkce
  7. Logika a důkazy: pravidla, podle kterých se v AI uvažuje
  8. Grafy a stromy: struktura, na které stojí hledání i neuronové sítě
  9. Lineární algebra pro strojové učení: vektory, matice a proč AI hlavně násobí
  10. Derivace, gradient a řetízkové pravidlo: jak model zjistí, kterým směrem se učit
  11. Gradientní sestup: jak se model učí
  12. Co je pravděpodobnost: od hodu kostkou ke Kolmogorovovým axiomům
  13. Podmíněná pravděpodobnost a Bayesova věta: jak změnit odhad, když se dozvíte něco nového
  14. Náhodná veličina a distribuční funkce: jedna funkce, která o rozdělení řekne všechno
  15. Funkce hustoty a pravděpodobnostní funkce: proč má spojitá veličina v bodě pravděpodobnost nula
  16. Střední hodnota, rozptyl a kovariance: kde rozdělení leží, jak je široké a co s čím souvisí
  17. Přehled pravděpodobnostních rozdělení: Bernoulli, binomické, Poisson, rovnoměrné, normální a exponenciální
  18. Zákon velkých čísel a centrální limitní věta: proč se průměry chovají tak předvídatelně
  19. Statistika a odhady parametrů: maximální věrohodnost, MAP a intervaly spolehlivosti
  20. Teorie informace: entropie, křížová entropie a KL divergence — odkud se berou ztrátové funkce
  21. Prohledávání stavového prostoru: BFS, DFS, UCS a A* s animacemi
  22. Hry a protivník: minimax, alfa-beta ořezávání a Monte Carlo tree search
  23. Splňování omezujících podmínek: backtracking, propagace omezení a AC-3 na sudoku a mapě krajů
  24. Logika a znalostní systémy: dopředné a zpětné řetězení, rezoluce a expertní systémy
  25. Plánování: STRIPS, svět kostek, heuristiky z relaxace a plánování v AI agentech
  26. Lokální hledání a simulované žíhání: obchodní cestující přes krajská města
  27. Genetické algoritmy: populace, křížení, mutace a výběr na batohu na výlet
  28. Evoluční strategie a genetické programování: od pravidla jedné pětiny po Keplerův zákon
  29. Optimalizace mravenčí kolonií: jak feromonová stopa najde krátkou cestu
  30. Optimalizace hejnem částic: setrvačnost, vlastní zkušenost a zkušenost hejna
  31. Neuroevoluce: evoluce vah i tvaru neuronových sítí a algoritmus NEAT
  32. Fuzzy množiny a funkce příslušnosti: jak zapsat „trochu teplo“
  33. Fuzzy logika a pravděpodobnost: proč „trochu teplo“ neznamená „pravděpodobně teplo“
  34. Fuzzy logika: t-normy, implikace a pravidla KDYŽ–PAK
  35. Fuzzy řízení: Mamdani a Sugeno od ventilátoru po kyvadlo na vozíku
  36. Fuzzy shlukování: algoritmus fuzzy c-means a body mezi shluky
  37. Neuro-fuzzy systémy (ANFIS): fuzzy pravidla, která se učí z dat
  38. Markovovy řetězce: přechodová matice, stacionární rozdělení a PageRank
  39. Skryté Markovovy modely: Viterbiho algoritmus a nepoctivé kasino
  40. Bayesovské sítě: proč je tráva mokrá a co z toho plyne pro postřikovač
  41. Kalmanův filtr: jak z nepřesných měření odhadnout, kde auto je a jak rychle jede
  42. Druhy strojového učení: s učitelem, bez učitele, s částečným učitelem a další
  43. Přeučení a regularizace: proč model, který zná data nazpaměť, selže
  44. Vyhodnocení modelu: křížová validace, F1 a křivka ROC
  45. Shlukování a snížení dimenze: k-means, PCA a t-SNE
  46. Klasifikace a regrese: dvě úlohy učení s učitelem
  47. Lineární regrese: nejmenší čtverce geometricky i maticově
  48. Polynomiální a nelineární regrese: jak přímku ohnout
  49. Logistická regrese: sigmoida, šance a křížová entropie
  50. Vícetřídní klasifikace a softmax: od dvou tříd k mnoha
  51. Naivní Bayesův klasifikátor: spamový filtr, který funguje lépe, než by měl
  52. Ztrátové funkce: co přesně model minimalizuje
  53. Rozhodovací stromy a k nejbližších sousedů: modely bez vzorců
  54. Ansámbly: náhodný les a gradient boosting
  55. SVM a jádrový trik: nejširší hranice a jak ji ohnout
  56. Signál a vzorkování: proč platí Nyquistův teorém
  57. Fourierova transformace: rozklad signálu na frekvence
  58. Filtry a konvoluce: vyhlazení, hrany a odstranění šumu
  59. Zvuk a řeč: spektrogram, melová škála a MFCC
  60. Obraz jako signál: pixely, barvy, konvoluce a hrany
  61. Perceptron a umělý neuron: nejjednodušší neuronová síť a co neumí
  62. Neuronová síť od nuly: zpětné šíření chyby krok za krokem
  63. Aktivace, inicializace a normalizace: drobnosti, na kterých hluboká síť stojí
  64. Konvoluční sítě: jak síť poznává obrázky
  65. Rekurentní sítě: paměť pro posloupnosti a mizející gradient
  66. LSTM a GRU: brány, které rozhodují, co si síť zapamatuje
  67. Autoenkodéry: síť, která se učí data stlačit a zase rozbalit
  68. Embeddingy a word2vec: jak se slovo stane vektorem
  69. Mechanismus pozornosti: jak se model naučí, kam se dívat
  70. Transformery a velké jazykové modely: architektura krok za krokem
  71. Tokenizace: jak se text rozseká na kousky pro model
  72. Předtrénování a škálování: proč větší model a víc dat funguje
  73. Doladění a RLHF: jak se z doplňovače textu stane asistent
  74. Prompty, kontext a RAG: jak modelu dát správné informace
  75. Variační autoenkodéry (VAE): nové obrázky ze spojitého latentního prostoru
  76. Generativní adversariální sítě (GAN): padělatel proti detektivovi
  77. Difúzní modely: jak se z čistého šumu stane obrázek
  78. Markovovy rozhodovací procesy: stavy, akce, odměny a Bellmanovy rovnice
  79. Q-learning a DQN: učení hodnoty akcí od tabulky po neuronovou síť
  80. Policy gradient a PPO: učení přímo strategie
  81. Jak funguje AI agent: jazykový model ve smyčce s nástroji
  82. Programování s AI agenty: zadání, testy a kontrola
  83. Vyhodnocení a bezpečnost AI systémů: jak měřit a jak hlídat

Celá osnova série 83 z 83 témat hotovo

Co si odnesete
  • Proč se model učí na jiné ztrátě, než podle které ho hodnotíme.
  • Jak se regresní ztráty chovají k odlehlým bodům a jak kvantilovou ztrátou předpovídat rozpětí.
  • Čím se liší logistická, hinge a exponenciální ztráta a jak ztrátu vybrat.

Co se hodí znát předem: Klasifikace a regrese: dvě úlohy učení s učitelem, Logistická regrese: sigmoida, šance a křížová entropie

Model se neučí „dobře předpovídat“. Učí se minimalizovat jedno konkrétní číslo — ztrátu — a dělá přesně to, co mu ztráta řekne, ani o kousek víc. V předchozích dílech jsme viděli, že kvadratická chyba vede k průměru a absolutní k mediánu, a že logistická regrese potřebuje křížovou entropii. Teď si ztráty seřadíme vedle sebe, podíváme se, jak se chovají k odlehlým bodům, jak s nimi předpovídat rozpětí místo jednoho čísla a proč u klasifikace záleží na tom, jak ztráta trestá body daleko od hranice.

Navazuje na díly Klasifikace a regrese a Logistická regrese.

1. Ztráta, riziko a metrika

Definice — ztrátová funkce, empirické riziko, metrika

Nechť 𝒳 je množina možných vstupů, 𝒴 množina možných skutečných hodnot (např. 𝒴 = ℝ u regrese, 𝒴 = {−1, +1} u dvou tříd) a 𝒵 množina možných předpovědí (např. ℝ). Ztrátová funkce je funkce

ℓ : 𝒴 × 𝒵 → [0, ∞),   (y, ŷ) ↦ ℓ(y, ŷ);

číslo ℓ(y, ŷ) je cena předpovědi ŷ ∈ 𝒵, když skutečná hodnota je y ∈ 𝒴.

Nechť dále n ∈ ℕ, n ≥ 1, (x1, y1), …, (xn, yn) ∈ 𝒳 × 𝒴 jsou trénovací data a f : 𝒳 → 𝒵 je model. Empirické riziko modelu f je číslo

R̂(f) = 1/n ∑i=1n ℓ(yi, f(xi)),

tedy průměrná cena chyb modelu na trénovacích datech; učení hledá model (v praxi parametry θ modelu fθ), pro který je R̂ co nejmenší.

Metrika je předpis M, který modelu f a (obvykle testovacím) datům přiřadí reálné číslo hodnotící kvalitu jeho předpovědí — např. přesnost, F1 nebo RMSE z dílu o vyhodnocení modelu. Metrika nemusí být průměrem ztráty přes body (F1 není) a obecně se od empirického rizika liší.

Laicky řečeno

Ztráta je pokyn pro učení, metrika je známka na vysvědčení. Často chceme dobrou známku z přesnosti, ale přesnost se učit nedá: když posuneme váhy o kousek, přesnost se buď nezmění vůbec, nebo skočí — gradient je skoro všude nula. Proto se učí náhradní ztráta, hladká a s užitečným gradientem, která přesnost táhne správným směrem.

Definice — riziko

Nechť (X, Y) je náhodný vektor s hodnotami v 𝒳 × 𝒴 a s rozdělením P (z něj pocházejí trénovací i nová data), ℓ : 𝒴 × 𝒵 → [0, ∞) je ztrátová funkce a f : 𝒳 → 𝒵 model. Riziko modelu f je střední hodnota ztráty

R(f) = E(X, Y) ∼ P[ ℓ(Y, f(X)) ]

(pokud existuje), tedy průměrná cena chyby na nových datech. Rozdělení P neznáme, proto ho nahradíme trénovacími daty a riziko průměrem — empirickým rizikem. Podle zákona velkých čísel se pro pevné f empirické riziko s rostoucím n blíží skutečnému; pro model vybraný právě podle trénovacích dat to už neplatí automaticky (přeučení).

R̂(θ) = 1/n ∑i=1n ℓ( yi, fθ(xi) )

R̂(θ)
empirické riziko jako funkce parametrů θ — jediné číslo, které učení zmenšuje; všechno, co od modelu chceme, se musí propsat sem
1/n ∑
průměr přes trénovací příklady — každý bod má stejný hlas a výsledek nezávisí na tom, kolik dat máme (součet by s n rostl a s ním i vhodná velikost kroku)
ℓ
ztrátová funkce — tady se rozhoduje, které chyby jsou drahé; zbytek vzorce je u všech ztrát v tomto dílu stejný
yi
skutečná hodnota — s ní předpověď srovnáváme
fθ(xi)
předpověď modelu — jediné místo, kudy do rizika vstupují parametry; proto má smysl derivovat podle θ
Učení = najít θ, pro které je průměrná cena chyb na trénovacích datech nejmenší.

2. Kvadratická, absolutní a Huberova ztráta

Definice — regresní ztráty pro reziduum r = y − ŷ

Nechť y ∈ ℝ je skutečná hodnota, ŷ ∈ ℝ předpověď a r = y − ŷ ∈ ℝ reziduum. Regresní ztráty zapisujeme jako funkce rezidua ℝ → [0, ∞):

  1. kvadratická ztráta: ℓ2(r) = r2;
  2. absolutní ztráta: ℓ1(r) = |r|;
  3. Huberova ztráta s parametrem δ > 0: Hδ(r) = ½r2   pro |r| ≤ δ,    Hδ(r) = δ(|r| − ½δ)   pro |r| > δ.

Huberova ztráta je tedy pro malá rezidua kvadratická, pro velká lineární a v bodech |r| = δ, kde se obě části potkávají, má spojitou derivaci (je hladká).

Laicky řečeno

Důležitější než ztráta sama je její derivace — „tah“, kterým každý bod působí na model. U kvadratické ztráty roste tah s velikostí chyby: bod desetkrát dál táhne desetkrát silněji. U absolutní je tah vždy stejný, jen směr se liší. Huberova ztráta je kompromis: blízké body táhnou podle vzdálenosti, vzdálené už jen stálou silou.

01234 −3−2−10123 reziduum r (bez jednotky) ztráta L(r) (bez jednotky) −202 −3−2−10123 reziduum r (bez jednotky) tah L′(r) (bez jednotky)
Tři regresní ztráty (vlevo) a jejich tah (vpravo) kvadratická absolutní Huberova (δ = 1)

Hδ(r) = ½r2 pro |r| ≤ δ, jinak δ|r| − ½δ2

Hδ(r)
Huberova ztráta (zelená v grafu) — kvadratická uprostřed, lineární na okrajích
½r2
kvadratická část (jako oranžová křivka) — blízko nuly je hladká a tah r se s klesající chybou zmenšuje, takže se model u optima zastaví jemně; ½ je tam proto, aby derivace byla rovnou r
|r| ≤ δ
práh — od jaké chyby bod považujeme za podezřelý; volí se v jednotkách dat (u čidla 1 °C, zhruba dvaapůlnásobek šumu)
δ|r|
lineární část (jako modrá křivka) — tah je už stálý, δ, takže vzdálený bod táhne stejně jako bod na prahu, ne silněji
− ½δ2
posun, aby se obě části v |r| = δ potkaly: ½δ2 = δ · δ − ½δ2; sklon tam mají oba kusy stejný (δ), proto je ztráta hladká
Definice — tah (funkce vlivu)

Nechť ℓ : ℝ → [0, ∞) je konvexní regresní ztráta zapsaná jako funkce rezidua r = y − fθ(x). Číslo g ∈ ℝ je subgradient ℓ v bodě r0, právě když ℓ(r) ≥ ℓ(r0) + g · (r − r0) pro všechna r ∈ ℝ; je-li ℓ v r0 diferencovatelná, je jediným subgradientem ℓ′(r0). Tah (funkce vlivu) ztráty ℓ je funkce ψ : ℝ → ℝ,

ψ(r) = ℓ′(r)   v bodech, kde ℓ má derivaci,

a v ostatních bodech je ψ(r) některý subgradient ℓ v r. Tah říká, jak silně a kterým směrem bod s reziduem r táhne za model. Pro naše tři ztráty:

  1. kvadratická: ψ(r) = 2r;
  2. absolutní: ψ(r) = sign r pro r ≠ 0 a ψ(0) ∈ [−1, 1] (subgradienty |r| v nule tvoří celý interval [−1, 1]);
  3. Huberova: ψ(r) = r pro |r| ≤ δ a ψ(r) = δ · sign r pro |r| > δ.

Podle řetízkového pravidla je gradient empirického rizika součtem tahů jednotlivých bodů:

∂R̂/∂θ = − 1/n ∑i ψ(ri) · ∂fθ(xi)/∂θ

1/n ∑
gradient je průměr příspěvků jednotlivých bodů — každý bod za model tahá zvlášť a výsledný krok je jejich součet
ψ(ri)
tah bodu — jak silně bod tahá; jediné místo, kde se ztráty liší, a proto o odolnosti vůči odlehlým bodům rozhoduje právě on
∂fθ(xi)/∂θ
kterým směrem by se změnou parametrů pohnula předpověď v bodě — u přímky a + bt je to (1, t), takže body na konci intervalu silněji natáčejí sklon
Znaménko minus: rezidua jsou y − f, takže když předpověď zvedneme, reziduum klesne.
Věta — kvadratická ztráta vede k průměru, absolutní k mediánu

Nechť n ∈ ℕ, n ≥ 1, a y1, …, yn ∈ ℝ. Označme ȳ = 1/n ∑i=1n yi jejich průměr. Číslo m ∈ ℝ je medián hodnot y1, …, yn, právě když

|{i : yi < m}| ≤ n/2   ∧   |{i : yi > m}| ≤ n/2,

tj. pod ani nad m neleží víc než polovina hodnot (pro liché n je medián jediný — prostřední hodnota; pro sudé n je mediánem každé číslo mezi dvěma prostředními hodnotami). Pak platí:

  1. funkce Q(c) = ∑i=1n (yi − c)2 nabývá na ℝ minima právě v bodě c = ȳ;
  2. funkce A(c) = ∑i=1n |yi − c| nabývá na ℝ minima právě v mediánech.

Jediné číslo, které nejlépe zastupuje všechny hodnoty, je tedy pro kvadratickou ztrátu průměr a pro absolutní medián.

Důkaz. Obě funkce jsou konvexní, takže minimum je právě tam, kde je součet tahů nulový (nebo kde nulu obsahuje subgradient). Kvadratická: Q′(c) = −∑ 2(yi − c) = 0 ⇔ c = 1/n ∑ yi = ȳ. Absolutní: ∑ sign(yi − c) = (počet bodů nad c) − (počet bodů pod c), a to je nula (nebo nulu obsahuje subgradient), právě když nad i pod c leží nejvýš polovina bodů — to je medián. ∎

Příklad. Pět měření 20, 21, 22, 24 a 33 °C, poslední vadné. Průměr je 120/5 = 24 °C, medián 22 °C. Huberova ztráta s δ = 2 dá c = 22⅓ °C: rezidua jsou −2⅓, −1⅓, −⅓, 1⅔ a 10⅔, tahy −2, −1⅓, −⅓, 1⅔ a 2 (u krajních bodů oříznuté na ±δ) a jejich součet je 0. Vadný bod odtáhl průměr o 2 °C nad medián, Huberovo řešení jen o třetinu stupně.

3. Když se čidlo porouchá

Čidlo měří teplotu v místnosti deset hodin, 60 měření. Teplota ve skutečnosti roste z 18 °C o půl stupně za hodinu. Ke konci se ale čidlo začne přehřívat a osm měření ukáže o 6 až 9 °C víc. Proložíme přímku podle všech tří ztrát:

202530 0246810 čas t (h) naměřená teplota (°C)
Teplota a porucha čidla (červeně); přímky podle tří ztrát kvadratická Huberova absolutní skutečnost
Ztrátasklon (°C/h)chyba předpovědi v 10 hRMSE na správných měřeních
skutečnost0,500——
kvadratická0,913+3,02 °C1,41
Huberova (δ = 1)0,576+0,58 °C0,47
absolutní0,533+0,26 °C0,39

Osm vadných bodů skoro zdvojnásobilo sklon kvadratické přímky — každý z nich táhne silou úměrnou svým sedmi stupňům odchylky. Absolutní ztráta je vůči nim skoro imunní a Huberova je někde mezi. Proč tedy nepoužívat absolutní ztrátu vždycky? Na čistých datech je kvadratická ztráta přesnější (optimum je průměr, ten se odhaduje s menším rozptylem než medián), je hladká a má řešení vzorcem. Huberova ztráta si bere od každé něco: blízko optima se chová jako kvadratická, daleko jako absolutní.

Příklad — tah vadného a dobrého měření

Vadné měření s reziduem r = 7 °C a dobré s r = 0,4 °C (zhruba velikost šumu):

Ztrátaψ(7)ψ(0,4)poměr
kvadratická, 2r140,817,5×
Huberova (δ = 1)10,42,5×
absolutní, sign r111×

U kvadratické ztráty táhne osm vadných měření zhruba tak silně jako 8 · 17,5 = 140 dobrých s typickou chybou — a dobrých je jen 52.

Věta — o kolik je medián na čistých datech horší

Nechť n ≥ 1 a Y1, …, Yn jsou nezávislé náhodné veličiny se stejným normálním rozdělením N(μ, σ2), kde μ ∈ ℝ a σ > 0 (měření μ s normálním šumem). Nechť Ȳn = 1/n ∑i=1n Yi je výběrový průměr a Mn výběrový medián. Pak

  1. var Ȳn = σ2/n pro každé n;
  2. pro n → ∞ je rozptyl mediánu přibližně var Mn ≈ πσ2/2n ≈ 1,57 · σ2/n (přesně: √n (Mn − μ) konverguje v distribuci k N(0, πσ2/2)).

Bod 2 je případ klasického asymptotického výsledku (viz např. A. W. van der Vaart, Asymptotic Statistics, 1998, kap. 21): má-li rozdělení hustotu φ spojitou a kladnou v mediánu m, je var Mn ≈ 1/4n φ(m)2. Pro normální rozdělení je m = μ a φ(m) = 1/σ√2π, takže 1/4n φ(m)2 = 2πσ2/4n = πσ2/2n. Medián tedy potřebuje o 57 % víc dat, aby byl stejně přesný jako průměr. Jakmile ale data obsahují odlehlé body, poměr se obrátí.

Jak se přímka s absolutní nebo Huberovou ztrátou hledá, když na ni není vzorec? Postupem iterativně převážených nejmenších čtverců: střídavě se spočítají váhy bodů a vyřeší vážená kvadratická úloha. Váha je úměrná ψ(r)/r, takže vážená kvadratická úloha má v aktuálním bodě stejný gradient jako ta původní. Obrázek výše je spočítaný takhle:

w_i = 1 pro všechny body                 # první krok = obyčejné nejmenší čtverce
opakuj 200×:                             # u kvadratické ztráty stačí jednou
    (a, b) = argmin ∑ w_i · (T_i − a − b·t_i)²  # vážené nejm. čtverce, soustava 2×2
    r_i = T_i − a − b·t_i
    w_i = 1                       pro kvadratickou ztrátu
    w_i = 1 / |r_i|               pro absolutní   (|r_i| zdola omezené 10⁻⁶)
    w_i = min(1, δ / |r_i|)       pro Huberovu (vzdálené body ztrácejí váhu)

4. Kvantilová ztráta: předpovídat rozpětí

Aplikace na jízdní řády nechce znát jen „typickou“ dobu jízdy. Chce říct: „s 90% jistotou tam budete do 34 minut.“ To je otázka na kvantil, ne na průměr.

Definice — kvantilová (pinball) ztráta

Nechť τ ∈ (0, 1) a r = y − ŷ ∈ ℝ je reziduum. Kvantilová (pinball) ztráta pro kvantil τ je funkce ρτ : ℝ → [0, ∞),

ρτ(r) = τ · r   pro r ≥ 0,    ρτ(r) = (τ − 1) · r   pro r < 0.

Nechť Y je náhodná veličina s distribuční funkcí F(y) = P(Y ≤ y). Její τ-kvantil je číslo

qτ = min {y ∈ ℝ : F(y) ≥ τ},

tedy nejmenší hodnota, pod kterou (včetně ní) leží aspoň podíl τ případů. Je-li E|Y| < ∞, nabývá funkce c ↦ E[ρτ(Y − c)] minima v c = qτ; se vstupem x jde o podmíněný kvantil rozdělení Y při X = x. Pro τ = ½ je ρ½(r) = ½|r|, polovina absolutní ztráty, a optimem je medián.

Laicky řečeno

Je to absolutní ztráta s nesouměrnými tresty. Pro τ = 0,9 stojí podcenění devětkrát víc než přecenění. Model se proto vyplatí posunout nahoru, až pod ním zůstane jen desetina bodů — přesně tam, kde je 90% kvantil. Stejný trik funguje vždy, když jedna chyba stojí víc než druhá: přijet pozdě na vlak je horší než přijet o pět minut dřív.

ρτ(r) = τ · max(r, 0) + (1 − τ) · max(−r, 0)

ρτ(r)
kvantilová ztráta pro reziduum r = y − ŷ; v každém bodě je nenulový nejvýš jeden ze dvou sčítanců
τ · max(r, 0)
cena podcenění (skutečnost nad předpovědí, autobus jel déle) — s velkým τ je drahé, a tak model předpověď zvedá
(1 − τ) · max(−r, 0)
cena přecenění (skutečnost pod předpovědí) — s velkým τ levné; poměr cen τ : (1 − τ) určí, kde se model zastaví
Pro τ = 0,9 je poměr 0,9 : 0,1 = 9 : 1 — podcenění o 10 minut stojí 0,9 · 10 = 9, přecenění o 10 minut jen 0,1 · 10 = 1.
Věta — minimum kvantilové ztráty je kvantil

Nechť τ ∈ (0, 1), n ≥ 1 a y1, …, yn ∈ ℝ. Pro c ∈ ℝ označme S(c) = ∑i=1n ρτ(yi − c). Pak S nabývá na ℝ minima právě v těch c, pro která

|{i : yi < c}| ≤ τn ≤ |{i : yi ≤ c}|,

a aspoň jedno takové c existuje (je jím ⌈τn⌉-tá nejmenší z hodnot). Takovým c se říká výběrový τ-kvantil: pod c leží nejvýš podíl τ hodnot a pod c včetně c aspoň podíl τ.

Důkaz. Posuneme-li c o malé ε > 0 nahoru, ztráta každého bodu nad c klesne o τε a každého bodu pod c (či na c) vzroste o (1 − τ)ε. Je-li takových bodů k z n, změní se součet o ε · [(1 − τ)k − τ(n − k)] = ε · (k − τn). Dokud k/n < τ, posun nahoru se vyplatí, jakmile k/n > τ, vyplatí se posun dolů. S je konvexní, minimum je tedy tam, kde k/n přejde přes τ — to je přesně podmínka výše. Pro τ = ½ je to medián. ∎

U přímky a + b · km dává stejný argument pro posun a stejnou podmínku: v optimu leží pod přímkou podíl τ trénovacích jízd (až na body ležící přesně na ní). Rozpětí mezi 10% a 90% přímkou proto slibuje 90 − 10 = 80 % jízd.

0204060 051015 délka trasy (km) doba jízdy (min)
Doba jízdy autobusem a tři kvantilové přímky 10 % 50 % (medián) 90 %

Na 5 000 nových jízdách leží pod 10% přímkou 11,0 % jízd, pod mediánem 49,1 % a pod 90% přímkou 88,7 %. Pro trasu dlouhou 10 km předpovídá model rozpětí od 18,2 do 33,7 minuty s mediánem 24,8 minuty. Do rozpětí mezi 10% a 90% přímkou padne 77,7 % nových jízd, skoro slibovaných 80 %. Rozpětí se s délkou trasy rozšiřuje, protože delší trasa nabírá víc zpoždění — model s kvadratickou ztrátou by tohle neviděl.

5. Klasifikační ztráty podle marže

U dvou tříd je výhodné označit třídy y = −1 a +1 a podívat se na marži.

Definice — marže a náhradní ztráty

Nechť f : 𝒳 → ℝ je model, který příkladu x ∈ 𝒳 přiřadí skóre z = f(x) a předpovídá třídu sign z, a nechť y ∈ {−1, +1} je skutečná třída příkladu x. Marže příkladu je číslo

m = y · z ∈ ℝ.

Platí m > 0, právě když sign z = y (příklad je zařazený správně), a čím je m větší, tím dál od hranice z = 0 na správné straně příklad leží. Klasifikační ztráty zapisujeme jako funkce marže ℝ → [0, ∞):

  1. 0–1: ℓ01(m) = 1 pro m ≤ 0 a ℓ01(m) = 0 pro m > 0 (počet chyb — to, co chceme, ale nedá se učit);
  2. logistická (křížová entropie): ℓlog(m) = log2(1 + e−m);
  3. hinge: ℓhinge(m) = max(0, 1 − m);
  4. exponenciální: ℓexp(m) = e−m.

Ztráty 2–4 se nazývají náhradní: jsou konvexní a pro každé m ∈ ℝ platí ℓ(m) ≥ ℓ01(m), tj. 0–1 ztrátu shora omezují (důkaz ve větě níže).

Laicky řečeno

Marže říká, na které straně hranice bod leží a jak daleko. Náhradní ztráty jsou hladké „obálky“ schodu 0–1: když model zmenšuje je, zmenšuje i počet chyb. Liší se tím, co dělají na krajích — jak moc trestají hrubý omyl vlevo a jestli přestanou zajímat body, které jsou bezpečně na správné straně vpravo.

ℓlog(m) = log2( 1 + e−m ),   m = y · z

ℓlog(m)
logistická ztráta (zelená v grafu) — totéž co křížová entropie logistické regrese, jen zapsané pomocí marže
e−m
jádro trestu — pro velkou kladnou marži rychle mizí (jistě správné body skoro netáhnou), pro zápornou roste, takže omyly stojí hodně
1 +
drží ztrátu nezápornou a pro m → −∞ ji zkrotí: log(1 + e−m) ≈ −m, takže omyl roste jen lineárně, ne exponenciálně jako u exponenciální ztráty
log2
logaritmus o základu 2 (ztráta v bitech) — v m = 0 dá log2 2 = 1, stejně jako 0–1 ztráta, a proto ji shora omezuje; s přirozeným logaritmem by to bylo jen ln 2 ≈ 0,69
Věta — logistická ztráta je křížová entropie; náhradní ztráty omezují 0–1 ztrátu

Nechť x ∈ 𝒳, y ∈ {−1, +1}, z = f(x) ∈ ℝ a m = yz. Nechť model (logistická regrese) předpovídá pravděpodobnost

P(y = +1 | x) = σ(z) = 1/1 + e−z,   P(y = −1 | x) = 1 − σ(z).

Pak platí:

  1. křížová entropie této předpovědi (v bitech) je rovna ℓlog(m);
  2. pro ℓ ∈ {ℓlog, ℓhinge, ℓexp} a každé m ∈ ℝ je ℓ(m) ≥ ℓ01(m); proto pro data (x1, y1), …, (xn, yn) je podíl chyb 1/n ∑i ℓ01(yif(xi)) nejvýš roven průměrné náhradní ztrátě 1/n ∑i ℓ(yif(xi)).

Důkaz. 1. Křížová entropie (v bitech) pro y = +1 je −log2 σ(z) = log2(1 + e−z) a pro y = −1 je −log2(1 − σ(z)) = −log2 σ(−z) = log2(1 + ez). V obou případech je to log2(1 + e−yz) = ℓlog(m).

2. Pro m ≤ 0 je e−m ≥ 1, takže logistická ztráta ≥ log2 2 = 1, exponenciální ≥ 1 a hinge 1 − m ≥ 1 = ℓ01(m); pro m > 0 je 0–1 ztráta nulová a všechny tři jsou nezáporné. Nerovnost platí v každém bodě, a tedy i pro průměry. ∎

marže m0–1logistickáhingeexponenciální
−213,0737,39
01111
100,4500,37
200,1800,14

Například logistická ztráta pro m = −2 (barvy podle vzorce výše): ℓlog(−2) = log2(1 + e2) ≈ log2(1 + 7,389) = log2 8,389 ≈ 3,07; pro m = 1: ℓlog(1) = log2(1 + e−1) ≈ log2(1 + 0,368) ≈ 0,45.

01234 −2−1012 marže m = y · z (bez jednotky) ztráta L(m) (bez jednotky)
Klasifikační ztráty podle marže 0–1 logistická hinge exponenciální

Při hrubém omylu s marží −2 dá exponenciální ztráta 7,39, hinge 3 a logistická 3,07. Exponenciální ztráta, na které stojí algoritmus AdaBoost, je proto velmi citlivá na chybně označené příklady — jeden špatný štítek ji dokáže strhnout. Na druhém konci je rozdíl ještě zajímavější: s marží 1 má hinge ztrátu přesně nulovou, logistická 0,45 a ani s marží 2 neklesne na nulu (0,18).

6. Hinge: rozhodují jen body u hranice

Co to znamená v praxi? Naučíme lineární klasifikátor na 120 bodech dvou tříd jednou hinge ztrátou a jednou logistickou (obojí s malou regularizací). Na obrázku je velikost bodu úměrná tomu, jak silně táhne za výsledek:

příznak x₁ (bez jednotky) příznak x₂ (bez jednotky) hinge (čárkovaně z = ±1) příznak x₁ (bez jednotky) příznak x₂ (bez jednotky) logistická
Kolik bodů ovlivňuje hranici; prázdné kroužky netáhnou vůbec

S hinge ztrátou má nenulový tah jen 26 bodů ze 120 — ty, které leží uvnitř pásu −1 < z < 1 nebo na špatné straně. Ostatních 94 bodů na hranici netáhne vůbec. U logistické ztráty táhnou všechny body; aby dohromady nesly 90 % celkového tahu, je jich potřeba 53. Přesnost je skoro stejná (93,3 % a 92,5 %). Body, na kterých hinge řešení stojí, se jmenují podpůrné vektory a jsou základem metody SVM, které je věnovaný samostatný díl.

J(w) = 1/n ∑i max(0, 1 − yizi) + λ/2 (w12 + w22),
zi = w0 + w1xi1 + w2xi2

1/n ∑ max(0, 1 − yizi)
průměrná hinge ztráta (modrá v grafu marží) — „1 −“ chce od každého bodu marži aspoň 1, ne jen správnou stranu; „max(0, …)“ body, které to splní, úplně umlčí
λ/2 (w12 + w22)
regularizace (u nás λ = 0,01) — bez ní by šlo marže zvětšit prostým vynásobením všech vah a pás −1 < z < 1 by se smrskl k nule; malé váhy znamenají široký pás, tedy hranici co nejdál od bodů
zi
skóre lineárního modelu; posun w0 se neregularizuje, aby trest nezáležel na tom, kde leží počátek souřadnic
Pro logistickou ztrátu je vzorec stejný, jen místo max(0, 1 − m) stojí ln(1 + e−m).

Tah bodu je derivace ztráty podle skóre: u hinge ztráty −yi, když yizi < 1, a přesně 0 jinak; u logistické −yi/1 + eyizi, což je malé, ale nikdy nulové. Proto hinge řešení stojí jen na 26 bodech a logistické na všech 120. Model na obrázku je naučený subgradientním sestupem (hinge ztráta nemá v m = 1 derivaci, stačí ale subgradient — ve zlomu vezmeme jednu z jednostranných derivací):

w = (0, 0, 0);  λ = 0,01
for t = 1 … 20 000:
    η = 1 / (λ · (t + 100))              # krok se postupně zkracuje
    g = (0, λ·w₁, λ·w₂)                  # gradient regularizace (bez w₀)
    for každý bod (x₁, x₂, y):
        m = y · (w₀ + w₁·x₁ + w₂·x₂)
        k = (m < 1 ? −y : 0)             # hinge
        k = −y / (1 + e^m)               # nebo: logistická
        g += (k, k·x₁, k·x₂) / n
    w = w − η · g

7. Jak ztrátu vybrat

  • Co chcete předpovídat? Průměr → kvadratická, medián → absolutní, kvantil (rozpětí, záruky) → kvantilová, pravděpodobnost třídy → křížová entropie.
  • Jak špinavá jsou data? Odlehlé body nebo chybné štítky → Huberova nebo absolutní ztráta, u klasifikace se vyhnout exponenciální.
  • Kolik stojí která chyba? Nesouměrné ceny se dají zabudovat přímo do ztráty: kvantilem, nebo vahami tříd (chyba na vzácné nemoci se počítá desetkrát).
  • Metrika není ztráta. Model se učí na náhradní ztrátě a hodnotí se na metrice, o kterou jde. Když se ty dvě rozcházejí, je to stejná past jako Goodhartův zákon z dílu o vyhodnocení modelu.
Věta — co která ztráta odhaduje

Nechť (X, Y) je náhodný vektor s hodnotami v 𝒳 × 𝒴, ℓ : 𝒴 × 𝒵 → [0, ∞) ztrátová funkce a předpokládejme, že model může být libovolná (měřitelná) funkce f : 𝒳 → 𝒵 („má dost volnosti“). Nechť pro každé x ∈ 𝒳 existuje

f*(x) = argminc ∈ 𝒵 E[ ℓ(Y, c) | X = x ].

Pak R(f*) ≤ R(f) pro každý model f — riziko se minimalizuje v každém bodě x zvlášť, protože R(f) = E[ E[ℓ(Y, f(X)) | X] ]. Podle vět výše (a jejich verzí pro rozdělení místo konečného výběru) tak vychází:

Ztrátaoptimální předpověď f*(x)
kvadratickápodmíněný průměr E[Y | X = x]
absolutnípodmíněný medián
kvantilová ρτpodmíněný τ-kvantil
logistická (křížová entropie)skóre z = ln p/1 − p, kde p = P(Y = +1 | X = x)
hingejen znaménko: +1, když p > ½, jinak −1 — pravděpodobnost z něj nevyčteme

Pro logistickou ztrátu: při daném x minimalizujeme p · log2(1 + e−z) + (1 − p) · log2(1 + ez); derivace podle z je úměrná −p(1 − σ(z)) + (1 − p)σ(z) = σ(z) − p, takže σ(z*) = p. Proto z logistické regrese pravděpodobnost dostaneme a ze SVM ne.

I ty nejsložitější modely mají ztrátu překvapivě jednoduchou. Velký jazykový model se při předtrénování učí jedinou věc: minimalizovat křížovou entropii dalšího slova — tu samou, kterou jsme v dílu o softmaxu počítali pro čtyři třídy, jen pro desítky tisíc tříd a biliony slov.

8. Shrnutí

  • Model minimalizuje ztrátu, hodnotí se metrikou; přesnost se učit nedá, proto se učí náhradní ztráty.
  • Rozhoduje tah (derivace): u kvadratické ztráty roste se vzdáleností, u absolutní je stálý, Huberova je mezi.
  • Osm vadných měření zvedlo sklon kvadratické přímky z 0,5 na 0,913; absolutní ztráta dala 0,533.
  • Kvantilová ztráta předpovídá rozpětí: pod 90% přímkou leželo 88,7 % nových jízd.
  • Klasifikační ztráty se liší na krajích: exponenciální tvrdě trestá omyly, hinge přestane brát v úvahu bezpečné body — výsledek neslo 26 bodů ze 120.

Chcete si to osahat? Nechte AI agenta proložit přímku vašimi daty s kvadratickou a s Huberovou ztrátou — a pak do dat schválně přidejte jeden nesmyslný bod a sledujte, která přímka se pohne.

Máte na to jiný názor? Napište na support@coden-app.com.

Agent na vašem počítači, ovládaný z telefonu