Iterace bez přeučení

Designing Machine Learning Workflows in Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Schéma znázorňující, že pipeline strojového učení lze dále ladit i po nasazení do produkce.

Designing Machine Learning Workflows in Python

Ve stejném schématu je znázorněno, že z produkce lze získat další data pro ladění modelu.

Designing Machine Learning Workflows in Python

Ve stejném schématu je znázorněno, že doménoví experti mohou přinést nové poznatky měnící model, například nové ztrátové funkce.

Designing Machine Learning Workflows in Python

Ve stejném schématu je model nasazený v produkci označen jako šampion a model ve vývoji jako vyzyvatel.

Designing Machine Learning Workflows in Python

Výsledky křížové validace

grid_search = GridSearchCV(pipe, params, cv=3, return_train_score=True)
gs = grid_search.fit(X_train, y_train)
results = pd.DataFrame(gs.cv_results_)
results[['mean_train_score', 'std_train_score', 
   'mean_test_score', 'std_test_score']]
   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
...
Designing Machine Learning Workflows in Python

Výsledky křížové validace

   mean_train_score  std_train_score  mean_test_score  std_test_score
0             0.829            0.006            0.735           0.009
1             0.829            0.006            0.725           0.009
2             0.961            0.008            0.716           0.019
3             0.981            0.005            0.749           0.024
4             0.986            0.003            0.728           0.009
5             0.995            0.002            0.751           0.008

Pozorování:

  • Trénovací skóre je výrazně vyšší než testovací.
  • Směrodatná odchylka testovacího skóre je velká.
Designing Machine Learning Workflows in Python

Dataset rozdělený na trénovací a testovací část, přičemž trénovací část je dále rozdělena křížovou validací.

Designing Machine Learning Workflows in Python

Dataset rozdělený na trénovací a validační část, přičemž trénovací část je dále rozdělena křížovou validací.

Designing Machine Learning Workflows in Python

Detekce přeučení

  • CV trénovací skóre >> CV testovací skóre
    • přeučení ve fázi trénování modelu
    • snížit složitost klasifikátoru
    • získat více trénovacích dat
    • zvýšit počet CV složení
  • CV testovací skóre >> validační skóre
    • přeučení ve fázi ladění modelu
    • snížit počet CV složení
    • zmenšit mřížku parametrů

Dataset rozdělený na trénovací a validační část, přičemž trénovací část je dále rozdělena křížovou validací.

Designing Machine Learning Workflows in Python

Dataset rozdělený na trénovací a validační část, přičemž trénovací část je dále rozdělena křížovou validací.

Designing Machine Learning Workflows in Python

Dataset rozdělený na trénovací, validační a produkční data, přičemž trénovací část je dále rozdělena křížovou validací.

Designing Machine Learning Workflows in Python

"Odborník na CV" ve vašem CV!

Designing Machine Learning Workflows in Python

Preparing Video For Download...