Ітерації без перенавчання

Проєктування робочих процесів машинного навчання в Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Схема показує, що конвеєр машинного навчання можна далі налаштовувати після розгортання в продакшені.

Проєктування робочих процесів машинного навчання в Python

На цій самій схемі показано, що з продакшену можна отримувати більше даних для подальшого налаштування моделі.

Проєктування робочих процесів машинного навчання в Python

На цій самій схемі показано, що галузеві експерти можуть дати нові ідеї, які змінять модель, наприклад нові функції втрат.

Проєктування робочих процесів машинного навчання в Python

На цій самій схемі модель у продакшені позначено як «чемпіон», а ту, що в розробці, — як «челенджер».

Проєктування робочих процесів машинного навчання в Python

Результати кросвалідації

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
...
Проєктування робочих процесів машинного навчання в Python

Результати кросвалідації

   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

Спостереження:

  • Тренувальна оцінка значно вища за тестову.
  • Стандартне відхилення тестової оцінки велике.
Проєктування робочих процесів машинного навчання в Python

Набір даних поділено на train і test; train додатково розбито на частини кросвалідацією.

Проєктування робочих процесів машинного навчання в Python

Набір даних поділено на train і validation; train додатково розбито на частини кросвалідацією.

Проєктування робочих процесів машинного навчання в Python

Виявлення перенавчання

  • Оцінка CV на train >> оцінка CV на test
    • перенавчання під час фітингу моделі
    • зменште складність класифікатора
    • зберіть більше тренувальних даних
    • збільшіть кількість фолдів у CV
  • Оцінка CV на test >> оцінка на validation
    • перенавчання під час тюнінгу моделі
    • зменште кількість фолдів у CV
    • зменште розмір сітки параметрів

Набір даних поділено на train і validation; train додатково розбито на частини кросвалідацією.

Проєктування робочих процесів машинного навчання в Python

Набір даних поділено на train і validation; train додатково розбито на частини кросвалідацією.

Проєктування робочих процесів машинного навчання в Python

Набір даних поділено на train, validation і production; train додатково розбито на частини кросвалідацією.

Проєктування робочих процесів машинного навчання в Python

«Expert in CV» у вашому резюме!

Проєктування робочих процесів машинного навчання в Python

Preparing Video For Download...