Junior — Middle
Co je přetrénování? Jaké jsou způsoby, jak s tím bojovat?
sobes.tech AI
Odpověď od AI
Overfitting (přeučení) je situace, kdy model strojového učení příliš dobře přizpůsobí tréninková data, včetně šumu a náhodných výkyvů, a kvůli tomu špatně generalizuje na nová, neviditelná data.
Způsoby boje s přeučením:
- Regularizace (L1, L2) — přidání trestu za složitost modelu, aby se zabránilo příliš velkým vahám.
- Včasné zastavení — zastavení tréninku, když se kvalita na validační sadě začíná zhoršovat.
- Zvýšení objemu dat — více dat pomáhá modelu lépe generalizovat.
- Křížová validace — pomáhá odhadnout schopnost modelu generalizovat a ladit parametry.
- Dropout (pro neuronové sítě) — náhodné vypínání neuronů během tréninku, aby se zabránilo závislosti na určitých znacích.
- Zjednodušení modelu — snížení počtu parametrů nebo vrstev.
Příklad regularizace v lineární regresi:
from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0) # L2 regularizace
model.fit(X_train, y_train)