Jak systematycznie planować i przeprowadzać eksperymenty z uczeniem maszynowym

Jak systematycznie planować i przeprowadzać eksperymenty z uczeniem maszynowym

Eksperymenty z uczeniem maszynowym mogą zająć dużo czasu. W niektórych przypadkach godziny, dni, a nawet tygodnie.

Daje to dużo czasu na przemyślenie i zaplanowanie dodatkowych eksperymentów do wykonania.

Ponadto przeciętny projekt wykorzystujący uczenie maszynowe może wymagać dziesiątek do setek dyskretnych eksperymentów w celu znalezienia modelu przygotowania danych i konfiguracji modelu, które zapewniają dobrą lub doskonałą wydajność.

Przeciągający się charakter eksperymentów oznacza, że ​​musisz dokładnie zaplanować i zarządzać kolejnością i rodzajem przeprowadzanych eksperymentów.

Musisz być systematyczny.

W tym poście poznasz proste podejście do planowania i zarządzania eksperymentami z uczeniem maszynowym.

Dzięki takiemu podejściu będziesz w stanie:

  • Bądź na bieżąco z najważniejszymi pytaniami i odkryciami w swoim projekcie.
  • Śledź, jakie eksperymenty ukończyłeś i chciałbyś przeprowadzić.
  • Powiększ przygotowania danych, modele i konfiguracje modeli, które zapewniają najlepszą wydajność.

Zanurzmy się.

Jak systematycznie planować i przeprowadzać eksperymenty z uczeniem maszynowym

Jak systematycznie planować i przeprowadzać eksperymenty z uczeniem maszynowym
Zdjęcie autorstwa Qfamily, niektóre prawa zastrzeżone.

Pomieszanie setek eksperymentów

Lubię przeprowadzać eksperymenty z dnia na dzień. Wiele eksperymentów.

Dzieje się tak, aby po przebudzeniu sprawdzić wyniki, zaktualizować swoje pomysły na temat tego, co działa (a co nie), rozpocząć kolejną rundę eksperymentów, a następnie poświęcić trochę czasu na analizę wyników.

Nienawidzę tracić czasu.

Nienawidzę przeprowadzania eksperymentów, które nie przybliżają mnie do celu, jakim jest znalezienie najbardziej zręcznego modelu, biorąc pod uwagę czas i dostępne zasoby.

Łatwo jest stracić orientację, dokąd zmierzasz. Zwłaszcza po uzyskaniu wyników, analiz i wniosków z setek eksperymentów.

Złe zarządzanie eksperymentami może prowadzić do złych sytuacji, w których:

  • Oglądasz przeprowadzane eksperymenty.
  • Próbujesz wymyślić dobre pomysły na eksperymenty, które można przeprowadzić zaraz po zakończeniu bieżącej partii.
  • Przeprowadzasz eksperyment, który już przeprowadziłeś wcześniej.

Nigdy nie chcesz być w żadnej z tych sytuacji!

Jeśli jesteś na szczycie swojej gry, to:

  • Wiesz dokładnie, jakie eksperymenty przeprowadziłeś na pierwszy rzut oka i jakie były ich wyniki.
  • Masz długą listę eksperymentów do przeprowadzenia, uporządkowaną według oczekiwanego efektu.
  • Masz czas, aby zagłębić się w analizę wyników i wymyślić nowe, szalone pomysły do ​​wypróbowania.

Ale jak możemy utrzymać się na szczycie setek eksperymentów?

Planuj i przeprowadzaj eksperymenty systematycznie

Jednym ze sposobów, które pomogły mi w systematycznym przeprowadzaniu eksperymentów nad projektem, jest użycie arkusza kalkulacyjnego.

Zarządzaj eksperymentami, które wykonałeś, które są uruchomione i które chcesz przeprowadzić w arkuszu kalkulacyjnym.

To jest proste i skuteczne.

Prosty

Jest to proste, ponieważ ja lub każdy może uzyskać do niego dostęp z dowolnego miejsca i zobaczyć, gdzie jesteśmy.

Używam Dokumentów Google do hostowania arkusza kalkulacyjnego.

Nie ma kodu. Bez notatnika. Żadnej wyszukanej aplikacji internetowej.

Tylko arkusz kalkulacyjny.

Efektywny

Jest skuteczny, ponieważ zawiera tylko potrzebne informacje, z jednym wierszem na eksperyment i jedną kolumną na każdą informację do śledzenia w eksperymencie.

Przeprowadzone eksperymenty można oddzielić od zaplanowanych.

Tylko eksperymenty, które są zaplanowane, są konfigurowane i przeprowadzane, a ich kolejność zapewnia, że ​​najważniejsze eksperymenty są uruchamiane jako pierwsze.

