Junior — Middle
Czym jest przeuczenie? Jakie są sposoby z nim walczyć?
sobes.tech AI
Odpowiedź od AI
Overfitting (przeuczenie) — to sytuacja, gdy model uczenia maszynowego zbyt dobrze dopasowuje się do danych treningowych, w tym szumu i losowych wahań, i przez to słabo generalizuje na nowe, niewidzialne dane.
Sposoby walki z przeuczeniem:
- Regularyzacja (L1, L2) — dodanie kary za złożoność modelu, aby zapobiec zbyt dużym wagom.
- Wczesne zatrzymanie treningu — zatrzymanie treningu, gdy jakość na zbiorze walidacyjnym zaczyna się pogarszać.
- Zwiększenie objętości danych — więcej danych pomaga modelowi lepiej generalizować.
- Walidacja krzyżowa — pomaga ocenić zdolność generalizacji modelu i dobrać parametry.
- Dropout (dla sieci neuronowych) — losowe wyłączanie neuronów podczas treningu, aby zapobiec zależności od pojedynczych cech.
- Uproszczenie modelu — zmniejszenie liczby parametrów lub warstw.
Przykład regularyzacji w regresji liniowej:
from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0) # Regularyzacja L2
model.fit(X_train, y_train)