Přeskočit na obsah
coden

Klasifikace a regrese: dvě úlohy učení s učitelem

Stejná data o bytech, dvě otázky: kolik byt stojí a jestli je dražší než osm milionů. Výchozí model, průměr proti mediánu, pravděpodobnost a Bayesova chyba, převody mezi úlohami a další podoby odpovědi.

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

Série Základy AI Díl 46 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
  • Kdy je úloha klasifikace a kdy regrese a proč model vždy porovnat s výchozím.
  • Proč regrese podle kvadratické chyby předpovídá průměr a podle absolutní medián.
  • Proč má klasifikátor vracet pravděpodobnost a proč nezaokrouhlovat číselný cíl do tříd.

Co se hodí znát předem: Druhy strojového učení: s učitelem, bez učitele, s částečným učitelem a další, Vyhodnocení modelu: křížová validace, F1 a křivka ROC

Realitní kancelář chce od modelu dvě věci. Majitel bytu se ptá: „Za kolik ho prodám?“ Makléř se ptá: „Patří do nabídky luxusních bytů nad osm milionů?“ Data jsou v obou případech stejná, model se učí ze stejných prodaných bytů — a přesto jde o dvě různé úlohy. První chce v odpovědi číslo, druhá třídu. V tomhle dílu uvidíme, co se od toho rozdílu odvíjí: jak model měřit, s čím ho porovnat, co vlastně předpovídá a co se stane, když jednu úlohu převlečeme za druhou.

Navazuje na díly Druhy strojového učení a Vyhodnocení modelu.

1. Učení s učitelem jako hledání funkce

Definice — učení s učitelem, klasifikace a regrese

Nechť 𝒳 je množina vstupů (u nás 𝒳 ⊆ ℝd), 𝒴 množina cílových hodnot a (X, Y) náhodná dvojice s hodnotami v 𝒳 × 𝒴 s neznámým rozdělením. Trénovací data jsou n ≥ 1 dvojic (x1, y1), …, (xn, yn) ∈ 𝒳 × 𝒴, nezávislých realizací (X, Y); xi jsou příznaky (vstup), yi je cílová hodnota (správná odpověď). Nechť dále L : 𝒴 × 𝒴 → [0, ∞) je ztrátová funkce (L(y, ŷ) je cena odpovědi ŷ, když správně je y).

Učení s učitelem je úloha sestrojit z trénovacích dat funkci (model) f : 𝒳 → 𝒴 s co nejmenším rizikem

R(f) = E[L(Y, f(X))],

tj. s co nejmenší střední ztrátou na nových dvojicích ze stejného rozdělení. Podle množiny 𝒴 rozlišujeme:

  1. klasifikace, právě když 𝒴 je konečná množina tříd, |𝒴| ≥ 2, jejíž prvky jsou jen jména bez číselného významu (např. 𝒴 = {do 8 mil., nad 8 mil.});
  2. regrese, právě když 𝒴 = ℝ (nebo interval v ℝ) a na velikosti chyby záleží.

Model se tedy učí z dvojic, kde správnou odpověď známe, aby co nejlépe odpovídal i tam, kde ji neznáme.

Laicky řečeno

Klasifikace odpovídá na otázku „co to je?“ nebo „ano, nebo ne?“: spam, nebo ne; kočka, pes, nebo auto; která z deseti číslic. Regrese odpovídá na otázku „kolik?“: kolik bude zítra stupňů, kolik byt stojí, za kolik minut přijede tramvaj. Rozhoduje druh odpovědi, ne druh dat — z fotky se dá klasifikovat plemeno psa i odhadovat jeho věk.

„f(x) ≈ y“ je zatím jen přání. Učení z něj udělá úlohu, kterou umí počítač vyřešit: vybrat z nějaké rodiny funkcí tu, která se na trénovacích dvojicích mýlí v průměru nejméně (princip minimalizace empirického rizika, jak ho formuloval Vladimir Vapnik):

