Základy a algoritmy strojového učení: lineární regrese a rozhodovací stromy

Účel článku a co považujeme za strojové učení

Tento odborný článek systematicky shrnuje základy strojového učení (ML) a klíčové algoritmy napříč různými paradigmata – od učení s učitelem a bez učitele, přes pravděpodobnostní, geometrické i neuronové modely, až po hodnocení, regularizaci, škálování tréninku a provozní nasazení (MLOps). Důraz je kladen na prakticky využitelné principy: práci se ztrátovou funkcí, bias–variance trade-off, strategie validace, interpretovatelnost a robustnost.

Formální rámec: data, hypotézový prostor a ztráta

  • Data: nezávislé a stejně rozdělené vzorky D = {(xi, yi)} pro učení s učitelem; pouze xi pro učení bez učitele; sekvence u časových řad; interakce agent–prostředí u posilovaného učení (RL).
  • Hypotézový prostor &mathcal;H: množina funkcí f: Χ→γ (např. lineární, stromové, neuronové). Kapacita modelu ovlivňuje schopnost zobecnění.
  • Ztráta ℓ(y, f(x)): MSE/MAE pro regresi; log-loss (křížová entropie) pro klasifikaci; marginové ztráty (hinge) pro SVM; specializované ztráty pro ranking, segmentaci apod.
  • Empirické riziko: (f) = (1/n) ∑i ℓ(yi, f(xi)) – minimalizováno během tréninku s regularizací k omezení přeučení.

Bias–variance a regularizace

  • Bias–variance trade-off: vysoký bias znamená podučení; vysoká variance znamená přeučení. Cílem je nalézt rovnováhu vhodnou volbou kapacity modelu, regularizace a objemu dat.
  • Regularizace: L2 (Ridge) přidává λ‖θ‖22, L1 (Lasso) λ‖θ‖1 s indukcí řídkosti; Elastic Net kombinuje obě metody. U neuronových sítí se používá dropout, weight decay, early stopping a augmentace dat.
  • Normalizace: standardizace rysů (průměr na nulu, jednotková variance), která škáluje gradienty a urychluje konvergenci; u neuronových sítí také batch a layer normalizace.

Validace, dělení dat a prevence úniků (leakage)

  • Dělení: rozdělení na tréninkovou, validační a testovací sadu (např. 70/15/15 %). U malých datasetů se používá k-fold (typicky 5–10) nebo stratifikovaný k-fold pro řešení nevyváženosti tříd.
  • Leakage: všechny transformace (škálování, výběr rysů) trénujeme pouze na tréninkové sadě; na validační a testovací sadě je transformace aplikována již naučeným operátorem.
  • Časové řady: rozdělení dat pomocí time-series split s rozšiřujícím se tréninkovým oknem; backtesting; vyvarovat se „pohledu do budoucnosti“.

Základní algoritmy učení s učitelem (supervised)

  • Lineární regrese: obyčejná metoda nejmenších čtverců (OLS) minimalizuje MSE; s L2 penalizací → Ridge, s L1 → Lasso (výběr rysů); robustní varianty Huber nebo kvantilová regrese.
  • Logistická regrese: modeluje pravděpodobnost P(y=1|x) = σ(θTx); optimalizace pomocí gradientního sestupu (GD/SGD); hodnocení pomocí log-loss, AUC, F1 skore.
  • k-nejbližších sousedů (kNN): lenivý učící algoritmus, metriky vzdálenosti (Eukleidovská, kosinová); citlivý na škálování a dimenzi prostoru.
  • Naivní Bayes: předpoklad podmíněné nezávislosti rysů; varianty Gaussian, Multinomial, Bernoulli; rychlý základní model.
  • Podpůrné vektorové stroje (SVM): maximalizace marginu; lineární i s jadernými funkcemi (RBF, polynomiální); hinge loss + parametr C; pro regresi SVR (ε-insensitive).
  • Rozhodovací stromy: greedy dělení (Gini, entropie, variance); snadná interpretace, náchylnost k přeučení → omezovat hloubku, minimální počet vzorků.
  • Ensembles: bagging (Random Forest), boosting (AdaBoost, Gradient Boosting, XGBoost/LightGBM/CatBoost); často state-of-the-art pro tabulková data.
  • Neuronové sítě: MLP pro tabulková data; CNN pro obrazy (konvoluce, pooling); RNN/LSTM/GRU pro sekvence; Transformer (self-attention) pro text, obrazy i tabulky.

