Model Hyperparameters afstemmen

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Voert een parameteropruiming uit op een model om de optimale parameterinstellingen te bepalen

Categorie: Machine Learning/trainen

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Tune Model Hyperparameters in Machine Learning Studio (klassiek) gebruikt om de optimale hyperparameters voor een bepaald machine learning bepalen. De module bouwt en test meerdere modellen, met behulp van verschillende combinaties van instellingen, en vergelijkt metrische gegevens over alle modellen om de combinatie van instellingen te krijgen.

De termen parameter en hyperparameter kunnen verwarrend zijn. De parameters van het model zijn de parameters die u in het deelvenster Eigenschappen in stelt. In principe voert deze module een parameteropruiming uit op de opgegeven parameterinstellingen en leert u een optimale set hyperparameters, die mogelijk anders zijn voor elke specifieke beslissingsstructuur, gegevensset of regressiemethode. Het proces van het vinden van de optimale configuratie wordt ook wel afstemmen genoemd.

De module ondersteunt twee methoden voor het vinden van de optimale instellingen voor een model:

  • Geïntegreerde training en afstemming: u configureert een set parameters die u wilt gebruiken en laat de module vervolgens meerdere combinaties doorverdienen en de nauwkeurigheid meten totdat het 'beste' model wordt gevonden. Met de meeste modules van de leerder kunt u kiezen welke parameters tijdens het trainingsproces moeten worden gewijzigd en welke vast moeten blijven.

    Afhankelijk van hoe lang u het afstemmingsproces wilt uitvoeren, kunt u besluiten om alle combinaties volledig te testen, of u kunt het proces verkorten door een raster van parametercombinaties tot stand te gebracht en een gerandomiseerde subset van het parameterraster te testen.

  • Kruisvalidatie met afstemming: Met deze optie verdeelt u uw gegevens in een aantal vouwen en bouwt en test u vervolgens modellen op elke vouw. Deze methode biedt de beste nauwkeurigheid en kan helpen bij het vinden van problemen met de gegevensset; Het trainen duurt echter langer.

Met beide methoden wordt een getraind model gegenereerd dat u kunt opslaan voor opnieuw gebruik.

  • Als u een clusteringmodel bouwt, gebruikt u Clustering opsommen om automatisch het optimale aantal clusters en andere parameters te bepalen.

  • Pas vóór het afstemmen functieselectie toe om te bepalen welke kolommen of variabelen de hoogste informatiewaarde hebben. Zie Functieselectie voor meer informatie.

Tune Model Hyperparameters configureren

Over het algemeen vereist het leren van de optimale hyperparameters voor machine learning model aanzienlijke experimenten. Deze module ondersteunt zowel het eerste afstemmingsproces als kruisvalidatie om de nauwkeurigheid van het model te testen:

Een model trainen met behulp van een parameter-opsruiming

In deze sectie wordt beschreven hoe u een eenvoudige parameteropruiming kunt uitvoeren, die een model traint met behulp van de module Tune Model Hyperparameters .

  1. Voeg de module Tune Model Hyperparameters toe aan uw experiment in Studio (klassiek).

  2. Verbinding maken ongetraind model (een model in de iLearner-indeling) toe aan de meest linkse invoer.

  3. Stel de optie Oefenmodus maken in op Parameterbereik en gebruik de Range Builder om een bereik van waarden op te geven dat moet worden gebruikt in de parameter-opsmeting.

    Bijna alle classificatie - enregressiemodules ondersteunen een geïntegreerde parameter-opsruiming. Voor degenen die geen ondersteuning bieden voor het configureren van een parameterbereik, kunnen alleen de beschikbare parameterwaarden worden getest.

    U kunt de waarde voor een of meer parameters handmatig instellen en vervolgens de resterende parameters opruimen. Dit kan enige tijd besparen.

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

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

  5. Kies in het deelvenster Eigenschappen van Model hyperparameters afstemmen een waarde voor de parameterparametermodus. Met deze optie bepaalt u hoe de parameters worden geselecteerd.

    • Volledig raster: wanneer u deze optie selecteert, loopt de module over een raster dat vooraf is gedefinieerd door het systeem, om verschillende combinaties te proberen en de beste leerder te identificeren. Deze optie is handig voor gevallen waarin u niet weet wat de beste parameterinstellingen kunnen zijn en alle mogelijke combinaties van waarden wilt proberen.

    U kunt ook de grootte van het raster verkleinen en een willekeurige rasteropruiming uitvoeren. Onderzoek heeft aangetoond dat deze methode dezelfde resultaten oplevert, maar efficiënter is op rekenkracht.

    • Willekeurige opsruiming: wanneer u deze optie selecteert, selecteert de module willekeurig parameterwaarden voor een door het systeem gedefinieerd bereik. U moet het maximum aantal uitvoeringen opgeven dat u door de module wilt laten uitvoeren. Deze optie is handig voor gevallen waarin u de modelprestaties wilt verbeteren met behulp van de metrische gegevens van uw keuze, maar toch computingresources wilt besparen.
  6. Start bij Kolom label de kolom selector om één labelkolom te kiezen.

  7. Kies één metrische gegevens die u wilt gebruiken bij het rangschikken van de modellen.

    Wanneer u een parameterreparameterstuurt, worden alle toepasselijke metrische gegevens voor het modeltype berekend en geretourneerd in het resultatenrapport van de resultaten. Er worden afzonderlijke metrische gegevens gebruikt voor regressie- en classificatiemodellen.

    De metrische gegevens die u kiest, bepalen echter hoe de modellen worden gerangschikt. Alleen het bovenste model, zoals gerangschikt op de gekozen metrische waarde, is uitvoer als een getraind model om te gebruiken voor scoren.

  8. Bij Willekeurige seed typt u een getal dat moet worden gebruikt bij het initialiseren van de parameter-opsmeting.

    Als u een model traint dat ondersteuning biedt voor een geïntegreerde parameter-opsruiming, kunt u ook een reeks seed-waarden instellen die moeten worden gebruikt en worden itereerd over de willekeurige planten. Dit kan handig zijn om vooroordelen te voorkomen die worden geïntroduceerd door seed-selectie.

  9. Voer het experiment uit.