f̂ = arg minf ∈ ℱ 1/n ∑i=1n L(yi, f(xi))

f̂
naučený model — ta funkce z rodiny, která vyhrála
f ∈ ℱ
rodina modelů, ze které vybíráme (u nás třeba přímky procházející nulou) — bez omezení by vyhrála funkce, která si trénovací dvojice prostě zapamatuje a na nových datech selže
1/n ∑i
průměr přes trénovací dvojice — skutečnou chybu na všech budoucích datech neznáme, tak ji odhadneme průměrem na těch, které máme
L(y, f(x))
ztrátová funkce — kolik stojí odpovědět f(x), když správně je y; její volba rozhoduje, co model nakonec předpovídá (průměr, medián, pravděpodobnost — viz níže)
Klasifikace a regrese se v tomhle zápisu liší jen tím, jaké hodnoty má y a jakou ztrátu L zvolíme.

Název „regrese“ je historická náhoda. Francis Galton v 19. století zjistil, že synové velmi vysokých otců bývají vysocí, ale méně než otcové — výška „regreduje“ k průměru. Metoda, kterou to měřil, si jméno ponechala, i když s návratem k průměru už nemá nic společného.

2. Stejná data, dvě otázky

Naše data: 200 prodaných bytů o ploše 30 až 120 m². Cena roste s plochou, ale hodně kolísá — podle lokality, stavu, patra, výhledu. Ty model nezná; vidí jen plochu. (Data jsou vygenerovaná: typický byt stojí 110 tisíc za metr a skutečná cena se od toho náhodně liší, výjimečně i dvakrát nahoru nebo dolů.)

05101520 30507090110 plocha (m²) cena (mil. Kč)
200 bytů; čárkovaně hranice osmi milionů do 8 milionů nad 8 milionů

Pro regresi je cílem cena v milionech, pro klasifikaci jedna ze dvou tříd: „do 8 milionů“ a „nad 8 milionů“. Barvy se míchají skoro v celém rozsahu: nejmenší drahý byt má 36 m², největší levný 110 m². Hlavně kolem 70–80 m² se proto klasifikace bude mýlit, ať uděláme cokoli.

3. Výchozí model: s čím se porovnat

Definice — výchozí model

Nechť (x1, y1), …, (xn, yn) ∈ 𝒳 × 𝒴 jsou trénovací data. Výchozí model (baseline) je konstantní funkce f0 : 𝒳 → 𝒴, f0(x) = c pro všechna x ∈ 𝒳, kde

  1. v regresi (𝒴 = ℝ) je c = ȳ = 1/n ∑i=1n yi (průměr), nebo c = medián čísel y1, …, yn;
  2. v klasifikaci je c ∈ argmaxk ∈ 𝒴 |{i ∈ {1, …, n} : yi = k}| (nejčastější třída trénovacích dat).

Výchozí model tedy vůbec nečte příznaky. Jiný model má smysl, jen když je na testovacích datech výrazně lepší než výchozí.

Laicky řečeno

Předpověď „zítra bude stejně jako dnes“ je u počasí překvapivě dobrá. Meteorolog, který ji neporazí, je k ničemu, i když jeho model má milion parametrů. Výchozí model je laťka: teprve rozdíl oproti ní říká, kolik se model opravdu naučil.

Průměrná cena trénovacích bytů je 8,30 milionu. Model, který tohle číslo řekne o každém bytu, má na 5 000 nových bytech odmocninu ze střední kvadratické chyby (RMSE) 5,50 milionu. Pro klasifikaci: drahých je v trénovacích datech 44,5 %, takže nejčastější třída je „do 8 milionů“; model, který ji řekne pokaždé, má na nových bytech přesnost 52,6 %. Tohle jsou čísla, která musíme porazit.

Definice — RMSE, MAE a přesnost

