Model Hyperparameters afstemmen

In dit artikel wordt beschreven hoe u het onderdeel Model hyperparameters afstemmen gebruikt in de Azure Machine Learning-ontwerpfunctie. Het doel is om de optimale hyperparameters voor een machine learning-model te bepalen. Het onderdeel bouwt en test meerdere modellen met behulp van verschillende combinaties van instellingen. Er worden metrische gegevens over alle modellen vergeleken om de combinaties van instellingen op te halen.

De termen parameter en hyperparameter kunnen verwarrend zijn. De parameters van het model zijn de parameters die u instelt in het rechterdeelvenster van het onderdeel. In principe voert dit onderdeel een parameter-sweep uit over de opgegeven parameterinstellingen. Het leert een optimale set hyperparameters, die voor elke specifieke beslissingsstructuur, gegevensset of regressiemethode anders kunnen zijn. Het proces voor het vinden van de optimale configuratie wordt ook wel afstemming genoemd.

Het onderdeel ondersteunt de volgende methode om de optimale instellingen voor een model te vinden: geïntegreerd trainen en afstemmen. In deze methode configureert u een set parameters die u wilt gebruiken. Vervolgens laat u het onderdeel herhalen over meerdere combinaties. Het onderdeel meet de nauwkeurigheid totdat het een 'beste' model vindt. Bij de meeste leeronderdelen kunt u kiezen welke parameters tijdens het trainingsproces moeten worden gewijzigd en welke vast moeten blijven.

Afhankelijk van hoe lang het afstemmingsproces moet worden uitgevoerd, kunt u besluiten om alle combinaties uitgebreid te testen. U kunt het proces ook verkorten door een raster van parametercombinaties tot stand te brengen en een willekeurige subset van het parameterraster te testen.

Met deze methode wordt een getraind model gegenereerd dat u kunt opslaan voor hergebruik.

Tip

U kunt een gerelateerde taak uitvoeren. Voordat u begint met afstemmen, past u de functieselectie toe om te bepalen welke kolommen of variabelen de hoogste informatiewaarde hebben.

Hyperparameters voor tune-modellen configureren

Het leren van de optimale hyperparameters voor een machine learning-model vereist veel gebruik van pijplijnen.

Een model trainen met behulp van een parameter-sweep

In deze sectie wordt beschreven hoe u een eenvoudige parameter-sweep uitvoert, waarmee een model wordt getraind met behulp van het onderdeel Tune Model Hyperparameters.

  1. Voeg het onderdeel Model hyperparameters afstemmen toe aan uw pijplijn in de ontwerpfunctie.

  2. Koppel een niet-getraind model aan de meest linkse invoer.

    Notitie

    Hyperparameters voor het afstemmen van model kunnen alleen worden verbonden met ingebouwde onderdelen van het machine learning-algoritme en kunnen geen aangepast model ondersteunen dat is ingebouwd in Python-model maken.

  3. Voeg de gegevensset toe die u wilt gebruiken voor training en koppel deze aan de middelste invoer van Tune Model Hyperparameters.

    Als u een getagde gegevensset hebt, kunt u deze desgewenst verbinden met de meest rechtse invoerpoort (optionele validatiegegevensset). Hiermee kunt u de nauwkeurigheid meten tijdens het trainen en afstemmen.

  4. Kies in het rechterdeelvenster van Model hyperparameters afstemmen een waarde voor de modus Voor het opruimen van parameters. Met deze optie bepaalt u hoe de parameters worden geselecteerd.

    • Volledig raster: wanneer u deze optie selecteert, wordt het onderdeel lussen over een raster dat vooraf is gedefinieerd door het systeem, om verschillende combinaties te proberen en de beste leerling te identificeren. Deze optie is handig als u niet weet wat de beste parameterinstellingen kunnen zijn en alle mogelijke combinaties van waarden wilt proberen.

    • Willekeurige opruimen: wanneer u deze optie selecteert, selecteert het onderdeel willekeurig parameterwaarden binnen een door het systeem gedefinieerd bereik. U moet het maximum aantal uitvoeringen opgeven dat het onderdeel moet uitvoeren. Deze optie is handig als u de modelprestaties wilt verbeteren met behulp van de metrische gegevens van uw keuze, maar toch rekenresources wilt besparen.

  5. Open voor Labelkolom de kolomkiezer om één labelkolom te kiezen.

  6. Kies het aantal uitvoeringen:

    • Maximum aantal uitvoeringen bij willekeurige sweep: als u een willekeurige sweep kiest, kunt u opgeven hoe vaak het model moet worden getraind met behulp van een willekeurige combinatie van parameterwaarden.
  7. Kies voor Classificatie één metrische waarde die u wilt gebruiken voor het rangschikken van de modellen.

    Wanneer u een parameter opruimen uitvoert, berekent het onderdeel alle toepasselijke metrische gegevens voor het modeltype en retourneert deze in het rapport Resultaten opruimen . Het onderdeel maakt gebruik van afzonderlijke metrische gegevens voor regressie- en classificatiemodellen.

    Het metrische gegeven dat u kiest, bepaalt echter hoe de modellen worden gerangschikt. Alleen het hoogste model, gerangschikt op basis van de gekozen metrische gegevens, wordt uitgevoerd als een getraind model voor het scoren.

  8. Voer voor Willekeurig zaad een geheel getal in als een pseudo-willekeurige getalgeneratorstatus die wordt gebruikt voor het willekeurig selecteren van parameterwaarden over een vooraf gedefinieerd bereik. Deze parameter is alleen effectief als de modus voor het opruimen van parameters Willekeurig opruimen is.

  9. Verzend de pijplijn.