Będziesz zaskoczony, jak bardzo takie proste podejście może zwolnić Twój czas i skłonić do głębokiego przemyślenia projektu.

Przykładowy arkusz kalkulacyjny

Spójrzmy na przykład.

Możemy sobie wyobrazić arkusz kalkulacyjny z poniższymi kolumnami.

To tylko przykład z ostatniego projektu, nad którym pracowałem. Polecam dostosować je do własnych potrzeb.

  • Podprojekt: Podprojekt może być grupą pomysłów, które badasz, techniką, przygotowaniem danych i tak dalej.
  • Kontekst: Kontekst może być konkretnym celem, takim jak pokonanie punktu odniesienia, dostrojenie, diagnostyka i tak dalej.
  • Ustawiać: Konfiguracja to stała konfiguracja eksperymentu.
  • Nazwa: Nazwa jest unikalnym identyfikatorem, być może nazwą pliku skryptu.
  • Parametr: Parametr to zmienna lub oglądana w eksperymencie rzecz.
  • Wartości: Wartość to wartość lub wartości parametru, które są badane w eksperymencie.
  • Status: Stan to stan eksperymentu, np. Zaplanowany, uruchomiony lub zakończony.
  • Umiejętność: Umiejętność to wskaźnik North Star, który naprawdę ma znaczenie w projekcie, np. Dokładność lub błąd.
  • Pytanie: Pytanie jest motywującym pytaniem, na które ma odpowiedzieć eksperyment.
  • Odkrycie: Odkrycie jest jednym wierszem podsumowania wyniku eksperymentu, odpowiedzią na pytanie.

Aby uczynić to konkretnym, poniżej znajduje się zrzut ekranu arkusza kalkulacyjnego Google Doc z tymi nagłówkami kolumn i wymyślonym przykładem.

Systematyczny zapis eksperymentów

Systematyczny zapis eksperymentów

Nie mogę powiedzieć, ile czasu zaoszczędziło mi to podejście. I liczba założeń, że w dążeniu do najlepszych wyników okazało się to błędne.

W rzeczywistości odkryłem, że metody głębokiego uczenia są często dość wrogie wobec założeń i wartości domyślnych. Należy o tym pamiętać podczas projektowania eksperymentów!

Wykorzystaj w pełni swoje eksperymenty

Poniżej znajduje się kilka wskazówek, które pomogą Ci w pełni wykorzystać to proste podejście do projektu.

  • Burza mózgów: Poświęć czas na częste przeglądanie wyników i wymień nowe pytania i eksperymenty, aby na nie odpowiedzieć.
  • Wyzwanie: Podważaj założenia i kwestionuj wcześniejsze ustalenia. Zagraj w naukowca i zaprojektuj eksperymenty, które sfałszują twoje ustalenia lub oczekiwania.
  • Podprojekty: Rozważ wykorzystanie podprojektów, aby ustrukturyzować swoje badanie, w którym podążasz za wskazówkami lub badasz określone metody.
  • Porządek eksperymentalny: Użyj kolejności wierszy jako priorytetu, aby upewnić się, że najważniejsze eksperymenty są uruchamiane jako pierwsze.
  • Głębsza analiza: Zapisz głębszą analizę wyników i zagregowanych ustaleń w innym dokumencie; arkusz kalkulacyjny nie jest tym miejscem.
  • Typy eksperymentów: Nie bój się mieszać różnych typów eksperymentów, takich jak wyszukiwanie w siatce, kontrole wyrywkowe i diagnostyka modelu.

Będziesz wiedział, że to podejście działa dobrze, gdy:

  • Przeszukujesz dokumentację API i dokumenty, aby znaleźć więcej pomysłów na wypróbowanie.
  • Masz w kolejce znacznie więcej eksperymentów niż zasobów do ich uruchomienia.
  • Myślisz poważnie o zatrudnieniu o tonę więcej instancji EC2.

Podsumowanie

W tym poście odkryłeś, jak możesz skutecznie zarządzać setkami eksperymentów, które zostały uruchomione, są uruchomione i które chcesz przeprowadzić w arkuszu kalkulacyjnym.

Odkryłeś, że prosty arkusz kalkulacyjny może Ci pomóc:

  • Śledź, jakie eksperymenty przeprowadziłeś i co odkryłeś.
  • Śledź, jakie eksperymenty chcesz przeprowadzić i na jakie pytania odpowiedzą.
  • Powiększ najskuteczniejsze przygotowanie danych, model i konfigurację modelu dla problemu z modelowaniem predykcyjnym.

Czy masz jakieś pytania dotyczące tego podejścia? Czy sam zrobiłeś coś podobnego?
Daj mi znać w komentarzach poniżej.

Możesz być również zainteresowany