Nechť m ≥ 1, (x1, y1), …, (xm, ym) ∈ 𝒳 × 𝒴 jsou testovací dvojice (nepoužité při učení) a f : 𝒳 → 𝒴 model.

  1. V regresi (𝒴 = ℝ) je odmocnina ze střední kvadratické chyby a střední absolutní chyba RMSE = √1/m ∑i=1m (yi − f(xi))2,   MAE = 1/m ∑i=1m |yi − f(xi)|.
  2. V klasifikaci je přesnost přesnost = 1/m · |{i ∈ {1, …, m} : f(xi) = yi}| ∈ [0, 1].

RMSE a MAE mají jednotku cílové hodnoty (tady miliony Kč), přesnost je podíl správně zařazených. Výchozí klasifikátor tu odpovídá „do 8 milionů“ pokaždé; drahých bytů je mezi testovacími 47,4 %, takže se trefí u 100 − 47,4 = 52,6 %.

RMSE = √1/m ∑i (yi − f(xi))2

RMSE
root mean squared error — typická velikost chyby modelu
yi − f(xi)
reziduum — o kolik se model u bytu i spletl; kladné, když byt podcenil
( … )2
čtverec — aby se chyby nahoru a dolů navzájem nevyrušily, a aby velké omyly vážily víc: chyba 4 miliony stojí 16, čtyři chyby po milionu dohromady jen 4
1/m ∑i
průměr přes testovací byty — výsledek nezávisí na tom, kolik bytů jsme testovali
√
odmocnina vrátí jednotku z „milionů na druhou“ zpět na miliony, takže se RMSE dá přímo porovnat s cenami
MAE je totéž bez čtverce a odmocniny: průměrná absolutní velikost chyby.

4. Co regrese předpovídá: průměr, nebo medián?

Byt o 60 m² se může prodat za 4 miliony i za 12. Model ale musí říct jedno číslo. Které? Záleží na tom, jak chybu trestáme.

Definice — kvadratická a absolutní chyba a jejich optimum

Nechť (X, Y) je náhodná dvojice s hodnotami v 𝒳 × ℝ a E[Y2] < ∞. Pro y, ŷ ∈ ℝ definujeme

  1. kvadratickou chybu L2(y, ŷ) = (y − ŷ)2 a absolutní chybu L1(y, ŷ) = |y − ŷ|;
  2. podmíněný průměr jako funkci x ↦ E[Y | X = x];
  3. podmíněný medián jako funkci x ↦ q(x), kde q(x) je libovolné číslo s P(Y ≤ q(x) | X = x) ≥ 1/2 a P(Y ≥ q(x) | X = x) ≥ 1/2.

Mezi všemi funkcemi f : 𝒳 → ℝ má nejmenší střední kvadratickou chybu E[(Y − f(X))2] podmíněný průměr a nejmenší střední absolutní chybu E|Y − f(X)| podmíněný medián (věta níže to ukazuje pro konstanty; pro každé x zvlášť platí totéž). Model učený minimalizací ∑ (yi − f(xi))2 se proto s přibývajícími daty (a dost bohatou rodinou modelů) blíží podmíněnému průměru, model učený minimalizací ∑ |yi − f(xi)| podmíněnému mediánu.

Laicky řečeno

Kvadratická chyba trestá velké omyly hodně: jeden byt prodaný za dvojnásobek „táhne“ odhad nahoru. Výsledkem je průměr. Absolutní chyba trestá všechny omyly úměrně jejich velikosti; nejlepší je číslo, pod kterým i nad kterým leží polovina cen — medián. U cen, platů nebo délek čekání, kde se občas objeví velký výkyv nahoru, je průměr znatelně vyšší než medián.

Věta — nejlepší konstanta je průměr, resp. medián

Nechť n ≥ 1 a y1, …, yn ∈ ℝ. Pak

  1. funkce g(c) = ∑i=1n (yi − c)2 nabývá na ℝ minima právě v bodě c = ȳ = 1/n ∑i=1n yi (průměr);
  2. funkce h(c) = ∑i=1n |yi − c| nabývá minima v každém mediánu čísel y1, …, yn: pro liché n je to prostřední z uspořádaných čísel, pro sudé n každé číslo mezi dvěma prostředními (včetně nich).

