Hvordan planlegge og kjøre maskinlæringseksperimenter systematisk

Hvordan planlegge og kjøre maskinlæringseksperimenter systematisk

Maskinlæringseksperimenter kan ta lang tid. Timer, dager og til og med uker i noen tilfeller.

Dette gir deg mye tid til å tenke og planlegge for ytterligere eksperimenter å utføre.

I tillegg kan det gjennomsnittlige anvendte maskinlæringsprosjektet kreve titalls til hundrevis av diskrete eksperimenter for å finne en datamodell og modellkonfigurasjon som gir god eller god ytelse.

Eksperimentenes uttrukne natur betyr at du må planlegge og administrere rekkefølgen og typen eksperimenter du kjører nøye.

Du må være systematisk.

I dette innlegget vil du oppdage en enkel tilnærming til å planlegge og administrere maskinlæringseksperimenter.

Med denne tilnærmingen vil du kunne:

  • Hold deg oppdatert på de viktigste spørsmålene og funnene i prosjektet ditt.
  • Hold oversikt over hvilke eksperimenter du har fullført og ønsker å kjøre.
  • Zoom inn på dataforberedelsene, modellene og modellkonfigurasjonene som gir best ytelse.

La oss dykke inn.

Hvordan planlegge og kjøre maskinlæringseksperimenter systematisk

Hvordan planlegge og kjøre maskinlæringseksperimenter systematisk
Foto av Qfamily, noen rettigheter forbeholdt.

Forvirring av hundrevis av eksperimenter

Jeg liker å kjøre eksperimenter over natten. Mange eksperimenter.

Dette er slik at når jeg våkner, kan jeg sjekke resultatene, oppdatere ideene mine om hva som fungerer (og hva som ikke fungerer), og starte den neste eksperimentrunden, og deretter bruke litt tid på å analysere funnene.

Jeg hater å kaste bort tid.

Og jeg hater å kjøre eksperimenter som ikke kommer meg nærmere målet om å finne den mest dyktige modellen, gitt tid og ressurser jeg har tilgjengelig.

Det er lett å miste oversikten over hvor du holder på med. Spesielt etter at du har resultater, analyser og funn fra hundrevis av eksperimenter.

Dårlig administrasjon av eksperimentene dine kan føre til dårlige situasjoner der:

  • Du ser eksperimenter kjøre.
  • Du prøver å komme med gode ideer om eksperimenter for å kjøre rett etter at en nåværende batch er ferdig.
  • Du kjører et eksperiment som du allerede hadde kjørt før.

Du vil aldri være i noen av disse situasjonene!

Hvis du er på toppen av spillet ditt, så:

  • Du vet nøyaktig hvilke eksperimenter du har kjørt på et øyeblikk og hva funnene var.
  • Du har en lang liste med eksperimenter å kjøre, ordnet etter forventet utbytte.
  • Du har tid til å dykke ned i analysen av resultatene og tenke på nye og ville ideer å prøve.

Men hvordan kan vi holde oss på toppen av hundrevis av eksperimenter?

Design og kjør eksperimenter systematisk

En måte som jeg har funnet å hjelpe meg med å være systematisk med eksperimenter på et prosjekt, er å bruke et regneark.

Administrer eksperimentene du har gjort, som kjører, og som du vil kjøre i et regneark.

Det er enkelt og effektivt.

Enkel

Det er enkelt ved at jeg eller hvem som helst kan få tilgang til det hvor som helst og se hvor vi er.

Jeg bruker Google Dokumenter til å være vert for regnearket.

Det er ingen kode. Ingen notatbok. Ingen fancy nettapp.

Bare et regneark.

Effektiv

Det er effektivt fordi det bare inneholder informasjonen som trengs med en linje per eksperiment og en kolonne for hvert stykke informasjon å spore på eksperimentet.

Eksperimenter som gjøres kan skilles fra de som er planlagt.

Bare eksperimenter som er planlagt blir satt opp og kjørt, og deres rekkefølge sørger for at de viktigste eksperimentene kjøres først.

Du vil bli overrasket over hvor mye en så enkel tilnærming kan frigjøre tiden din og få deg til å tenke dypt om prosjektet ditt.

