Hiperparametry to parametry modelu uczenia maszynowego, które są ustawiane przed procesem treningu i nie są optymalizowane podczas uczenia się modelu. Przykłady hiperparametrów obejmują szybkość uczenia się, liczbę warstw w sieci neuronowej, liczbę drzew w losowym lesie itp.
Optymalizacja hiperparametrów:
- Próba i błąd: Ręczne testowanie różnych kombinacji hiperparametrów.
- Przeszukiwanie siatki (Grid Search): Systematyczne przeszukiwanie ustalonego podzbioru hiperparametrów.
- Przeszukiwanie losowe (Random Search): Losowe próbkowanie z przestrzeni hiperparametrów.
- Optymalizacja bayesowska: Używanie metod probabilistycznych do modelowania i optymalizacji funkcji celu.
- Techniki przyspieszające: Wykorzystanie zaawansowanych algorytmów, takich jak Hyperband, do efektywniejszej optymalizacji.
Przykład optymalizacji hiperparametrów za pomocą Grid Search w Pythonie:
from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier param_grid = { 'n_estimators': [100, 200, 300], 'max_depth': [None, 10, 20, 30], 'min_samples_split': [2, 5, 10] } grid_search = GridSearchCV(RandomForestClassifier(), param_grid, cv=5) grid_search.fit(X_train, y_train) print('Best hyperparameters:', grid_search.best_params_)
Optymalizacja hiperparametrów jest kluczowym krokiem w procesie trenowania modeli uczenia maszynowego, ponieważ wpływa na ich wydajność i dokładność.