Resultaten van het afstemmen van hyperparameters

Wanneer de training is voltooid:

  • Als u een set nauwkeurigheidsmetrieken voor het beste model wilt weergeven, klikt u met de rechtermuisknop op de module, selecteert u Resultaten opsdoorzoeken en selecteert u vervolgens Visualiseren.

    Alle nauwkeurigheidsmetrieken die van toepassing zijn op het modeltype zijn uitvoer, maar de metrische gegevens die u hebt geselecteerd voor de rangschikking, bepalen welk model als 'beste' wordt beschouwd. Metrische gegevens worden alleen gegenereerd voor het model met de hoogste rang.

  • Als u de instellingen wilt weergeven die zijn afgeleid van het beste model, klikt u met de rechtermuisknop op de module, selecteert u Getraind beste model en klikt u vervolgens op Visualiseren. Het rapport bevat parameterinstellingen en functiegewichten voor de invoerkolommen.

  • Als u het model wilt gebruiken om te scoren in andere experimenten, zonder het afstemmingsproces te herhalen, klikt u met de rechtermuisknop op de modeluitvoer en selecteert u Opslaan als getraind model.

Kruisvalidatie uitvoeren met een parameter-opsmeting

In deze sectie wordt beschreven hoe u een parameterspruimer combineert met kruisvalidatie. Dit proces duurt langer, maar u kunt het aantal vouwen opgeven en u krijgt de maximale hoeveelheid informatie over uw gegevensset en de mogelijke modellen.

  1. Voeg de module Partition en Sample toe aan uw experiment en koppel de trainingsgegevens.

  2. Kies de optie Toewijzen aan vouwen en geef een aantal vouwen op waarin de gegevens moeten worden verdeeld. Als u geen getal opgeeft, worden er standaard 10 keer gevouwen. Rijen worden willekeurig in deze vouwen gevouwen, zonder vervanging.

  3. Als u de steekproeven in een bepaalde kolom wilt verdelen, stelt u de stratified-splitsing in op TRUE en selecteert u vervolgens de kolom strata. Als u bijvoorbeeld een onevenwichtige gegevensset hebt, kunt u de gegevensset zo verdelen dat elke vouw hetzelfde aantal kleine cases krijgt.

  4. Voeg de module Tune Model Hyperparameters toe aan uw experiment.

  5. Verbinding maken een van de machine learning modules in deze categorie toe aan de linkerinvoer van Tune Model Hyperparameters.

  6. Stel in het deelvenster Eigenschappen voor de learner de optie Oefenmodus maken in op Parameterbereik en gebruik de Range Builder om een bereik van waarden op te geven dat moet worden gebruikt in de parameter-opruiming.

    U hoeft geen bereik op te geven voor alle waarden. U kunt de waarde voor sommige parameters handmatig instellen en vervolgens de resterende parameters opruimen. Dit kan enige tijd besparen.

    Zie de sectie Technische notities voor een lijst met studenten die deze optie niet ondersteunen.

  7. Verbinding maken uitvoer van Partition en Sample toe aan de gelabelde invoer van trainingsgegevensset van Tune Model Hyperparameters.

  8. U kunt eventueel een validatieset verbinden met de meest rechtse invoer van Tune Model Hyperparameters. Voor kruisvalidatie hebt u alleen een trainingsset nodig.

  9. Geef in het deelvenster Eigenschappen van Model hyperparameters afstemmen aan of u een willekeurige doorzoeken of een rasteropruiming wilt uitvoeren. Een rasteropruiming is volledig, maar tijdrovender. Een willekeurige parameterzoekactie kan goede resultaten opleveren zonder dat dit veel tijd kost.

    Maximum aantal uitvoeringen bij willekeurige opsmeting: Als u een willekeurige opruiming kiest, kunt u opgeven hoe vaak het model moet worden getraind met behulp van een willekeurige combinatie van parameterwaarden.

    Maximum aantal runs op willekeurig raster: Met deze optie bepaalt u ook het aantal iteraties via een willekeurige steekproef van parameterwaarden, maar de waarden worden niet willekeurig gegenereerd op basis van het opgegeven bereik; In plaats daarvan wordt er een matrix gemaakt van alle mogelijke combinaties van parameterwaarden en wordt een willekeurige steekproef genomen over de matrix. Deze methode is efficiënter en minder gevoelig voor regionale oversampling of ondersampling.

    Tip

    Zie de sectie Technische notities voor een uitgebreidere bespreking van deze opties.

  10. Kies één labelkolom.

  11. Kies één metrische gegevens die u wilt gebruiken om het model te rangschikken. Veel metrische gegevens worden berekend, dus selecteer de belangrijkste om te gebruiken bij het orden van de resultaten.

  12. Bij Willekeurige seed typt u een getal dat moet worden gebruikt bij het initialiseren van de parameter-opsmeting.

    Als u een model traint dat ondersteuning biedt voor een geïntegreerde parameter-opsruiming, kunt u ook een reeks seed-waarden instellen die moeten worden gebruikt en worden itereerd over de willekeurige soorten. Dit is optioneel, maar kan handig zijn om vooroordelen te voorkomen die worden geïntroduceerd door seed-selectie.

  13. Voeg de module Model voor kruis valideren toe. Verbinding maken uitvoer van Partition and Sample aan de gegevenssetinvoer en koppel de uitvoer van Tune Model Hyperparameters aan de invoer van het untrained model.

  14. Voer het experiment uit.

