logo

Hyperparametrar i maskininlärning

Hyperparametrar i maskininlärning är de parametrar som uttryckligen definieras av användaren för att styra inlärningsprocessen. Dessa hyperparametrar används för att förbättra inlärningen av modellen, och deras värden sätts innan inlärningsprocessen för modellen påbörjas.

Hyperparametrar i maskininlärning

I det här ämnet kommer vi att diskutera ett av de viktigaste begreppen för maskininlärning, d.v.s. hyperparametrar, deras exempel, hyperparameterjustering, kategorier av hyperparametrar, hur skiljer sig hyperparameter från parameter i maskininlärning? Men innan vi börjar, låt oss först förstå hyperparametern.

Vad är hyperparametrar?

I Machine Learning/Deep Learning representeras en modell av sina parametrar. Däremot innebär en träningsprocess att välja de bästa/optimala hyperparametrarna som används av inlärningsalgoritmer för att ge det bästa resultatet. Så, vad är dessa hyperparametrar? Svaret är, ' Hyperparametrar definieras som de parametrar som uttryckligen definieras av användaren för att styra inlärningsprocessen.'

Här antyder prefixet 'hyper' att parametrarna är parametrar på toppnivå som används för att styra inlärningsprocessen. Värdet på hyperparametern väljs och ställs in av maskininlärningsingenjören innan inlärningsalgoritmen börjar träna modellen. Dessa ligger därför utanför modellen och deras värderingar kan inte ändras under utbildningsprocessen .

java-metoden

Några exempel på hyperparametrar i maskininlärning

  • K:et i kNN eller K-Nearest Neighbor-algoritmen
  • Inlärningshastighet för att träna ett neuralt nätverk
  • Tåg-test split ratio
  • Satsstorlek
  • Antal epoker
  • Grenar i beslutsträdet
  • Antal kluster i Cluster Algorithm

Skillnad mellan parameter och hyperparameter?

Det finns alltid en stor förvirring mellan parametrar och hyperparametrar eller modellhyperparametrar. Så, för att rensa denna förvirring, låt oss förstå skillnaden mellan dem båda och hur de är relaterade till varandra.

Modellparametrar:

Modellparametrar är konfigurationsvariabler som är interna i modellen, och en modell lär sig dem på egen hand. Till exempel , W Vikter eller koefficienter för oberoende variabler i den linjära regressionsmodellen . eller Vikter eller koefficienter för oberoende variabler i SVM, vikt och fördomar i ett neuralt nätverk, kluster centroid i kluster. Några nyckelpunkter för modellparametrar är följande:

  • De används av modellen för att göra förutsägelser.
  • De lärs av modellen från själva datan
  • Dessa ställs vanligtvis inte in manuellt.
  • Dessa är delen av modellen och nyckeln till en maskininlärningsalgoritm.

Modellens hyperparametrar:

Hyperparametrar är de parametrar som uttryckligen definieras av användaren för att styra inlärningsprocessen. Några nyckelpunkter för modellparametrar är följande:

  • Dessa definieras vanligtvis manuellt av maskininlärningsingenjören.
  • Man kan inte veta det exakta bästa värdet för hyperparametrar för det givna problemet. Det bästa värdet kan fastställas antingen genom tumregeln eller genom försök och misstag.
  • Några exempel på hyperparametrar är inlärningshastigheten för att träna ett neuralt nätverk, K i KNN-algoritmen,

Kategorier av hyperparametrar

I stora drag kan hyperparametrar delas in i två kategorier, som ges nedan:

    Hyperparameter för optimering Hyperparameter för specifika modeller

Hyperparameter för optimering

Processen att välja de bästa hyperparametrarna att använda kallas hyperparameterinställning, och inställningsprocessen är också känd som hyperparameteroptimering. Optimeringsparametrar används för att optimera modellen.

Hyperparametrar i maskininlärning

Några av de populära optimeringsparametrarna ges nedan:

    Inlärningshastighet:Inlärningshastigheten är hyperparametern i optimeringsalgoritmer som styr hur mycket modellen behöver ändras som svar på det uppskattade felet för varje gång som modellens vikter uppdateras. Det är en av de avgörande parametrarna när man bygger ett neuralt nätverk, och det bestämmer också frekvensen av korskontroll med modellparametrar. Att välja den optimerade inlärningshastigheten är en utmanande uppgift eftersom om inlärningshastigheten är mycket lägre kan det sakta ner träningsprocessen. Å andra sidan, om inlärningshastigheten är för stor, kanske det inte optimerar modellen ordentligt.

Notera: Inlärningshastigheten är en avgörande hyperparameter för att optimera modellen, så om det finns ett krav på att endast ställa in en enda hyperparameter, föreslås det att du justerar inlärningshastigheten.

    Satsstorlek:För att öka hastigheten i inlärningsprocessen är träningsuppsättningen uppdelad i olika delmängder, som kallas en batch. Antal epoker: En epok kan definieras som den kompletta cykeln för träning av maskininlärningsmodellen. Epok representerar en iterativ inlärningsprocess. Antalet epoker varierar från modell till modell, och olika modeller skapas med mer än en epok. För att bestämma rätt antal epoker beaktas ett valideringsfel. Antalet epoker ökas tills det finns en minskning av ett valideringsfel. Om det inte finns någon förbättring av reduktionsfelet för de på varandra följande epokerna, indikerar det att man ska sluta öka antalet epoker.

Hyperparameter för specifika modeller

Hyperparametrar som är involverade i modellens struktur kallas hyperparametrar för specifika modeller. Dessa ges nedan:

    Ett antal dolda enheter:Dolda enheter är en del av neurala nätverk, vilket hänvisar till de komponenter som utgörs av lagren av processorer mellan ingångs- och utgångsenheter i ett neuralt nätverk.

Det är viktigt att specificera antalet dolda enheters hyperparameter för det neurala nätverket. Det bör vara mellan storleken på inmatningsskiktet och storleken på utgångsskiktet. Mer specifikt bör antalet dolda enheter vara 2/3 av storleken på ingångslagret, plus storleken på utdatalagret.

För komplexa funktioner är det nödvändigt att ange antalet dolda enheter, men det bör inte överpassa modellen.

    Antal lager:Ett neuralt nätverk är uppbyggt av vertikalt arrangerade komponenter, som kallas lager. Det finns främst indatalager, dolda lager och utdatalager . Ett 3-lagers neuralt nätverk ger bättre prestanda än ett 2-lagers nätverk. För ett Convolutional Neural-nätverk utgör ett större antal lager en bättre modell.

Slutsats

Hyperparametrar är de parametrar som är explicit definierade för att styra inlärningsprocessen innan en maskininlärningsalgoritm tillämpas på en datauppsättning. Dessa används för att specificera modellens inlärningskapacitet och komplexitet. Några av hyperparametrarna används för optimering av modellerna, såsom batchstorlek, inlärningshastighet, etc., och några är specifika för modellerna, såsom antal dolda lager, etc.