logo

Hyperparametere i maskinlæring

Hyperparametere i maskinlæring er de parametrene som er eksplisitt definert av brukeren for å kontrollere læringsprosessen. Disse hyperparametrene brukes til å forbedre læringen av modellen, og verdiene deres settes før du starter læringsprosessen til modellen.

Hyperparametere i maskinlæring

I dette emnet skal vi diskutere et av de viktigste konseptene for maskinlæring, dvs. hyperparametere, deres eksempler, hyperparameterinnstilling, kategorier av hyperparametere, hvordan hyperparameter er forskjellig fra parameter i maskinlæring? Men før vi begynner, la oss først forstå hyperparameteren.

Hva er hyperparametre?

I Machine Learning/Deep Learning er en modell representert ved sine parametere. I kontrast innebærer en treningsprosess å velge de beste/optimale hyperparametrene som brukes av å lære algoritmer for å gi det beste resultatet. Så, hva er disse hyperparametrene? Svaret er, ' Hyperparametere er definert som parametere som er eksplisitt definert av brukeren for å kontrollere læringsprosessen.'

Her antyder prefikset 'hyper' at parametrene er parametere på toppnivå som brukes til å kontrollere læringsprosessen. Verdien av hyperparameteren velges og stilles inn av maskinlæringsingeniøren før læringsalgoritmen begynner å trene modellen. Derfor er disse eksterne i forhold til modellen, og verdiene deres kan ikke endres under opplæringsprosessen .

telle distinkt

Noen eksempler på hyperparametre i maskinlæring

  • K-en i kNN eller K-Nearest Neighbor-algoritmen
  • Læringshastighet for å trene et nevralt nettverk
  • Tog-test split ratio
  • Partistørrelse, Gruppestørrelse
  • Antall epoker
  • Grener i beslutningstreet
  • Antall klynger i Clustering Algorithm

Forskjellen mellom parameter og hyperparameter?

Det er alltid en stor forvirring mellom parametere og hyperparametere eller modellhyperparametre. Så, for å fjerne denne forvirringen, la oss forstå forskjellen mellom dem begge og hvordan de er relatert til hverandre.

Modellparametere:

Modellparametere er konfigurasjonsvariabler som er interne i modellen, og en modell lærer dem på egen hånd. For eksempel , W Vekter eller koeffisienter av uavhengige variabler i den lineære regresjonsmodellen . eller Vekter eller koeffisienter av uavhengige variabler i SVM, vekt og skjevheter i et nevralt nettverk, klynge centroid i klynging. Noen nøkkelpunkter for modellparametere er som følger:

  • De brukes av modellen for å lage spådommer.
  • De læres av modellen fra selve dataene
  • Disse settes vanligvis ikke manuelt.
  • Disse er delen av modellen og nøkkelen til en maskinlæringsalgoritme.

Modellhyperparametere:

Hyperparametere er de parametrene som er eksplisitt definert av brukeren for å kontrollere læringsprosessen. Noen nøkkelpunkter for modellparametere er som følger:

  • Disse er vanligvis definert manuelt av maskinlæringsingeniøren.
  • Man kan ikke vite den eksakte beste verdien for hyperparametere for det gitte problemet. Den beste verdien kan bestemmes enten ved hjelp av tommelfingerregelen eller ved prøving og feiling.
  • Noen eksempler på hyperparametre er læringshastigheten for å trene et nevralt nettverk, K i KNN-algoritmen,

Kategorier av hyperparametre

Grovt sett kan hyperparametre deles inn i to kategorier, som er gitt nedenfor:

    Hyperparameter for optimalisering Hyperparameter for spesifikke modeller

Hyperparameter for optimalisering

Prosessen med å velge de beste hyperparametrene som skal brukes er kjent som hyperparameterinnstilling, og innstillingsprosessen er også kjent som hyperparameteroptimalisering. Optimaliseringsparametere brukes for å optimalisere modellen.

Hyperparametere i maskinlæring

Noen av de populære optimaliseringsparametrene er gitt nedenfor:

    Læringsrate:Læringsraten er hyperparameteren i optimaliseringsalgoritmer som kontrollerer hvor mye modellen må endres som svar på den estimerte feilen for hver gang modellens vekter oppdateres. Det er en av de avgjørende parametrene mens du bygger et nevralt nettverk, og det bestemmer også frekvensen av krysssjekking med modellparametere. Å velge den optimaliserte læringshastigheten er en utfordrende oppgave, fordi hvis læringshastigheten er veldig lavere, kan det bremse treningsprosessen. På den annen side, hvis læringsraten er for stor, kan det hende at den ikke optimaliserer modellen riktig.

Merk: Læringshastighet er en avgjørende hyperparameter for å optimalisere modellen, så hvis det er et krav om å justere kun en enkelt hyperparameter, foreslås det å justere læringshastigheten.

    Partistørrelse, Gruppestørrelse:For å øke hastigheten på læringsprosessen, er treningssettet delt inn i forskjellige delsett, som er kjent som en batch. Antall epoker: En epoke kan defineres som den komplette syklusen for opplæring av maskinlæringsmodellen. Epoke representerer en iterativ læringsprosess. Antall epoker varierer fra modell til modell, og ulike modeller lages med mer enn én epoke. For å bestemme riktig antall epoker, tas det hensyn til en valideringsfeil. Antall epoker økes inntil det er en reduksjon i en valideringsfeil. Hvis det ikke er noen forbedring i reduksjonsfeil for de påfølgende epoker, indikerer det å slutte å øke antallet epoker.

Hyperparameter for spesifikke modeller

Hyperparametere som er involvert i strukturen til modellen er kjent som hyperparametre for spesifikke modeller. Disse er gitt nedenfor:

    En rekke skjulte enheter:Skjulte enheter er en del av nevrale nettverk, som refererer til komponentene som består av lagene av prosessorer mellom inngangs- og utgangsenheter i et nevralt nettverk.

Det er viktig å spesifisere antall skjulte enheter hyperparameter for det nevrale nettverket. Det skal være mellom størrelsen på inngangslaget og størrelsen på utgangslaget. Mer spesifikt bør antallet skjulte enheter være 2/3 av størrelsen på inngangslaget, pluss størrelsen på utdatalaget.

For komplekse funksjoner er det nødvendig å spesifisere antall skjulte enheter, men det bør ikke overpasse modellen.

    Antall lag:Et nevralt nettverk er bygd opp av vertikalt arrangerte komponenter, som kalles lag. Det er hovedsakelig inndatalag, skjulte lag og utdatalag . Et 3-lags nevralt nettverk gir bedre ytelse enn et 2-lags nettverk. For et Convolutional Neural-nettverk utgjør et større antall lag en bedre modell.

Konklusjon

Hyperparametere er parametrene som er eksplisitt definert for å kontrollere læringsprosessen før en maskinlæringsalgoritme brukes på et datasett. Disse brukes til å spesifisere læringskapasiteten og kompleksiteten til modellen. Noen av hyperparametrene brukes for optimalisering av modellene, slik som batchstørrelse, læringshastighet osv., og noen er spesifikke for modellene, som antall skjulte lag osv.