Resultaten van kruisvalidatie

Wanneer kruisvalidatie is voltooid:

  • Als u de evaluatieresultaten wilt weergeven, klikt u met de rechtermuisknop op de module, selecteert u Evaluatieresultaten op vouwen en selecteert u vervolgens Visualiseren.

    De metrische gegevens over nauwkeurigheid worden berekend op basis van de pass voor kruisvalidatie en kunnen enigszins variëren, afhankelijk van het aantal vouwen dat u hebt geselecteerd.

  • Als u wilt zien hoe de gegevensset is verdeeld en hoe het 'beste' model elke rij in de gegevensset zou scoren, klikt u met de rechtermuisknop op de module, selecteert u Scored results en selecteert u Visualize.

  • Als u deze gegevensset opgeslagen voor later gebruik, blijven de vouwtoewijzingen behouden. De opgeslagen datsaet kan er bijvoorbeeld als volgende uitzien:

    Vouwtoewijzingen Klas Age(eerste functiekolom)
    2 0 35
    1 1 17
    3 0 62
  • Klik met de rechtermuisknop op Tune Model Hyperparameters om de parameterinstellingen voor het 'beste' model op te halen

Voorbeelden

Zie de volgende Azure AI Gallery voor voorbeelden van hoe deze module wordt Azure AI Gallery:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Hoe een parameter-opsruiming werkt

In deze sectie wordt beschreven hoe parameter opruimen in het algemeen werkt en hoe de opties in deze module samenwerken.

Wanneer u een parameter-opruiming in stelt, definieert u het bereik van uw zoekopdracht om een eindig aantal parameters te gebruiken dat willekeurig is geselecteerd, of een uitgebreide zoekopdracht voor een parameterruimte die u definieert.

  • Willekeurige opsruiming: Met deze optie wordt een model met behulp van een vast aantal iteraties traint.

    U geeft een reeks waarden op die moeten worden overgenomen. De module 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 met beschikbare getallen. De kans dat een waarde wordt geselecteerd, blijft dus hetzelfde voor alle passes.

  • Rasteropsruiming: met deze optie maakt u een matrix of raster dat elke combinatie van de parameters in het waardebereik bevat dat u opgeeft. Wanneer u met deze module begint af te stemmen, worden meerdere modellen getraind met behulp van combinaties van deze parameters.

  • Volledig raster: De optie om het volledige raster te gebruiken betekent alleen dat: elke combinatie wordt getest. Deze optie kan worden beschouwd als de meest grondig, maar vereist de meeste tijd.

  • Willekeurig raster: als u deze optie selecteert, wordt de matrix van alle combinaties berekend en worden waarden uit de matrix genomen, op basis van het aantal iteraties dat u hebt opgegeven.

    Recent onderzoek heeft aangetoond dat willekeurige opsruimingen beter kunnen presteren dan rasteropsruimingen.