Učení bez učitele (unsupervised) a sčástečně učitelem

  • Clustering: k-means (Lloydův algoritmus, nutný výběr k), GMM (EM algoritmus, měkké přiřazení), DBSCAN/HDBSCAN (hustotní, zvládá outliery), spektrální clustering.
  • Dimenzionalita: PCA (ortogonální projekce maximalizující varianci), ICA (nezávislé komponenty), NMF (kladná faktorizace), t-SNE/UMAP (nelineární vizualizace, nevhodné bez rozvahy do tréninkových pipeline).
  • Anomálie: One-Class SVM, Isolation Forest, Autoencodery; volba metriky (precision@k, PR křivky při extrémní nevyváženosti).
  • Self-/semi-supervised: pseudolabeling, consistency regularization, kontrastivní učení (SimCLR, MoCo), weak supervision.

Optimalizace a učení parametrů

  • Gradientní metody: GD/SGD, momentum, Nesterov; adaptivní metody: AdaGrad, RMSProp, Adam/AdamW; volba learning rate (warmup, decay, cyklické schéma).
  • Konvexita vs. nelinearita: lineární modely s L2 jsou konvexní → globální optimum; hluboké sítě jsou nelineární → lokální minima či plošiny – prakticky stačí „dobrá“ řešení.
  • Regularizační triky: early stopping, dropout, label smoothing, augmentace dat (flip, crop, šum, mixup, CutMix).

Výběr rysů a inženýrství proměnných

  • Kategorizace: one-hot encoding, target encoding (s opatrností kvůli leakage), naučené embeddingy.
  • Číselné rysy: škálování (standardní, robustní, min–max), power transformace; binning pro stromové modely obvykle nepotřebný.
  • Interakce a polynomy: explicitní generování (poly funkce) vs. modely, které je implicitně zachycují (stromy, sítě).
  • Výběr rysů: filtrační metody (vzájemná informace), wrapper metody (RFE), embedded metody (L1 regularizace, stromové důležitosti); pozor na stabilitu a kolinearitu.

Hyperparametry a automatizace hledání

  • Grid vs. random search: random search je efektivnější v prostoru s aktivními dimenzemi.
  • Bayesovská optimalizace: TPE/GP bandité, sekvenční návrhy; early-stopping a multi-fidelity přístupy (Hyperband/ASHA) pro lepší škálovatelnost.
  • Pipelines: integrace transformací a modelu do jednoho objektu pro reprodukovatelnost a prevenci leakage.

Hodnocení modelů a metriky

  • Klasifikace: accuracy (může být zavádějící při nevyváženosti), precision/recall/F1, AUC-ROC/PR křivky, log-loss, Brier score, kalibrace pravděpodobností (Plattova kalibrace, isotonic regression).
  • Regrese: RMSE/MAE/R2, MAPE (pozor na nuly v datech), pinball loss pro kvantilovou regresi.
  • Rankování a doporučování: MAP@k, NDCG, hit@k, coverage/diversity.
  • Časové řady: sMAPE, MASE; backtesting s rolovacím oknem, multistep vs. direct strategie.

Imbalance tříd a robustnost

  • Pře-vzorkování: stratifikace, váhy tříd, SMOTE/ADASYN (syntetické vzorky) – kontrolovat přeučení.
  • Robustnost: detekce odlehlých hodnot, stabilita vůči šumu, adversariální testování (u hlubokých sítí), monitoring driftu dat v provozu.