Důkaz. Derivace první funkce podle c je −2 ∑ (yi − c) = −2(∑ yi − nc); nulová je pro c = 1/n ∑ yi, a protože jde o parabolu otevřenou nahoru, je to minimum. Druhá funkce je po částech lineární; mimo body yi má derivaci (počet yi pod c) − (počet yi nad c). Dokud je pod c méně čísel než nad ním, posun doprava součet zmenší, a naopak; minimum je tedy tam, kde je na obou stranách stejně — v mediánu. ∎ Totéž platí pro každé x zvlášť, odtud podmíněný průměr a medián v definici.

Příklad — tři byty za 4, 6 a 14 milionů

Průměr je 8, medián 6 (u RMSE barvy podle vzorce RMSE výše).

Konstanta 8: chyby −4, −2, 6, RMSE = √16 + 4 + 36/3 = √18,67 ≈ 4,32, MAE = 4 + 2 + 6/3 = 4.

Konstanta 6: chyby −2, 0, 8, RMSE = √4 + 0 + 64/3 = √22,67 ≈ 4,76, MAE = 2 + 0 + 8/3 ≈ 3,33.

Průměr vyhrál v RMSE, medián v MAE. Za to může jediný drahý byt: kvadratická chyba z jeho 8 milionů odchylky udělá 64 a průměr k sobě přitáhne, absolutní chyba jen 8.

05101520 30507090110 plocha (m²) cena (mil. Kč)
Tři modely ceny podle plochy průměr (výchozí) přímka – kvadratická chyba přímka – absolutní chyba

Obě přímky vycházejí z nuly — cena je úměrná ploše — a liší se jen sklonem, tedy cenou za metr. Podle kvadratické chyby vyjde 116 tisíc za metr, podle absolutní 107 tisíc. Pro byt o 60 m² to je 6,97 proti 6,40 milionu. Z generátoru dat známe pravdu: medián ceny takového bytu je 6,60 a průměr 7,30 milionu. Každá přímka míří ke „svému“ středu, odhad z 200 bytů jen není přesný.

b = ∑i xiyi/∑i xi2

b
sklon přímky y = bx podle kvadratické chyby (oranžová přímka v obrázku), tedy cena za metr; vyjde z podmínky, že derivace ∑ (yi − bxi)2 podle b, totiž −2 ∑ xi(yi − bxi), je nulová
∑ xiyi
jak moc jdou plocha a cena „spolu“; každý byt sem přispívá cenou násobenou plochou, takže velké byty mají na sklon největší vliv — a s nimi i jejich velké výkyvy ceny
∑ xi2
normalizace — kdyby každý byt stál přesně b · plocha, byl by čitatel b ∑ xi2 a podíl vrátí právě b; zároveň srovná jednotky na miliony za m²
Na našich 200 bytech: b = 136 138,0/1 171 989,7 ≈ 0,1162 milionu za m², tedy 116 tisíc. Přímka podle absolutní chyby (modrá) vzorec nemá: ∑ |yi − bxi| = ∑ xi · |yi/xi − b|, takže nejlepší b je vážený medián cen za metr yi/xi s vahami xi — 107 tisíc.
Příklad — proč je u bytu o 60 m² průměr 7,30 a medián 6,60

Generátor dat bere cenu jako 0,11 · plocha · e0,45 Z, kde Z je normované normální číslo. Medián Z je 0 a e0 = 1, takže medián ceny je 0,11 · 60 = 6,60 milionu. Průměr esZ je ale exp(s2/2) (střední hodnota log-normálního rozdělení): exp(0,452/2) = e0,10125 ≈ 1,1066, a průměr ceny je 6,60 · 1,1066 ≈ 7,30 milionu. Šum „dvakrát nahoru“ (×2) a „dvakrát dolů“ (×½) je stejně pravděpodobný, ale v milionech je první o 6,6 nahoru a druhý o 3,3 dolů — proto průměr ujede nad medián.