De lengte en complexiteit van de training beheren

Het doorlopen van veel combinaties van instellingen kan tijdrovend zijn, dus de module biedt verschillende manieren om het proces te beperken:

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

U wordt aangeraden te experimenteren met de instellingen om de meest efficiënte methode voor het trainen van een bepaalde gegevensset en een bepaald model te bepalen.

Een evaluatie metriek kiezen

Aan het einde wordt een rapport weergegeven met de nauwkeurigheid van elk model, zodat u de metrische resultaten kunt bekijken. Een uniforme set metrische gegevens wordt gebruikt voor alle classificatiemodellen en er wordt een andere set metrische gegevens gebruikt voor regressiemodellen. Tijdens de training moet u echter één metrisch gegevens kiezen om de modellen te rangschikken 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.

Zie How to evaluate model performance in Machine Learning (Modelprestaties evalueren in Machine Learning

Metrische gegevens die worden gebruikt voor classificatie

  • Nauwkeurigheid Het aandeel werkelijke resultaten in het totale aantal gevallen.

  • Precisie Het aandeel werkelijke resultaten in positieve resultaten.

  • Herinneren Het gedeelte van alle juiste resultaten over alle resultaten.

  • F-score Een meting die de precisie en terughalen in balans brengt.

  • AUC 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 Het verschil tussen twee waarschijnlijkheidsverdelingen: de werkelijke en de ene in het model.

  • Logboekverlies trainen De verbetering die door het model wordt geboden ten opzichte van een willekeurige voorspelling.

Metrische gegevens die worden gebruikt voor regressie

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

  • Hoofdmap van gemiddelde kwadraatfout Meet het gemiddelde van de kwadraat van de fouten en neemt vervolgens de hoofdmap van die waarde. Vaak afgekort als RMSE

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

  • Relatieve kwadraatfout Normaliseert de totale kwadraatfout door te delen door de totale kwadraatfout van de voorspelde waarden.

  • De de bepalingscoëfficiënt Eén getal dat aangeeft hoe goed gegevens bij een model passen. Een waarde van 1 betekent dat het model exact overeenkomt met de gegevens; een waarde van 0 betekent dat de gegevens willekeurig zijn of anderszins niet geschikt zijn voor het model. Vaak aangeduid als r2, R2 of r-kwadraat.

Modules die geen ondersteuning bieden voor het opruimen van parameters

Bijna alle gebruikers in Machine Learning ondersteuning voor kruisvalidatie met een geïntegreerde parameter-opsruiming, waarmee u de parameters kunt kiezen waarmee u wilt experimenteren. Als de leerder geen ondersteuning biedt voor het instellen van een bereik van waarden, kunt u deze nog steeds gebruiken voor kruisvalidatie. In dit geval wordt een aantal toegestane waarden geselecteerd voor de opsruiming.

De volgende studenten bieden geen ondersteuning voor het instellen van een bereik van waarden voor gebruik in een parameter-opsruiming:

Verwachte invoer

Naam Type Description
Niet-getraind model ILearner-interface Niet-getraind model voor parameteropsruiming
Trainingsset Gegevenstabel Invoerset voor training
Validatie-gegevensset Gegevenstabel Invoerset voor validatie (voor de validatiemodus Trainen/testen). Deze invoer is optioneel.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Parameter-modus voor het vegen van parameters opgeven Lijst Opsruimmethoden Willekeurige opsruiming Hele raster op parameterruimte opruimen of opsmet behulp van een beperkt aantal voorbeeld runs
Maximum aantal runs bij willekeurige opsruiming [1;10000] Geheel getal 5 Maximum aantal uitvoeringen uitvoeren met behulp van willekeurige opsruiming
Willekeurige seed alle Geheel getal 0 Geef een waarde op om de generator voor willekeurige getallen te seeden
Kolom labelen alle ColumnSelection Kolom labelen
Metrische gegevens voor het meten van de prestaties voor classificatie Lijst Metrisch type binaire classificatie Nauwkeurigheid De metrische gegevens selecteren die worden gebruikt voor het evalueren van classificatiemodellen
Metrische gegevens voor het meten van de prestaties voor regressie Lijst RegressieMetrisch type Gemiddelde absolute fout De metrische gegevens selecteren die worden gebruikt voor het evalueren van regressiemodellen

Uitvoerwaarden

Naam Type Description
Resultaten opsnuit Gegevenstabel Metrische resultaten voor parameteruitslagen
Getraind beste model ILearner-interface Model met de beste prestaties voor de trainingsset

Zie ook

Lijst met A-Z-modules
Trainen
Model kruis valideren