Eksempel på regneark

La oss se på et eksempel.

Vi kan forestille oss et regneark med kolonnene nedenfor.

Dette er bare et eksempel fra det siste prosjektet jeg jobbet med. Jeg anbefaler å tilpasse disse til dine egne behov.

  • Delprosjekt: Et delprosjekt kan være en gruppe ideer du utforsker, en teknikk, dataforberedelse og så videre.
  • Kontekst: Konteksten kan være det spesifikke målet som å slå en grunnlinje, tuning, en diagnostikk, og så videre.
  • Oppsett: Oppsettet er den faste konfigurasjonen av eksperimentet.
  • Navn: Navnet er den unike identifikatoren, kanskje filnavnet til skriptet.
  • Parameter: Parameteren er tingen som blir variert eller sett på i eksperimentet.
  • Verdier: Verdien er verdien eller verdiene til parameteren som blir undersøkt i eksperimentet.
  • Status: Statusen er status for eksperimentet, for eksempel planlagt, løpende eller ferdig.
  • Ferdighet: Ferdigheten er North Star-beregningen som virkelig betyr noe for prosjektet, som nøyaktighet eller feil.
  • Spørsmål: Spørsmålet er det motiverende spørsmålet eksperimentet søker å ta opp.
  • Finne: Funnet er en linjesammendrag av resultatet av eksperimentet, svaret på spørsmålet.

For å gjøre dette konkret, nedenfor er et skjermbilde av et Google Doc-regneark med disse kolonneoverskriftene og et konstruert eksempel.

Systematisk eksperimentell rekord

Systematisk eksperimentell rekord

Jeg kan ikke si hvor mye tid denne tilnærmingen har spart meg. Og antall forutsetninger om at det viste seg å være feil i jakten på å få topp resultater.

Jeg har faktisk oppdaget at dype læringsmetoder ofte er ganske fiendtlige for antagelser og standarder. Husk dette når du designer eksperimenter!

Få mest mulig ut av eksperimentene dine

Nedenfor er noen tips som vil hjelpe deg med å få mest mulig ut av denne enkle tilnærmingen på prosjektet ditt.

  • Brainstorm: Ta deg tid til å gjennomgå funn ofte og liste opp nye spørsmål og eksperimenter for å svare på dem.
  • Utfordring: Utfordringsantagelser og utfordre tidligere funn. Spill forskeren og design eksperimenter som vil forfalske dine funn eller forventninger.
  • Delprosjekter: Vurder bruken av delprosjekter for å strukturere undersøkelsen din der du følger potensielle kunder eller undersøker spesifikke metoder.
  • Eksperimentell orden: Bruk rekkefølgen som en prioritet for å sikre at de viktigste eksperimentene kjøres først.
  • Dypere analyse: Lagre dypere analyse av resultater og samlede funn i et annet dokument; regnearket er ikke stedet.
  • Eksperimenttyper: Ikke vær redd for å blande inn forskjellige eksperimenttyper som rutenett, stikkprøve og modelldiagnostikk.

Du vil vite at denne tilnærmingen fungerer bra når:

  • Du søker API-dokumentasjon og papirer for flere ideer om ting du kan prøve.
  • Du har langt flere eksperimenter i kø enn ressurser for å kjøre dem.
  • Du tenker seriøst på å ansette mange flere EC2-forekomster.

Sammendrag

I dette innlegget oppdaget du hvordan du effektivt kan administrere hundrevis av eksperimenter som har kjørt, kjører, og at du vil kjøre i et regneark.

Du oppdaget at et enkelt regneark kan hjelpe deg:

  • Hold oversikt over hvilke eksperimenter du har kjørt og hva du oppdaget.
  • Hold oversikt over hvilke eksperimenter du vil kjøre og hvilke spørsmål de vil svare på.
  • Zoom inn på den mest effektive dataklargjøringen, modellen og modellkonfigurasjonen for ditt prediktive modelleringsproblem.

Har du noen spørsmål om denne tilnærmingen? Har du gjort noe lignende selv?
Gi meg beskjed i kommentarene nedenfor.

Misschien bent u ook geïnteresseerd in