Wariancja (ang. variance) to w machine learningu miara tego, jak mocno przewidywania Twojego modelu zmieniają się, gdy wytrenujesz go na innym zbiorze danych treningowych. Innymi słowy: bierzesz ten sam algorytm, podajesz mu trochę inny wycinek danych i sprawdzasz, czy dostajesz mniej więcej to samo, czy zupełnie inny model. Jeśli wyniki skaczą jak szalone, masz wysoką wariancję — a to zazwyczaj zapach overfittingu (przeuczenia). Model nauczył się danych na pamięć, razem z szumem, zamiast wyłapać ogólny wzorzec.
Jak to działa i po co to liczyć
Wariancja jest jedną z dwóch składowych błędu modelu — drugą jest bias (obciążenie). Ten słynny bias-variance tradeoff mówi, że zazwyczaj nie da się mieć obu na zero naraz. Prosty model (np. regresja liniowa) ma wysoki bias i niską wariancję: jest „uparty”, upraszcza rzeczywistość, ale przynajmniej zachowuje się przewidywalnie. Złożony model (głębokie drzewo decyzyjne, duża sieć neuronowa bez regularyzacji) ma niski bias i wysoką wariancję: dopasuje się do wszystkiego, łącznie z przypadkowymi fluktuacjami w danych.
W praktyce wariancję rozpoznasz po jednym symptomie: model osiąga świetny wynik na zbiorze treningowym i marny na walidacyjnym. Duża przepaść między tymi dwiema liczbami to klasyczny sygnał, że model się przeuczył.
Przykład z praktyki
Trenujesz RandomForestClassifier ze scikit-learn i chcesz zmierzyć, czy nie przeuczasz. Najprostsze narzędzie to walidacja krzyżowa: cross_val_score(model, X, y, cv=5). Jeśli dostaniesz wyniki w stylu [0.95, 0.62, 0.88, 0.71, 0.93] — czyli mocno rozrzucone między foldami — to właśnie objaw wysokiej wariancji. Model na każdym kawałku danych „myśli” inaczej. Lekarstwo: ogranicz złożoność (max_depth), zwiększ liczbę drzew, dorzuć więcej danych albo zastosuj regularyzację.
Częste błędy i mity
- Mylenie wariancji statystycznej z wariancją modelu. W statystyce wariancja to rozrzut wartości wokół średniej. W ML chodzi o rozrzut samych przewidywań przy różnych danych treningowych. Powiązane, ale to nie to samo.
- „Wysoka wariancja zawsze zła”. Nie — czasem to cena za niski bias. Celujesz w równowagę, nie w zero.
- Dokładanie warstw jako rozwiązanie. Bardziej złożony model zwykle podbija wariancję, a nie ją tłumi. Najpierw więcej danych i regularyzacja.
Pojęcia powiązane: bias, bias-variance tradeoff, overfitting (przeuczenie), underfitting, regularyzacja (L1/L2, dropout), walidacja krzyżowa.