Model Hyperparameters afstemmen
In dit artikel wordt beschreven hoe u het onderdeel Tune Model Hyperparameters gebruikt in Azure Machine Learning Designer. 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. Het vergelijkt metrische gegevens over alle modellen om de combinaties van instellingen op te halen.
De termenparameter 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 op de opgegeven parameterinstellingen. Het leert een optimale set hyperparameters, die mogelijk verschillend zijn voor elke specifieke beslissingsstructuur, gegevensset of regressiemethode. Het proces voor het vinden van de optimale configuratie wordt ook wel afstemming genoemd.
Het onderdeel ondersteunt de volgende methode voor het vinden van de optimale instellingen voor een model: geïntegreerde trein en afstemming. In deze methode configureert u een set parameters die u wilt gebruiken. Vervolgens laat u het onderdeel meerdere combinaties herhalen. Het onderdeel meet de nauwkeurigheid totdat er een 'beste' model wordt gevonden. Bij de meeste cursisten kunt u kiezen welke parameters moeten worden gewijzigd tijdens het trainingsproces en welke vast moeten blijven.
Afhankelijk van hoe lang het afstemmingsproces moet worden uitgevoerd, kunt u besluiten om alle combinaties volledig te testen. Of u kunt het proces verkorten door een raster met parametercombinaties tot stand te brengen en een gerandomiseerde 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 functieselectie toe om de kolommen of variabelen met de hoogste informatiewaarde te bepalen.
Tune Model Hyperparameters configureren
Voor het leren van de optimale hyperparameters voor een machine learning-model is een aanzienlijk gebruik van pijplijnen vereist.
Een model trainen met behulp van een parameter opruimen
In deze sectie wordt beschreven hoe u een eenvoudige parameter opruimen uitvoert, waarmee een model wordt getraind met behulp van het onderdeel Tune Model Hyperparameters.
Voeg het onderdeel Tune Model Hyperparameters toe aan uw pijplijn in de ontwerpfunctie.
Verbind een niet-getraind model met de meest linkse invoer.
Notitie
Tune Model Hyperparameters kunnen alleen worden verbonden met ingebouwde machine learning-algoritmeonderdelen en kunnen geen aangepast model ondersteunen dat is ingebouwd in Python-model maken.
Voeg de gegevensset toe die u wilt gebruiken voor training en verbind deze met de middelste invoer van Tune Model Hyperparameters.
Als u een gelabelde 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.
Kies in het rechterdeelvenster van Tune Model Hyperparameters een waarde voor de parameterverruimingsmodus. Met deze optie bepaalt u hoe de parameters worden geselecteerd.
Volledig raster: Wanneer u deze optie selecteert, wordt het onderdeel over een raster dat vooraf is gedefinieerd door het systeem, gebruikt om verschillende combinaties te proberen en de beste cursist te identificeren. Deze optie is handig als u niet weet wat de beste parameterinstellingen zijn en u alle mogelijke combinaties van waarden wilt proberen.
Willekeurige opruimen: wanneer u deze optie selecteert, selecteert het onderdeel willekeurig parameterwaarden voor 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 besparen.
Open voor labelkolom de kolomkiezer om één labelkolom te kiezen.
Kies het aantal uitvoeringen:
- Maximum aantal uitvoeringen op willekeurige opruimen: als u een willekeurige sweep kiest, kunt u opgeven hoe vaak het model moet worden getraind, met behulp van een willekeurige combinatie van parameterwaarden.
Kies voor Rangschikking één metriek 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 resultatenrapport Opruimen. Het onderdeel maakt gebruik van afzonderlijke metrische gegevens voor regressie- en classificatiemodellen.
De metrische waarde die u kiest, bepaalt echter hoe de modellen worden gerangschikt. Alleen het bovenste model, zoals gerangschikt op de gekozen metrische waarde, is uitvoer als een getraind model dat moet worden gebruikt voor scoren.
Voor random seed voert u een geheel getal in als een pseudo-willekeurige getalgeneratorstatus die wordt gebruikt voor het willekeurig selecteren van parameterwaarden voor een vooraf gedefinieerd bereik. Deze parameter is alleen van kracht als de parameter opruimen modus willekeurige opruimen is.
Verzend de pijplijn.
Resultaten van hyperparameterafstemming
Wanneer de training is voltooid:
Als u de sweep-resultaten 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 sweep-resultaten bevatten alle metrische gegevens voor het opruimen van parameters en nauwkeurigheid die van toepassing zijn op het modeltype, en de metrische waarde die u hebt geselecteerd voor classificatie bepaalt welk model als 'beste' wordt beschouwd.
Als u een momentopname van het getrainde model wilt opslaan, selecteert u het tabblad Uitvoer+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 notities
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. Het kan ook een uitgebreide zoekopdracht zijn voor een parameterruimte die u definieert.
Willekeurige opruimen: met deze optie traint u een model met behulp van een vast aantal iteraties.
U geeft een bereik van waarden op dat moet worden herhaald en het onderdeel maakt gebruik van 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 met beschikbare getallen. De kans dat een waarde die wordt geselecteerd, blijft dus hetzelfde voor alle slagen.
Volledig raster: De optie voor het gebruik van het hele raster betekent dat elke combinatie wordt getest. Deze optie is het meest grondig, 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 te maken 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 geeft het model een rapport weer dat de nauwkeurigheid voor elk model bevat, zodat u de metrische resultaten kunt bekijken:
- Een uniforme set met metrische gegevens wordt 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 metriek kiezen om te gebruiken bij 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 werkelijke resultaten in totale gevallen.
Precisie is het aandeel werkelijke resultaten in positieve resultaten.
Relevante overeenkomsten zijn de fractie van alle juiste resultaten voor alle resultaten.
F-score is een meting die precisie en relevante overeenkomsten in balans brengt.
AUC is een waarde die het gebied onder de curve vertegenwoordigt wanneer fout-positieven worden weergegeven op de x-as en terecht-positieven worden uitgezet op de y-as.
Gemiddeld logboekverlies is het verschil tussen twee waarschijnlijkheidsverdelingen: de werkelijke verdeling en het verschil in het model.
Metrische gegevens die worden gebruikt voor regressie
Gemiddelde absolute fout gemiddelden alle fouten in het model, waarbij de fout de afstand betekent van de voorspelde waarde van de werkelijke waarde. Het wordt vaak afgekort als MAE.
Wortel van gemiddelde kwadratische fout meet het gemiddelde van de kwadraten van de fouten en neemt vervolgens de hoofdmap van die waarde. Het wordt vaak afgekort als RMSE.
Relatieve absolute fout vertegenwoordigt de fout als een percentage van de werkelijke waarde.
De relatieve kwadratische fout normaliseert de totale kwadratische fout door de totale kwadratische fout van de voorspelde waarden te delen.
De bepalingscoëfficiënt is één getal dat aangeeft hoe goed gegevens bij 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 aan het model kunnen worden aangepast. Het wordt vaak r2, R2 of r-kwadraat genoemd.
Onderdelen die geen ondersteuning bieden voor een parameter opruimen
Bijna alle cursisten in Azure Machine Learning ondersteunen kruisvalidatie met een geïntegreerde parameter opruimen, waarmee u de parameters kunt kiezen waarmee u een pijplijn wilt uitvoeren. Als de cursist geen ondersteuning biedt voor het instellen van een bereik van waarden, kunt u dit nog steeds gebruiken in kruisvalidatie. In dit geval wordt een bereik met toegestane waarden geselecteerd voor de opruimen.
Volgende stappen
Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.