Powrót do strony głównej

Przesunięcie rozkładu w ML: diagnostyka i rozwiązanie | Data Science

Artykuł wyjaśnia mechanizmy powstawania przesunięcia rozkładu danych w modelach ML. Opisuje metody diagnostyki za pomocą PSI, testów statystycznych i klasyfikatorów domenowych. Proponuje strategie adaptacji: ponowne uczenie, uczenie transferowe i fine-tuning.

Jak uratować model ML przed spadkiem metryk z powodu przesunięcia rozkładu
Advertisement 728x90

# Diagnostyka i eliminacja przesunięcia rozkładu w ML w produkcji

Nagłe spadki metryk jakości modelu w produkcji często wynikają z przesunięcia rozkładu danych. Dzieje się tak, gdy statystyczne właściwości danych wejściowych w warunkach eksploatacyjnych różnią się od tych, na których model był trenowany. Omawiamy typy przesunięć, metody monitoringu oraz strategie adaptacji modeli.

Istota problemu: jak przesunięcie rozkładu psuje model

Distribution shift występuje, gdy dane w środowisku produkcyjnym przestają odpowiadać próbce treningowej. Klasyczny przykład: model regresji liniowej ekstrapoluje trend poza zakres treningowy, podczas gdy metody nieparametryczne (Random Forest, KNN) wydają stałe predykcje. Dzieje się tak, ponieważ modele nieparametryczne nie uogólniają danych poza obserwowanym rozkładem. W rzeczywistych systemach takie scenariusze prowadzą do katastrofalnego spadku accuracy, nawet jeśli model osiągał świetne wyniki na etapie development.

Kluczowa kwestia: przesunięcie rozkładu nie zawsze wynika z błędów w kodzie. Często problem tkwi w zmianie logiki biznesowej, zachowań użytkowników lub czynników zewnętrznych. Na przykład, aktualizacja katalogu kategorii w systemie e-commerce sprawia, że część cech modelu staje się nieznana, co natychmiast odbija się na metrykach.

Google AdInline article slot

Klasyfikacja przesunięć: trzy kluczowe typy

Istnieją trzy fundamentalne rodzaje distribution shift, wymagające różnych podejść do diagnostyki:

  • Przesunięcie kowariatów — zmiana rozkładu cech wejściowych. Na przykład, dodanie nowych kategorii do katalogu, na którym model nie był trenowany.
  • Przesunięcie etykiet — zmiana rozkładu zmiennej docelowej. Typowy przypadek: model diagnostyki rzadkiej choroby, wytrenowany w okresie epidemii, wydaje fałszywie pozytywne wyniki w okresie międzysesonowym.
  • Przesunięcie konceptu — zmiana relacji między cechami a zmienną docelową. Na przykład, zmiana preferencji użytkowników w mediach społecznościowych, gdy wcześniej popularna treść przestaje zbierać lajki.

W praktyce te typy często się łączą. Przesunięcie kowariatów może wywołać przesunięcie konceptu, jeśli reguły biznesowe zmieniają się jednocześnie z zachowaniami użytkowników. To komplikuje izolację przyczyny głównej i wymaga monitoringu wielopoziomowego.

Dlaczego dane "odpływają": główne przyczyny

Dryf danych arises z czterech głównych powodów:

Google AdInline article slot
  • Dryf czasowy — naturalna ewolucja zachowań użytkowników lub warunków zewnętrznych (np. sezonowe wahania popytu).
  • Zmiana metod zbierania danych — wymiana sensorów, aktualizacja formatu logów lub zmiana UI wpływająca na metryki behawioralne.
  • Przesunięta próba — trenowanie na niewystarczająco reprezentatywnych danych (np. rozpoznawanie obiektów tylko na tle zoo).
  • Transfer międzydomenowy — stosowanie modelu w środowisku o innych warunkach (np. system nawigacyjny dla europejskich dróg w warunkach indyjskiego ruchu).

Szczególne zagrożenie stanowi kombinacja dryfu czasowego i zmian w zbieraniu danych. Przejście na nową wersję aplikacji mobilnej może jednocześnie zmienić wzorce interakcji użytkowników i format logowania, tworząc efekt kaskadowy.

Narzędzia monitoringu: od PSI do klasyfikatorów domenowych

Skuteczny monitoring wymaga podejścia wielopoziomowego. Jeśli dostępny jest target online, śledź główną metrykę jakości (np. ROC-AUC). Przy opóźnionym targetcie skup się na metrykach proxy i rozkładach cech.

Kluczowe narzędzie — Population Stability Index (PSI). Metryka porównuje rozkład cechy między okresem referencyjnym a bieżącym:

Google AdInline article slot
PSI = sum((A_i - E_i) * ln((A_i + ε) / (E_i + ε)))

gdzie E_i — udział obserwacji w i-tym binie okresu referencyjnego, A_i — bieżący udział, ε — stała wygładzająca (1e-6).

Interpretacja wartości:

  • PSI < 0.1 — nieznaczne zmiany (stabilność)
  • 0.1 ≤ PSI < 0.25 — umiarkowany shift (wymaga analizy)
  • PSI ≥ 0.25 — krytyczny dryf (konieczne interwencja)

Dla cech kategorycznych stosuj test chi-kwadrat, dla numerycznych — odległość Wassershteina lub test Kolmogorowa-Smirnowa. Dla modeli głębokich analizuj embeddingi za pomocą PCA/t-SNE lub użyj klasyfikatora domenowego: wytrenuj binarny klasyfikator do rozróżniania danych z próbki treningowej i produkcji. AUC > 0.7 sygnalizuje znaczący shift.

Strategie adaptacji: jak przywrócić model do działania

Po wykryciu shiftu zastosuj jedną ze strategii:

Planowe i wyzwalane retrenowanie

Łącz regularne aktualizacje modelu (np. co tydzień) z natychmiastowym retrenowaniem po przekroczeniu progu PSI. Krytycznie ważne, by nowa próbka treningowa odzwierciedlała aktualny rozkład danych — sprawdzaj to za pomocą testów statystycznych.

Transfer learning

Dla sieci neuronowych użyj fine-tuningu:

  • Pełne dokończenie treningu (odmrożenie wszystkich warstw) — skuteczne przy wystarczającej ilości nowych danych
  • Head tuning (trenowanie tylko warstwy klasyfikującej) — odporne na szum przy małych próbkach

Dla boostingów stosuj rozbudowę ensemble za pomocą parametru init_model, dodając nowe drzewa na świeżych danych. Główne ograniczenie — ryzyko przeuczenia na szumie przy niewystarczającej ilości danych.

Adaptacja bez retrenowania

W niektórych przypadkach pomaga kalibracja predykcji lub wprowadzenie wag podczas treningu, kompensujących shift rozkładu. Jednak te metody są mniej niezawodne niż aktualizacja modelu.

Co ważne

  • Przesunięcie kowariatów — najczęstsza przyczyna spadku metryk, wymagająca monitoringu rozkładu cech wejściowych
  • PSI ≥ 0.25 — krytyczny próg, wymagający natychmiastowej interwencji
  • Łącz planowe retrenowanie z wyzwalanym na podstawie monitoringu
  • Dla sieci neuronowych head tuning zmniejsza ryzyko przeuczenia przy adaptacji do nowych danych
  • Klasyfikator domenowy pomaga nie tylko wykryć shift, ale i zidentyfikować problematyczne cechy

— Editorial Team

Advertisement 728x90

Czytaj dalej