Model (chyba na 5 000 nových bytech)RMSEMAE
konstanta: průměr 8,305,503,97
konstanta: medián 7,275,723,96
přímka podle kvadratické chyby4,533,16
přímka podle absolutní chyby4,643,13

Každý model vyhraje v té míře, kterou při učení minimalizoval: přímka podle kvadratické chyby má menší RMSE, přímka podle absolutní chyby menší MAE (střední absolutní chybu). Totéž platí i pro obě konstanty. Žádná není „správná“ — makléř, který chce vědět, kolik vydělá průměrně na sto bytech, chce průměr; majitel, který chce vědět, za kolik se jeho byt „obvykle“ prodá, chce medián. Obě přímky přitom výchozí model porazily zhruba o milion v RMSE.

5. Co klasifikace předpovídá: pravděpodobnost

Klasifikátor by mohl rovnou říct „drahý“ nebo „levný“. Mnohem užitečnější je ale, když řekne, jak moc si je jistý.

Definice — pravděpodobnostní klasifikátor a rozhodovací hranice

Nechť 𝒳 ⊆ ℝd je množina vstupů a 𝒴 = {1, …, K}, K ≥ 2, množina tříd. Označme ΔK = {(p1, …, pK) ∈ [0, 1]K : p1 + … + pK = 1} množinu rozdělení pravděpodobnosti na 𝒴.

  1. Pravděpodobnostní klasifikátor je funkce p̂ : 𝒳 → ΔK; složka p̂k(x) je odhad pravděpodobnosti P(Y = k | X = x).
  2. Třída se z něj určí rozhodovacím pravidlem ĥ : 𝒳 → 𝒴: pro dvě třídy 𝒴 = {0, 1} a práh t ∈ (0, 1) je ĥ(x) = 1, právě když p̂1(x) ≥ t (obvykle t = 0,5); pro K tříd ĥ(x) ∈ argmaxk p̂k(x).
  3. Rozhodovací hranice je množina těch x ∈ 𝒳, v jejichž každém okolí nabývá ĥ aspoň dvou různých hodnot — místa, kde se rozhodnutí mění. Pro dvě třídy a spojité p̂1 leží v množině {x ∈ 𝒳 : p̂1(x) = t}.

Logistická regrese pro jeden příznak (𝒳 = ℝ) a dvě třídy 𝒴 = {0, 1} s parametry w0, w1 ∈ ℝ je pravděpodobnostní klasifikátor

p̂1(x) = σ(w0 + w1x),   p̂0(x) = 1 − p̂1(x),   kde σ : ℝ → (0, 1),   σ(z) = 1/1 + e−z

je sigmoida. Parametry se volí tak, aby byla co nejmenší logaritmická ztráta na trénovacích datech (níže). U nás se místo plochy x dosazuje standardizovaná plocha x − 75/25 (viz rozbor). Přes jméno je to klasifikační model.

Laicky řečeno

Funkce σ (sigmoida) stlačí jakékoli číslo do intervalu od 0 do 1, takže se dá číst jako pravděpodobnost. Byt o 40 m² je podle našeho modelu drahý s pravděpodobností 6 %, byt o 110 m² s pravděpodobností 92 %, a mezi tím se jistota plynule přelévá. Práh pak volíme podle toho, co nás víc mrzí — stejně jako v dílu o vyhodnocení.

P(drahý | x) = σ( w0 + w1 · x − 75/25 )

