Machine Learning-experimenten systematisch plannen en uitvoeren

Machine Learning-experimenten systematisch plannen en uitvoeren

Experimenten met machine learning kunnen lang duren. In sommige gevallen uren, dagen en zelfs weken.

Dit geeft u veel tijd om na te denken en te plannen om aanvullende experimenten uit te voeren.

Bovendien kan het gemiddelde toegepaste machine learning-project tientallen tot honderden afzonderlijke experimenten vergen om een ​​datavoorbereidingsmodel en modelconfiguratie te vinden die goede of geweldige prestaties leveren.

Het uitgesponnen karakter van de experimenten betekent dat u de volgorde en het type experimenten dat u uitvoert zorgvuldig moet plannen en beheren.

Je moet systematisch zijn.

In dit bericht ontdek je een eenvoudige benadering om je machine learning-experimenten te plannen en te beheren.

Met deze aanpak kunt u:

  • Blijf op de hoogte van de belangrijkste vragen en bevindingen in uw project.
  • Houd bij welke experimenten u heeft voltooid en die u wilt uitvoeren.
  • Zoom in op de datavoorbereidingen, modellen en modelconfiguraties die de beste prestaties opleveren.

Laten we erin duiken.

Machine Learning-experimenten systematisch plannen en uitvoeren

Machine Learning-experimenten systematisch plannen en uitvoeren
Foto door Qfamily, enkele rechten voorbehouden.

Verwarring van honderden experimenten

Ik vind het leuk om van de ene op de andere dag experimenten uit te voeren. Veel experimenten.

Dit is zodat ik als ik wakker word de resultaten kan controleren, mijn ideeën kan bijwerken over wat werkt (en wat niet), en de volgende ronde van experimenten kan starten, en dan wat tijd kan besteden aan het analyseren van de bevindingen.

Ik haat het om tijd te verspillen.

En ik haat het uitvoeren van experimenten die me niet dichter bij het doel brengen om het meest bekwame model te vinden, gezien de tijd en middelen die ik tot mijn beschikking heb.

Het is gemakkelijk om uit het oog te verliezen waar u mee bezig bent. Vooral nadat u resultaten, analyses en bevindingen van honderden experimenten hebt ontvangen.

Een slecht beheer van uw experimenten kan leiden tot slechte situaties waarin:

  • Je kijkt toe hoe experimenten worden uitgevoerd.
  • Je probeert goede ideeën te bedenken voor experimenten die direct kunnen worden uitgevoerd nadat een huidige batch is afgelopen.
  • U voert een experiment uit dat u al eerder had uitgevoerd.

Je wilt nooit in een van deze situaties zijn!

Als je op de hoogte bent van je spel, dan:

  • U weet in één oogopslag precies welke experimenten u heeft uitgevoerd en wat de bevindingen waren.
  • Je hebt een lange lijst met experimenten die moeten worden uitgevoerd, gesorteerd op hun verwachte uitbetaling.
  • Je hebt de tijd om in de analyse van resultaten te duiken en nieuwe en wilde ideeën te bedenken om uit te proberen.

Maar hoe kunnen we op de hoogte blijven van honderden experimenten?

Ontwerp en voer experimenten systematisch uit

Een manier die ik heb gevonden om me te helpen systematisch te zijn met experimenten op een project, is door een spreadsheet te gebruiken.

Beheer de experimenten die je hebt gedaan, die worden uitgevoerd en die je wilt uitvoeren in een spreadsheet.

Het is simpel en effectief.

Gemakkelijk

Het is eenvoudig omdat ik of iemand er overal toegang toe heeft en kan zien waar we aan toe zijn.

Ik gebruik Google Documenten om de spreadsheet te hosten.

Er is geen code. Geen notitieboekje. Geen chique web-app.

Gewoon een spreadsheet.

Effectief

Het is effectief omdat het alleen de informatie bevat die nodig is met één regel per experiment en één kolom voor elk stukje informatie dat over het experiment moet worden bijgehouden.

Experimenten die worden uitgevoerd, kunnen worden gescheiden van de geplande experimenten.

Alleen geplande experimenten worden opgezet en uitgevoerd en hun volgorde zorgt ervoor dat de belangrijkste experimenten als eerste worden uitgevoerd.

U zult versteld staan ​​hoeveel tijd u met zo'n eenvoudige aanpak kunt vrijmaken en diep over uw project kunt nadenken.