Interpretovatelnost a vysvětlitelnost

  • Globální vs. lokální: globální význam rysů (Permutation importance, GINI), parciální závislosti (PDP), ICE křivky; lokální metody LIME/SHAP.
  • Konfuzní matice a analýzy chyb: segmentace problematických podmnožin (slicing) → cílené zlepšení výkonu.
  • Fairness: metriky parity (demografická parita, equal opportunity), testování biasu a jeho mitigace (reweighing, post-processing).

Pravděpodobnostní modelování a Bayesovský přístup

  • Grafické modely: Bayesovské sítě, Markovské sítě; inference metodami jako belief propagation, variational inference.
  • Bayesovská regrese/klasifikace: prior – likelihood – posterior; výhoda kvantifikace nejistoty; aproximace pomocí MCMC nebo variational inference.
  • Kalibrace a nejistota: predikční intervaly, epistemická vs. aleatorní nejistota; použití ansámblů a MC dropout.

Neuronové architektury a moderní triky hlubokého učení

  • CNN: konvoluce, kernel/stride/padding, residual spojení (ResNet), attention v obraze (Vision Transformer – ViT).
  • RNN/LSTM/GRU: sekvenční data, dlouhodobé závislosti; masking, teacher forcing.
  • Transformery: self-attention, multi-head attention, poziční kódování; škálují se lépe než RNN; pretraining a následný fine-tuning.
  • Optimalizace v hlubokém učení: mixed precision, ořez gradientů (gradient clipping), schedule učení (cosine decay, one-cycle), checkpointing.

Zesilované učení (Reinforcement Learning) v kostce

  • Prvky RL: stav s, akce a, odměna r, politika π, hodnotová funkce V, akční hodnota Q.
  • Metody: value-based (Q-learning, DQN), policy gradient (REINFORCE), actor–critic (A2C/A3C, PPO), model-based (MCTS, World Models).
  • Exploration vs. exploitation: ε-greedy, UCB, entropy bonus.

Časové řady a predikce

  • Klasika: ARIMA/SARIMA, ETS; exogenní proměnné (ARIMAX).
  • ML/DL: gradient boosting na lag/rolling funkcích, LSTM/Transformer (Temporal Fusion, Informer). Pozor na leakage při feature engineeringu.

Od prototypu k produkci: MLOps

  • Reprodukovatelnost: správa verzí dat, seedů, prostředí (kontejnery), deklarativní pipelines.
  • Nasazení: batch vs. online inference, latence a škálování; feature store pro konzistenci mezi tréninkem a inferencí.
  • Monitoring: sledování driftu dat a skóre, výkonnosti (latence, propustnost), metrik kvality; alerting a rollback strategie.
  • Etika a soulad: privacy-by-design, minimalizace osobních údajů, auditovatelnost rozhodnutí.

Praktický návrhový postup (end-to-end)

  1. Formulace cíle: jasná metrika úspěchu (např. F1@0.5, RMSE < X), omezení (latence, paměť, fairness).
  2. Data a EDA: kvalita, chybějící hodnoty, nevyváženost, drift; datové protokoly a dokumentace.
  3. Baseline: jednoduchý model (logistická regrese, GBM) a realistická validace; nastavení referenčního výkonu.
  4. Feature pipeline: škálování, encoding, agregace; zabalení do reprodukovatelné pipeline.
  5. Model a tuning: výběr rodiny (stromy vs. neuronové sítě), hyperparametry (random/Bayes), regularizace a early stopping.
  6. Hodnocení a interpretace: více metrik, analýza chyb, SHAP/PDP, testy fairness.
  7. Hardening a nasazení: robustnost na šum, testy mimo distribuční data, monitoring; CI/CD a rollback.

Časté chyby a jak se jim vyhnout