Sådan planlægges og køres maskinindlæringseksperimenter systematisk

Sådan planlægges og køres maskinindlæringseksperimenter systematisk

Eksperter med maskinindlæring kan tage lang tid. Timer, dage og endda uger i nogle tilfælde.

Dette giver dig en masse tid til at tænke og planlægge, at yderligere eksperimenter skal udføres.

Derudover kan det gennemsnitlige anvendte maskinlæringsprojekt kræve ti til hundreder af diskrete eksperimenter for at finde en dataforberedelsesmodel og modelkonfiguration, der giver god eller god ydeevne.

Eksperimenternes trukkede karakter betyder, at du skal planlægge og styre den rækkefølge og type eksperimenter, du kører nøje.

Du skal være systematisk.

I dette indlæg vil du opdage en enkel tilgang til planlægning og styring af dine maskinlæringseksperimenter.

Med denne tilgang vil du være i stand til at:

  • Hold øje med de vigtigste spørgsmål og fund i dit projekt.
  • Hold styr på, hvilke eksperimenter du har gennemført og gerne vil køre.
  • Zoom ind på dataforberedelser, modeller og modelkonfigurationer, der giver den bedste ydelse.

Lad os dykke ind.

Sådan planlægges og køres maskinindlæringseksperimenter systematisk

Sådan planlægges og køres maskinindlæringseksperimenter systematisk
Foto af Qfamily, nogle rettigheder forbeholdes.

Forvirring af hundreder af eksperimenter

Jeg kan godt lide at køre eksperimenter natten over. Masser af eksperimenter.

Dette er sådan, at når jeg vågner op, kan jeg kontrollere resultaterne, opdatere mine ideer om, hvad der fungerer (og hvad der ikke fungerer) og starte den næste eksperimentrunde og derefter bruge lidt tid på at analysere resultaterne.

Jeg hader at spilde tid.

Og jeg hader at køre eksperimenter, der ikke bringer mig tættere på målet om at finde den mest dygtige model i betragtning af den tid og ressourcer, jeg har til rådighed.

Det er let at miste styr på, hvor du holder på. Især når du har resultater, analyser og fund fra hundredvis af eksperimenter.

Dårlig styring af dine eksperimenter kan føre til dårlige situationer, hvor:

  • Du ser eksperimenter køre.
  • Du forsøger at komme med gode ideer til eksperimenter, der skal køre lige efter, at en nuværende batch er færdig.
  • Du kører et eksperiment, som du allerede havde kørt før.

Du vil aldrig være i nogen af ​​disse situationer!

Hvis du er på toppen af ​​dit spil, så:

  • Du ved nøjagtigt, hvilke eksperimenter du har kørt med et øjeblik, og hvad resultaterne var.
  • Du har en lang liste med eksperimenter at køre, sorteret efter deres forventede udbytte.
  • Du har tid til at dykke ned i analysen af ​​resultaterne og tænke nye og vilde ideer til at prøve.

Men hvordan kan vi holde os på toppen af ​​hundreder af eksperimenter?

Design og kør eksperimenter systematisk

En måde, som jeg har fundet ud af at hjælpe mig med at være systematisk med eksperimenter på et projekt, er at bruge et regneark.

Administrer de eksperimenter, du har udført, som kører, og som du vil køre i et regneark.

Det er enkelt og effektivt.

Enkel

Det er enkelt, fordi jeg eller nogen kan få adgang til det hvor som helst og se, hvor vi er.

Jeg bruger Google Docs til at være vært for regnearket.

Der er ingen kode. Ingen notesbog. Ingen fancy webapp.

Bare et regneark.

Effektiv

Det er effektivt, fordi det kun indeholder de nødvendige oplysninger med en linje pr. Eksperiment og en kolonne for hvert stykke information, der skal spores på eksperimentet.

Eksperimenter, der udføres, kan adskilles fra de planlagte.

Kun eksperimenter, der er planlagt, opsættes og køres, og deres rækkefølge sikrer, at de vigtigste eksperimenter køres først.

