logo

Hyperparametre i Machine Learning

Hyperparametre i maskinlæring er de parametre, der er eksplicit defineret af brugeren for at kontrollere indlæringsprocessen. Disse hyperparametre bruges til at forbedre indlæringen af ​​modellen, og deres værdier sættes før indlæringsprocessen af ​​modellen startes.

Hyperparametre i Machine Learning

I dette emne skal vi diskutere et af de vigtigste begreber inden for maskinlæring, dvs. Hyperparametre, deres eksempler, hyperparameterjustering, kategorier af hyperparametre, hvordan er hyperparameter forskellig fra parameter i Machine Learning? Men før vi starter, lad os først forstå hyperparameteren.

Hvad er hyperparametre?

I Machine Learning/Deep Learning er en model repræsenteret ved dens parametre. I modsætning hertil involverer en træningsproces at vælge de bedste/optimale hyperparametre, der bruges af indlæring af algoritmer for at give det bedste resultat. Så hvad er disse hyperparametre? Svaret er, ' Hyperparametre er defineret som de parametre, der er eksplicit defineret af brugeren for at styre læringsprocessen.'

Her antyder præfikset 'hyper', at parametrene er parametre på øverste niveau, som bruges til at styre læringsprocessen. Værdien af ​​hyperparameteret vælges og indstilles af maskinlæringsingeniøren, før indlæringsalgoritmen begynder at træne modellen. Disse er derfor eksterne i forhold til modellen, og deres værdier kan ikke ændres under træningsprocessen .

java multithreading

Nogle eksempler på hyperparametre i maskinlæring

  • K'et i kNN eller K-Nearest Neighbor-algoritmen
  • Læringshastighed for træning af et neuralt netværk
  • Tog-test split-forhold
  • Batchstørrelse
  • Antal epoker
  • Grene i beslutningstræet
  • Antal klynger i Clustering Algorithm

Forskel mellem parameter og hyperparameter?

Der er altid en stor forvirring mellem parametre og hyperparametre eller modelhyperparametre. Så for at fjerne denne forvirring, lad os forstå forskellen mellem dem begge og hvordan de er relateret til hinanden.

Modelparametre:

Modelparametre er konfigurationsvariabler, der er interne i modellen, og en model lærer dem på egen hånd. For eksempel , W Vægte eller koefficienter af uafhængige variable i den lineære regressionsmodel . eller Vægte eller koefficienter af uafhængige variable i SVM, vægt og skævheder i et neuralt netværk, klynge centroid i klynge. Nogle nøglepunkter for modelparametre er som følger:

  • De bruges af modellen til at lave forudsigelser.
  • De læres af modellen fra selve dataene
  • Disse indstilles normalt ikke manuelt.
  • Disse er delen af ​​modellen og nøglen til en maskinlæringsalgoritme.

Modelhyperparametre:

Hyperparametre er de parametre, der er eksplicit defineret af brugeren for at styre læringsprocessen. Nogle nøglepunkter for modelparametre er som følger:

  • Disse defineres normalt manuelt af maskinlæringsingeniøren.
  • Man kan ikke kende den nøjagtige bedste værdi for hyperparametre for det givne problem. Den bedste værdi kan bestemmes enten ved tommelfingerreglen eller ved forsøg og fejl.
  • Nogle eksempler på hyperparametre er indlæringshastigheden for træning af et neuralt netværk, K i KNN-algoritmen,

Kategorier af hyperparametre

Overordnet set kan hyperparametre opdeles i to kategorier, som er angivet nedenfor:

    Hyperparameter til optimering Hyperparameter for specifikke modeller

Hyperparameter til optimering

Processen med at vælge de bedste hyperparametre, der skal bruges, kaldes hyperparameterjustering, og justeringsprocessen er også kendt som hyperparameteroptimering. Optimeringsparametre bruges til at optimere modellen.

Hyperparametre i Machine Learning

Nogle af de populære optimeringsparametre er angivet nedenfor:

    Indlæringshastighed:Læringshastigheden er hyperparameteren i optimeringsalgoritmer, der styrer, hvor meget modellen skal ændres som svar på den estimerede fejl for hver gang, når modellens vægte opdateres. Det er en af ​​de afgørende parametre, mens man bygger et neuralt netværk, og det bestemmer også hyppigheden af ​​krydstjek med modelparametre. At vælge den optimerede indlæringshastighed er en udfordrende opgave, for hvis indlæringshastigheden er meget mindre, kan det bremse træningsprocessen. På den anden side, hvis indlæringshastigheden er for stor, så optimerer det muligvis ikke modellen ordentligt.

Bemærk: Indlæringshastighed er en afgørende hyperparameter for at optimere modellen, så hvis der er et krav om kun at indstille en enkelt hyperparameter, foreslås det at justere indlæringshastigheden.

    Batchstørrelse:For at øge hastigheden af ​​læringsprocessen er træningssættet opdelt i forskellige undersæt, som er kendt som en batch. Antal epoker: En epoke kan defineres som den komplette cyklus til træning af maskinlæringsmodellen. Epoke repræsenterer en iterativ læreproces. Antallet af epoker varierer fra model til model, og forskellige modeller er skabt med mere end én epoke. For at bestemme det rigtige antal epoker tages der højde for en valideringsfejl. Antallet af epoker øges, indtil der er en reduktion i en valideringsfejl. Hvis der ikke er nogen forbedring i reduktionsfejl for de på hinanden følgende epoker, indikerer det, at man skal stoppe med at øge antallet af epoker.

Hyperparameter for specifikke modeller

Hyperparametre, der er involveret i modellens struktur, er kendt som hyperparametre for specifikke modeller. Disse er givet nedenfor:

    En række skjulte enheder:Skjulte enheder er en del af neurale netværk, som refererer til de komponenter, der består af lagene af processorer mellem input- og outputenheder i et neuralt netværk.

Det er vigtigt at specificere antallet af skjulte enheders hyperparameter for det neurale netværk. Det skal være mellem størrelsen på inputlaget og størrelsen på outputlaget. Mere specifikt skal antallet af skjulte enheder være 2/3 af størrelsen på inputlaget plus størrelsen af ​​outputlaget.

For komplekse funktioner er det nødvendigt at angive antallet af skjulte enheder, men det bør ikke overpasse modellen.

    Antal lag:Et neuralt netværk er opbygget af vertikalt arrangerede komponenter, som kaldes lag. Der er hovedsageligt inputlag, skjulte lag og outputlag . Et 3-lags neuralt netværk giver en bedre ydeevne end et 2-lags netværk. For et Convolutional Neural-netværk udgør et større antal lag en bedre model.

Konklusion

Hyperparametre er de parametre, der er eksplicit defineret til at styre læringsprocessen, før en maskinlæringsalgoritme anvendes på et datasæt. Disse bruges til at specificere modellens indlæringskapacitet og kompleksitet. Nogle af hyperparametrene bruges til optimering af modellerne, såsom batchstørrelse, indlæringshastighed osv., og nogle er specifikke for modellerne, såsom Antal skjulte lag osv.