P(drahý | x)
to, co model předpovídá: pravděpodobnost, že byt o ploše x stojí přes 8 milionů (zelená křivka v obrázku níže)
σ(s) = 1/1 + e−s
sigmoida — přímka sama by pro malé byty dala záporné číslo a pro velké větší než 1; sigmoida ji ohne do intervalu (0, 1). Je to inverze k logitu: s = ln p/1 − p, takže s jsou logaritmické šance
w0 + w1 · …
lineární skóre se dvěma naučenými čísly; u nás w0 = −0,124 a w1 = 1,853. Lineární je proto, že log-šance rostou s plochou rovnoměrně: každý m² navíc je vynásobí stejným číslem exp(1,853/25) ≈ 1,077, tedy +7,7 %
x − 75/25
standardizovaná plocha: 75 m² je 0, každých 25 m² je jednotka — model je tentýž, ale čísla zůstanou kolem ±2 a výpočet vah je numericky klidný
Hranice je tam, kde σ = 0,5, tedy skóre 0: x − 75/25 = 0,124/1,853, x = 75 + 25 · 0,0669 ≈ 76,7 m².
Příklad — byt o 40 m² a o 110 m²

Barvy podle vzorce výše.

40 m²: 40 − 75/25 = −1,4; skóre −0,124 + 1,853 · (−1,4) = −2,718; σ(−2,718) = 1/1 + e2,718 = 1/1 + 15,15 ≈ 0,062, tedy 6 %.

110 m²: 110 − 75/25 = 1,4; skóre −0,124 + 1,853 · 1,4 = −0,124 + 2,594 = 2,470; σ(2,470) = 1/1 + e−2,470 = 1/1 + 0,085 ≈ 0,922, tedy 92 %.

Váhy se hledají tak, aby logaritmická ztráta (viz níže) byla co nejmenší. Na rozdíl od přímky tu vzorec pro řešení není; náš výpočet používá Newtonovu metodu, která v každém kroku nahradí ztrátu parabolou a skočí do jejího minima:

zᵢ ← (xᵢ − 75)/25;  yᵢ ← 1, když byt i stojí přes 8 mil., jinak 0
w₀, w₁ ← 0, 0
opakuj 50×:
    pᵢ ← σ(w₀ + w₁·zᵢ)   # pro všechna i
    g  ← ∑ᵢ (pᵢ − yᵢ) · (1, zᵢ)   # gradient ztráty
    H  ← ∑ᵢ pᵢ(1 − pᵢ) · (1, zᵢ)ᵀ(1, zᵢ)   # Hessova matice 2 × 2
    (w₀, w₁) ← (w₀, w₁) − H⁻¹ g   # Newtonův krok
00,51 30507090110 hranice 76,7 m² plocha (m²) pravděpodobnost P (0–1)
Logistická regrese: pravděpodobnost, že byt stojí přes 8 milionů

Model se naučil hranici 76,7 m²: větší byty označí za drahé. Na nových bytech má přesnost 74,0 % proti 52,6 % výchozího modelu. Kdo zná generátor dat, ví, že nejlepší možná hranice je 72,7 m² — tam má typický byt cenu přesně 8 milionů — a dává přesnost 74,1 %. Lepší to z plochy nejde: byt o 75 m² může stát 6 i 11 milionů a plocha nám neřekne který. Zbylou chybu by zmenšily jen další příznaky, třeba lokalita. Této nepřekonatelné chybě se říká Bayesova chyba.

Definice — Bayesův klasifikátor a Bayesova chyba

Nechť (X, Y) je náhodná dvojice s hodnotami v 𝒳 × 𝒴, kde 𝒴 = {1, …, K} je konečná množina tříd, a ηk(x) = P(Y = k | X = x) pro k ∈ 𝒴. Pro klasifikátor h : 𝒳 → 𝒴 je jeho pravděpodobnost chyby R(h) = P(h(X) ≠ Y).

  1. Bayesův klasifikátor je klasifikátor h* : 𝒳 → 𝒴 s h*(x) ∈ argmaxk ∈ 𝒴 ηk(x) pro každé x ∈ 𝒳.
  2. Bayesova chyba je číslo R* = R(h*) = E[1 − maxk ∈ 𝒴 ηk(X)].

