logo

Hyperparameters in machine learning

Hyperparameters in Machine learning zijn de parameters die expliciet door de gebruiker worden gedefinieerd om het leerproces te besturen. Deze hyperparameters worden gebruikt om het leren van het model te verbeteren, en hun waarden worden ingesteld voordat het leerproces van het model wordt gestart.

Hyperparameters in machine learning

In dit onderwerp gaan we een van de belangrijkste concepten van machine learning bespreken, namelijk hyperparameters, hun voorbeelden, afstemming van hyperparameters, categorieën van hyperparameters, hoe verschilt hyperparameter van parameter in machine learning? Maar voordat we beginnen, moeten we eerst de Hyperparameter begrijpen.

Wat zijn hyperparameters?

Bij Machine Learning/Deep Learning wordt een model weergegeven door zijn parameters. Een trainingsproces omvat daarentegen het selecteren van de beste/optimale hyperparameters die door leeralgoritmen worden gebruikt om het beste resultaat te behalen. Wat zijn deze hyperparameters? Het antwoord is, ' Hyperparameters worden gedefinieerd als de parameters die expliciet door de gebruiker worden gedefinieerd om het leerproces te besturen.'

Hier suggereert het voorvoegsel 'hyper' dat de parameters parameters op het hoogste niveau zijn die worden gebruikt bij het besturen van het leerproces. De waarde van de Hyperparameter wordt geselecteerd en ingesteld door de machine learning-ingenieur voordat het leeralgoritme het model begint te trainen. Deze bevinden zich dus buiten het model en hun waarden kunnen tijdens het trainingsproces niet worden gewijzigd .

algoritme diepte eerste zoekopdracht

Enkele voorbeelden van hyperparameters in Machine Learning

  • Het k in kNN of K-Nearest Neighbor-algoritme
  • Leersnelheid voor het trainen van een neuraal netwerk
  • Split-ratio trein-test
  • Seriegrootte
  • Aantal tijdperken
  • Vertakkingen in de beslissingsboom
  • Aantal clusters in clusteralgoritme

Verschil tussen parameter en hyperparameter?

Er is altijd een grote verwarring tussen parameters en hyperparameters of model-hyperparameters. Laten we, om deze verwarring op te helderen, het verschil tussen beide begrijpen en hoe ze met elkaar verband houden.

Modelparameters:

Modelparameters zijn configuratievariabelen die intern zijn in het model en een model leert ze zelf. Bijvoorbeeld , W Gewichten of coëfficiënten van onafhankelijke variabelen in het lineaire regressiemodel . of Gewichten of coëfficiënten van onafhankelijke variabelen in SVM, gewicht en vooroordelen van een neuraal netwerk, clusterzwaartepunt bij clustering. Enkele belangrijke punten voor modelparameters zijn als volgt:

  • Ze worden door het model gebruikt om voorspellingen te doen.
  • Ze worden door het model geleerd uit de gegevens zelf
  • Deze worden meestal niet handmatig ingesteld.
  • Dit zijn de onderdelen van het model en de sleutel tot een machine learning-algoritme.

Modelhyperparameters:

Hyperparameters zijn die parameters die expliciet door de gebruiker worden gedefinieerd om het leerproces te besturen. Enkele belangrijke punten voor modelparameters zijn als volgt:

  • Deze worden meestal handmatig gedefinieerd door de machine learning-ingenieur.
  • Men kan niet precies weten wat de beste waarde voor hyperparameters is voor het gegeven probleem. De beste waarde kan worden bepaald door de vuistregel of door vallen en opstaan.
  • Enkele voorbeelden van hyperparameters zijn de leersnelheid voor het trainen van een neuraal netwerk, K in het KNN-algoritme,

Categorieën hyperparameters

In grote lijnen kunnen hyperparameters worden onderverdeeld in twee categorieën, die hieronder worden weergegeven:

    Hyperparameter voor optimalisatie Hyperparameter voor specifieke modellen

