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
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
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.