Pro každý klasifikátor h : 𝒳 → 𝒴 platí R(h) ≥ R* — žádný klasifikátor, který vidí jen x, se nemýlí méně často. Pro dvě třídy 𝒴 = {0, 1} a p(x) = η1(x) je R* = E[min(p(X), 1 − p(X))].

U našich bytů ji spočítáme přesně, protože generátor známe. Byt o ploše x je drahý, když 0,11 · x · e0,45 Z > 8, tedy Z > ln 8/0,11 x/0,45, a p(x) = 1 − Φ(ln 8/0,11 x/0,45), kde Φ je distribuční funkce normovaného normálního rozdělení. Pro 72,7 m² je argument ln 1 = 0 a p = 0,5 — odtud nejlepší hranice. Pro 40 m² vyjde p = 0,09, pro 110 m² 0,82. Zprůměrováním min(p, 1 − p) přes plochy od 30 do 120 m² dostaneme Bayesovu chybu 26,0 %, tedy nejvyšší možnou přesnost 74,0 %. Náhodný vzorek 5 000 testovacích bytů dal 74,1 % — o desetinu víc jen díky náhodě vzorku.

Pravděpodobnost se dá měřit i přímo. Logaritmická ztráta (křížová entropie) průměruje −ln p, kde p je pravděpodobnost, kterou model dal správné třídě; je nulová jen pro model, který je si jistý a má pravdu. Výchozí model, který každému bytu přisoudí 44,5 % „drahý“, má ztrátu 0,693 — skoro přesně tolik jako hod mincí, ln 2 ≈ 0,693. Logistická regrese má 0,550. Podrobně ztráty probere díl o ztrátových funkcích.

L = −1/m ∑i [ yi ln pi + (1 − yi) ln (1 − pi) ]

L
logaritmická ztráta; pi je pravděpodobnost „drahý“, kterou model dal bytu i, a yi ∈ {0, 1} skutečnost
yi ln pi
uplatní se jen u drahých bytů (y = 1): trestá, když jim model dal malou pravděpodobnost; pro p → 0 jde ln p do −∞, takže jistý a mylný model zaplatí neomezeně
(1 − yi) ln (1 − pi)
totéž pro levné byty (y = 0): trestá velké p. Z obou členů je vždy aktivní jen jeden — dohromady je to ln pravděpodobnosti, kterou model dal správné třídě
1/m ∑i
průměr přes byty
−
logaritmus pravděpodobnosti je ≤ 0; minus z něj udělá kladnou ztrátu, kterou chceme zmenšovat
Výchozí model dává všem p = 0,445 a drahých je mezi testovacími 47,38 %: L = −(0,4738 · ln 0,445 + 0,5262 · ln 0,555) = 0,4738 · 0,8097 + 0,5262 · 0,5888 ≈ 0,3836 + 0,3098 ≈ 0,693 (průměr 1/m ∑ je už v podílech 0,4738 a 0,5262).

6. Převlek: z regrese klasifikace a zpět

Klasifikovat se dá i regresí: předpovíme cenu a řekneme „drahý“, když vyjde přes 8 milionů. Přímka podle kvadratické chyby tak určí hranici 8/0,11616 ≈ 68,9 m² (proti ideálním 8/0,11 ≈ 72,7 m²) a přesnost 73,4 % — skoro stejně jako logistická regrese. Hranice je posunutá doleva, protože přímka míří k průměru, a ten je vyšší než medián; o tom, jestli byt přesáhne 8 milionů, přitom rozhoduje medián. Tenhle převlek tedy funguje, ale model nemyslí na otázku, na kterou se ptáme.

Opačný směr je horší. Představme si, že by nám kancelář místo cen dala jen kategorie: levný (do 5 milionů), střední (5–8) a drahý (nad 8). Z kategorie se dá cena odhadnout jen hrubě — jako průměrná cena bytů v ní (3,58; 6,55; 12,61 milionu). Model naučený jen na kategoriích (pro byt předpoví nejčastější kategorii mezi byty podobné plochy) pak na nových bytech odhaduje cenu s RMSE 5,06 milionu místo 4,53. Informace, kterou zahodíme zaokrouhlením cíle, se už nevrátí. Kdykoli máme číselný cíl, je lepší učit regresi a třídy udělat až z její předpovědi.