Resultaten van hyperparameterafstemming

Wanneer de training is voltooid:

  • Als u de resultaten van het opruimen wilt weergeven, kunt u met de rechtermuisknop op het onderdeel klikken en vervolgens Visualiseren selecteren of met de rechtermuisknop op de linkeruitvoerpoort van het onderdeel klikken om te visualiseren.

    De resultaten van Opruimen bevatten alle metrische gegevens over het opruimen van parameters en nauwkeurigheid die van toepassing zijn op het modeltype. Het metrische gegeven dat u hebt geselecteerd voor de classificatie bepaalt welk model als 'beste' wordt beschouwd.

  • Als u een momentopname van het getrainde model wilt opslaan, selecteert u het tabblad Uitvoer en logboeken in het rechterdeelvenster van het onderdeel Model trainen . Selecteer het pictogram Gegevensset registreren om het model op te slaan als een herbruikbaar onderdeel.

Technische opmerkingen

Deze sectie bevat implementatiedetails en tips.

Hoe een parameter opruimen werkt

Wanneer u een parameter opruimen instelt, definieert u het bereik van uw zoekopdracht. De zoekopdracht kan een eindig aantal parameters gebruiken dat willekeurig is geselecteerd. Of het kan een uitgebreide zoekopdracht zijn voor een parameterruimte die u definieert.

  • Willekeurige opruimen: met deze optie wordt een model getraind met behulp van een ingesteld aantal iteraties.

    U geeft een waardebereik op dat moet worden herhaald en het onderdeel gebruikt een willekeurig gekozen subset van deze waarden. Waarden worden gekozen met vervanging, wat betekent dat getallen die eerder willekeurig zijn gekozen, niet worden verwijderd uit de groep beschikbare getallen. De kans dat er een waarde wordt geselecteerd, blijft dus gelijk voor alle passen.

  • Volledig raster: de optie om het hele raster te gebruiken betekent dat elke combinatie wordt getest. Deze optie is het grondigst, maar vereist de meeste tijd.

De lengte en complexiteit van de training beheren

Het herhalen van veel combinaties van instellingen kan tijdrovend zijn, dus het onderdeel biedt verschillende manieren om het proces te beperken:

  • Beperk het aantal iteraties dat wordt gebruikt om een model te testen.
  • Beperk de parameterruimte.
  • Beperk zowel het aantal iteraties als de parameterruimte.

U wordt aangeraden een pijplijn uit te voeren met de instellingen om de meest efficiënte trainingsmethode voor een bepaalde gegevensset en een bepaald model te bepalen.

Een metrische evaluatiewaarde kiezen

Aan het einde van het testen toont het model een rapport met de nauwkeurigheid voor elk model, zodat u de metrische resultaten kunt bekijken:

  • Er wordt een uniforme set metrische gegevens gebruikt voor alle binaire classificatiemodellen.
  • Nauwkeurigheid wordt gebruikt voor alle classificatiemodellen met meerdere klassen.
  • Er wordt een andere set metrische gegevens gebruikt voor regressiemodellen.

Tijdens de training moet u echter één metrische waarde kiezen voor het rangschikken van de modellen die tijdens het afstemmingsproces worden gegenereerd. Het kan zijn dat de beste metrische gegevens variëren, afhankelijk van uw bedrijfsprobleem en de kosten van fout-positieven en fout-negatieven.

Metrische gegevens die worden gebruikt voor binaire classificatie

  • Nauwkeurigheid is het aandeel van de werkelijke resultaten in het totale aantal cases.

  • Precisie is het aandeel van echte resultaten ten opzichte van positieve resultaten.

  • Recall is de fractie van alle juiste resultaten over alle resultaten.

  • F-score is een meting waarmee precisie en relevante overeenkomsten in balans worden gebracht.

  • AUC is een waarde die het gebied onder de curve vertegenwoordigt wanneer fout-positieven worden uitgezet op de x-as en echte positieven worden uitgezet op de y-as.

  • Gemiddeld logboekverlies is het verschil tussen twee kansverdelingen: de werkelijke verdeling en de verdeling in het model.

Metrische gegevens die worden gebruikt voor regressie

  • Gemiddelde absolute fout resulteert in het gemiddelde van alle fouten in het model, waarbij fout de afstand betekent tussen de voorspelde waarde en de werkelijke waarde. Vaak afgekort als MAE.

  • Wortel van gemiddelde kwadratische fout meet het gemiddelde van de kwadraten van de fouten en neemt vervolgens de wortel van die waarde. Het wordt vaak afgekort als RMSE.

  • Relatieve absolute fout vertegenwoordigt de fout als een percentage van de werkelijke waarde.

  • Relatieve kwadratische fout normaliseert de totale kwadratische fout door te delen door de totale kwadratische fout van de voorspelde waarden.

  • De determinatiecoëfficiënt is één getal dat aangeeft hoe goed gegevens in een model passen. Een waarde van één betekent dat het model exact overeenkomt met de gegevens. Een waarde van nul betekent dat de gegevens willekeurig zijn of anderszins niet geschikt zijn voor het model. Dit wordt vaak r2, R2 of r-kwadraat genoemd.

Onderdelen die geen ondersteuning bieden voor het opruimen van parameters

Bijna alle cursisten in Azure Machine Learning ondersteunen kruisvalidatie met een geïntegreerde parameter-sweep, waarmee u de parameters kunt kiezen waarmee u de pijplijn wilt gebruiken. Als de cursist het instellen van een bereik van waarden niet ondersteunt, kunt u dit nog steeds gebruiken voor kruisvalidatie. In dit geval wordt een bereik van toegestane waarden geselecteerd voor de sweep.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.