Hyperparameter voor optimalisatie

Het proces van het selecteren van de beste te gebruiken hyperparameters staat bekend als hyperparameterafstemming, en het afstemmingsproces wordt ook wel hyperparameteroptimalisatie genoemd. Optimalisatieparameters worden gebruikt voor het optimaliseren van het model.

Hyperparameters in machine learning

Enkele van de populaire optimalisatieparameters worden hieronder gegeven:

    Leersnelheid:De leersnelheid is de hyperparameter in optimalisatiealgoritmen die bepaalt hoeveel het model moet veranderen als reactie op de geschatte fout voor elke keer dat de gewichten van het model worden bijgewerkt. Het is een van de cruciale parameters bij het bouwen van een neuraal netwerk, en bepaalt ook de frequentie van kruiscontroles met modelparameters. Het selecteren van het geoptimaliseerde leertempo is een uitdagende taak, want als het leertempo erg laag is, kan dit het trainingsproces vertragen. Aan de andere kant, als de leersnelheid te groot is, kan het model mogelijk niet goed worden geoptimaliseerd.

Opmerking: De leersnelheid is een cruciale hyperparameter voor het optimaliseren van het model. Als er dus een vereiste is om slechts één hyperparameter af te stemmen, wordt voorgesteld om de leersnelheid af te stemmen.

    Seriegrootte:Om de snelheid van het leerproces te vergroten, is de trainingsset opgedeeld in verschillende subsets, die bekend staan ​​als een batch. Aantal tijdperken: Een tijdperk kan worden gedefinieerd als de volledige cyclus voor het trainen van het machine learning-model. Epoch vertegenwoordigt een iteratief leerproces. Het aantal tijdperken varieert van model tot model, en er worden verschillende modellen gemaakt met meer dan één tijdperk. Om het juiste aantal tijdperken te bepalen, wordt rekening gehouden met een validatiefout. Het aantal tijdperken wordt verhoogd totdat er een vermindering van de validatiefout optreedt. Als er geen verbetering is in de reductiefout voor de opeenvolgende tijdperken, geeft dit aan dat moet worden gestopt met het vergroten van het aantal tijdperken.

Hyperparameter voor specifieke modellen

Hyperparameters die betrokken zijn bij de structuur van het model staan ​​bekend als hyperparameters voor specifieke modellen. Deze worden hieronder gegeven:

    Een aantal verborgen eenheden:Verborgen eenheden maken deel uit van neurale netwerken, die verwijzen naar de componenten die de processorlagen tussen invoer- en uitvoereenheden in een neuraal netwerk vormen.

Het is belangrijk om het aantal verborgen hyperparameters voor het neurale netwerk te specificeren. Deze moet tussen de grootte van de invoerlaag en de grootte van de uitvoerlaag liggen. Meer specifiek zou het aantal verborgen eenheden 2/3 van de grootte van de invoerlaag moeten zijn, plus de grootte van de uitvoerlaag.

Voor complexe functies is het noodzakelijk om het aantal verborgen eenheden te specificeren, maar dit mag niet te veel in het model passen.

    Aantal lagen:Een neuraal netwerk bestaat uit verticaal gerangschikte componenten, die lagen worden genoemd. Er zijn voornamelijk invoerlagen, verborgen lagen en uitvoerlagen . Een 3-laags neuraal netwerk geeft betere prestaties dan een 2-laags netwerk. Voor een convolutioneel neuraal netwerk vormt een groter aantal lagen een beter model.

Conclusie

Hyperparameters zijn de parameters die expliciet zijn gedefinieerd om het leerproces te besturen voordat een machine-learning-algoritme op een dataset wordt toegepast. Deze worden gebruikt om het leervermogen en de complexiteit van het model te specificeren. Sommige hyperparameters worden gebruikt voor de optimalisatie van de modellen, zoals batchgrootte, leersnelheid, enz., en sommige zijn specifiek voor de modellen, zoals het aantal verborgen lagen, enz.