Du vil blive overrasket over, hvor meget en sådan enkel tilgang kan frigøre din tid og få dig til at tænke dybt over dit projekt.

Eksempel på regneark

Lad os se på et eksempel.

Vi kan forestille os et regneark med nedenstående kolonner.

Dette er blot et eksempel fra det sidste projekt, jeg arbejdede med. Jeg anbefaler at tilpasse disse til dine egne behov.

  • Underprojekt: Et delprojekt kan være en gruppe ideer, du udforsker, en teknik, en dataforberedelse osv.
  • Sammenhæng: Konteksten kan være det specifikke mål såsom at slå en baseline, tuning, en diagnostik osv.
  • Opsætning: Opsætningen er den faste konfiguration af eksperimentet.
  • Navn: Navnet er den unikke identifikator, måske filnavnet på scriptet.
  • Parameter: Parameteren er den ting, der varieres eller ses på i eksperimentet.
  • Værdier: Værdien er værdien eller værdierne for den parameter, der undersøges i eksperimentet.
  • Status: Status er eksperimentets status, som planlagt, kørt eller færdig.
  • Evne: Færdigheden er North Star-metricen, der virkelig betyder noget for projektet, som nøjagtighed eller fejl.
  • Spørgsmål: Spørgsmålet er det motiverende spørgsmål, eksperimentet søger at tage op.
  • Finder: Fundet er en linjesammendrag af resultatet af eksperimentet, svaret på spørgsmålet.

For at gøre dette konkret er nedenunder et screenshot af et Google Doc-regneark med disse kolonneoverskrifter og et konstrueret eksempel.

Systematisk eksperimentel registrering

Systematisk eksperimentel registrering

Jeg kan ikke sige, hvor meget tid denne tilgang har sparet mig. Og antallet af antagelser om, at det viste sig at være forkert i jagten på at få topresultater.

Faktisk har jeg opdaget, at dybe læringsmetoder ofte er ret fjendtlige over for antagelser og standarder. Husk dette, når du designer eksperimenter!

Få mest muligt ud af dine eksperimenter

Nedenfor er nogle tip, der hjælper dig med at få mest muligt ud af denne enkle tilgang til dit projekt.

  • Brainstorm: Giv dig tid til ofte at gennemse resultaterne og opregne nye spørgsmål og eksperimenter for at besvare dem.
  • Udfordring: Udfordringsantagelser og udfordrer tidligere fund. Spil videnskabsmanden og design eksperimenter, der ville falske dine fund eller forventninger.
  • Underprojekter: Overvej brugen af ​​delprojekter til at strukturere din undersøgelse, hvor du følger kundeemner eller undersøge specifikke metoder.
  • Eksperimentel rækkefølge: Brug rækkefølgen som en prioritet for at sikre, at de vigtigste eksperimenter køres først.
  • Dybere analyse: Gem dybere analyse af resultater og aggregerede fund i et andet dokument; regnearket er ikke stedet.
  • Eksperimenttyper: Vær ikke bange for at blande forskellige eksperimenttyper ind, såsom gittersøgning, spotkontrol og modeldiagnostik.

Du ved, at denne tilgang fungerer godt, når:

  • Du gennemsøger API-dokumentation og papirer for at få flere ideer om ting, du kan prøve.
  • Du har langt flere eksperimenter i kø end ressourcer til at køre dem.
  • Du overvejer seriøst at ansætte et ton flere EC2-forekomster.

Resumé

I dette indlæg opdagede du, hvordan du effektivt kan styre hundredvis af eksperimenter, der har kørt, kører, og at du vil køre i et regneark.

Du opdagede, at et enkelt regneark kan hjælpe dig:

  • Hold styr på, hvilke eksperimenter du har kørt, og hvad du har opdaget.
  • Hold styr på, hvilke eksperimenter du vil køre, og hvilke spørgsmål de vil besvare.
  • Zoom ind på den mest effektive dataforberedelse, model og modelkonfiguration til dit forudsigelige modelleringsproblem.

Har du spørgsmål til denne tilgang? Har du selv gjort noget lignende?
Lad mig vide i kommentarerne nedenfor.

Du kan også være interesseret i