Voorbeeld spreadsheet

Laten we naar een voorbeeld kijken.

We kunnen ons een spreadsheet voorstellen met de onderstaande kolommen.

Dit zijn slechts een voorbeeld van het laatste project waaraan ik heb gewerkt. Ik raad u aan deze aan uw eigen behoeften aan te passen.

  • Deelproject: Een deelproject kan een groep ideeën zijn die u aan het onderzoeken bent, een techniek, een gegevensvoorbereiding, enzovoort.
  • Context: De context kan het specifieke doel zijn, zoals het verslaan van een basislijn, afstemming, een diagnose, enzovoort.
  • Opstelling: De opzet is de vaste configuratie van het experiment.
  • Naam: De naam is de unieke identificatie, misschien de bestandsnaam van het script.
  • Parameter: De parameter is het ding dat wordt gevarieerd of bekeken in het experiment.
  • Waarden: De waarde is de waarde of waarden van de parameter die in het experiment worden onderzocht.
  • Toestand: De status is de status van het experiment, zoals gepland, actief of voltooid.
  • Vaardigheid: De vaardigheid is de North Star-metriek die er echt toe doet in het project, zoals nauwkeurigheid of fout.
  • Vraag: De vraag is de motiverende vraag die het experiment probeert te beantwoorden.
  • Vinden: De bevinding is de eenregelige samenvatting van de uitkomst van het experiment, het antwoord op de vraag.

Om dit concreet te maken, is hieronder een screenshot van een Google Doc-spreadsheet met deze kolomkoppen en een gekunsteld voorbeeld.

Systematisch experimenteel record

Systematisch experimenteel record

Ik kan niet zeggen hoeveel tijd deze aanpak mij heeft bespaard. En het aantal aannames dat het niet klopte bij het behalen van topresultaten.

Ik heb zelfs ontdekt dat deep learning-methoden vaak behoorlijk vijandig staan ​​tegenover aannames en standaardwaarden. Houd hier rekening mee bij het ontwerpen van experimenten!

Haal het meeste uit uw experimenten

Hieronder vindt u enkele tips die u zullen helpen om het meeste uit deze eenvoudige benadering van uw project te halen.

  • Brainstorm: Maak de tijd om bevindingen regelmatig te herzien en nieuwe vragen en experimenten op te noemen om ze te beantwoorden.
  • Uitdaging: Daag aannames uit en daag eerdere bevindingen uit. Speel de wetenschapper en ontwerp experimenten die uw bevindingen of verwachtingen zouden vervalsen.
  • Deelprojecten: Overweeg het gebruik van subprojecten om uw onderzoek te structureren waarbij u leads volgt of specifieke methoden onderzoekt.
  • Experimentele volgorde: Gebruik de rijvolgorde als prioriteit om ervoor te zorgen dat de belangrijkste experimenten als eerste worden uitgevoerd.
  • Diepere analyse: Diepere analyse van resultaten en geaggregeerde bevindingen opslaan in een ander document; de spreadsheet is niet de plek.
  • Experimenttypes: Wees niet bang om verschillende soorten experimenten te combineren, zoals zoeken naar rasters, steekproeven en modeldiagnostiek.

U weet dat deze aanpak goed werkt wanneer:

  • U doorzoekt API-documentatie en documenten voor meer ideeën over dingen die u kunt proberen.
  • Je hebt veel meer experimenten in de wachtrij staan ​​dan bronnen om ze uit te voeren.
  • U overweegt serieus om nog een ton meer EC2-instances aan te nemen.

Overzicht

In dit bericht ontdekte je hoe je effectief honderden experimenten kunt beheren die zijn uitgevoerd, worden uitgevoerd en die je in een spreadsheet wilt uitvoeren.

U heeft ontdekt dat een eenvoudige spreadsheet u kan helpen:

  • Houd bij welke experimenten je hebt uitgevoerd en wat je hebt ontdekt.
  • Houd bij welke experimenten u wilt uitvoeren en welke vragen ze zullen beantwoorden.
  • Zoom in op de meest effectieve gegevensvoorbereiding, model- en modelconfiguratie voor uw probleem met voorspellende modellen.

Heeft u vragen over deze aanpak? Heb je zelf iets soortgelijks gedaan?
Laat het me weten in de reacties hieronder.

Du kan også være interessert