7. Další podoby odpovědi

Svět se do dvou škatulek nevejde. Mezi klasifikací a regresí leží řada úloh, které mají vlastní modely a vlastní míry chyby:

ÚlohaCo je yPříklad
binární klasifikacejedna ze dvou třídspam / ne spam
vícetřídní klasifikacejedna z K třídkterá číslice, jaké plemeno
klasifikace s více štítkylibovolná podmnožina třídštítky článku: sport, politika, Praha
ordinální regreseuspořádané třídyhodnocení 1–5 hvězdiček, stupeň nemoci
regrese počtůcelé číslo ≥ 0počet zákazníků za hodinu
kvantilová regresečíslo, ale chceme rozpětí„s 90% jistotou mezi 5 a 9 miliony“
strukturovaný výstupposloupnost, strom, obrázekpřeklad věty, segmentace snímku

U ordinální regrese je vidět, proč na druhu odpovědi záleží: splést si jednu hvězdičku s pěti je horší než s dvěma, ale obyčejná klasifikace by obě chyby počítala stejně. A jazykový model, který píše text slovo po slově, řeší v každém kroku klasifikaci s desítkami tisíc tříd — ze všech slov ve slovníku vybírá, které přijde dál.

Definice — softmax: logistická regrese pro K tříd

Nechť K ≥ 2 a d ≥ 1. Softmax je funkce softmax : ℝK → ΔK (rozdělení pravděpodobnosti na K třídách, viz definici pravděpodobnostního klasifikátoru výše),

softmax(s)k = esk/∑j=1K esj,   k = 1, …, K.

Vícetřídní logistická regrese s parametry w1, …, wK ∈ ℝd a b1, …, bK ∈ ℝ spočte pro vstup x ∈ ℝd skóre sk(x) = wk · x + bk a předpovídá

P(Y = k | X = x) ≈ softmax(s1(x), …, sK(x))k.

Exponenciála udělá ze skóre kladná čísla a zachová jejich pořadí, dělení součtem zajistí, že se pravděpodobnosti sečtou na 1. Pro skóre (2; 1; 0): e2 ≈ 7,389, e1 ≈ 2,718, e0 = 1, součet 11,107, pravděpodobnosti 7,389/11,107 ≈ 0,665; 2,718/11,107 ≈ 0,245; 1/11,107 ≈ 0,090. Pro K = 2 (třídy označme 0 a 1 jako u logistické regrese) je to přesně sigmoida: es1/es0 + es1 = 1/1 + e−(s1 − s0) = σ(s1 − s0). Jazykový model dělá totéž s tolika třídami, kolik má slov ve slovníku.

8. Shrnutí

  • Klasifikace předpovídá třídu, regrese číslo; o druhu úlohy rozhoduje otázka, ne data.
  • Každý model je třeba porovnat s výchozím: průměr cen měl RMSE 5,50 milionu, nejčastější třída přesnost 52,6 %.
  • Regrese podle kvadratické chyby míří k průměru, podle absolutní k mediánu; každá vyhraje ve své míře chyby.
  • Klasifikátor má předpovídat pravděpodobnost; logistická regrese dosáhla přesnosti 74,0 % a z plochy víc než zhruba 74 % nevytěžíme — zbytek je Bayesova chyba.
  • Regrese se dá převléct za klasifikaci, ale zaokrouhlením cíle do tříd ztratíme informaci: RMSE vzrostla z 4,53 na 5,06.

Chcete si to osahat? Nechte AI agenta stáhnout skutečné ceny bytů z vašeho města a zkuste, o kolik se zlepší předpověď, když k ploše přidáte čtvrť.

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