Produkcyjne systemy ML: kiedy przekształcać dane?

Nieprzetworzone dane muszą zostać opracowane (przekształcone). Kiedy należy przekształcać dane? Ogólnie rzecz biorąc, inżynierię cech można przeprowadzić w następujące 2 okresy:

  • Przed trenowaniem modelu.
  • Podczas trenowania modelu.

Przekształcanie danych przed trenowaniem

W takim przypadku musisz wykonać 2 czynności:

  1. Pisz kod lub używaj specjalistycznych narzędzi aby przekształcić nieprzetworzone dane.
  2. Przechowuj przekształcone dane w miejscu, w którym model może przetwarzać dane, np. tak jak na dysku.

Zalety

  • System przekształca nieprzetworzone dane tylko raz.
  • System może przeanalizować cały zbiór danych, aby określić najlepszą i transformacji.

Wady

Zniekształcenia między trenowaniem a zastosowaniem są bardziej niebezpieczne, gdy system działa dynamicznie (online). W systemie, który wykorzystuje wnioskowanie dynamiczne, oprogramowanie, które przekształca dane nieprzetworzony zbiór danych różni się zwykle od oprogramowania służącego do wyświetlania prognoz, co może powodować zniekształcenia między trenowaniem a zastosowaniem. Z kolei systemy, które wykorzystują wnioskowanie statyczne (offline), mogą czasami korzystają z tego samego oprogramowania.

Przekształcanie danych podczas trenowania

W tym podejściu przekształcenie jest częścią kodu modelu. Model pozyskuje nieprzetworzone dane i przekształca je.

Zalety

  • Jeśli zmienisz przekształcenia, nadal możesz używać tych samych nieprzetworzonych danych.
  • W czasie trenowania i prognozowania masz zapewnione te same przekształcenia.

Wady

  • Złożone przekształcenia mogą zwiększyć czas oczekiwania modelu.
  • Przekształcenia występują dla każdej wsadu.

Transformacja danych dla pojedynczej partii może być trudna. Załóżmy na przykład, że chcesz użyj normalizacji wyniku Z, nieprzetworzone dane liczbowe. Normalizacja wyniku Z wymaga średniej oraz odchylenie standardowe cechy. Jednakże dzięki przekształceniu na wsad będziesz mieć dostęp tylko do jedną porcję danych, a nie cały zbiór danych. Jeśli partie są bardzo popularne wynik, np. -2, 5 w jednej partii, nie oznacza tego samego znaczenia. jako -2,5 w innej grupie. Aby obejść ten problem, system może wstępnie obliczyć średnią i odchylenie standardowe w całym zbiorze danych, a potem używać ich jako stałych w modelu.