logo

Hiperparametri în Machine Learning

Hiperparametrii în învățarea automată sunt acei parametri care sunt definiți în mod explicit de către utilizator pentru a controla procesul de învățare. Acești hiperparametri sunt utilizați pentru a îmbunătăți învățarea modelului, iar valorile lor sunt stabilite înainte de a începe procesul de învățare a modelului.

Hiperparametri în Machine Learning

În acest subiect, vom discuta unul dintre cele mai importante concepte ale învățării automate, adică hiperparametrii, exemplele acestora, reglarea hiperparametrilor, categoriile de hiperparametri, cum este diferit hiperparametrul de parametrul în Machine Learning? Dar înainte de a începe, să înțelegem mai întâi Hiperparametrul.

Ce sunt hiperparametrii?

În Machine Learning/Deep Learning, un model este reprezentat de parametrii săi. În schimb, un proces de antrenament implică selectarea celor mai buni/optimi hiperparametri care sunt utilizați de algoritmii de învățare pentru a oferi cel mai bun rezultat. Deci, care sunt acești hiperparametri? Raspunsul este, ' Hiperparametrii sunt definiți ca parametrii care sunt definiți în mod explicit de către utilizator pentru a controla procesul de învățare.'

Aici prefixul „hyper” sugerează că parametrii sunt parametri de nivel superior care sunt utilizați în controlul procesului de învățare. Valoarea hiperparametrului este selectată și setată de către inginerul de învățare automată înainte ca algoritmul de învățare să înceapă antrenarea modelului. Prin urmare, acestea sunt externe modelului, iar valorile lor nu pot fi modificate în timpul procesului de antrenament .

listă goală java

Câteva exemple de hiperparametri în Machine Learning

  • Algoritmul k în kNN sau K-Cel mai apropiat vecin
  • Rata de învățare pentru antrenarea unei rețele neuronale
  • Raport de împărțire tren-test
  • Dimensiunea lotului
  • Numărul de epoci
  • Ramuri în arborele decizional
  • Numărul de clustere în algoritmul de clusterizare

Diferența dintre parametru și hiperparametru?

Există întotdeauna o mare confuzie între Parametri și hiperparametri sau hiperparametri model. Deci, pentru a înlătura această confuzie, să înțelegem diferența dintre ambele și modul în care sunt legate între ele.

Parametrii modelului:

Parametrii modelului sunt variabile de configurare care sunt interne modelului și un model le învață singur. De exemplu , W Greutăți sau coeficienți ai variabilelor independente în modelul de regresie liniară . sau Greutăți sau coeficienți ai variabilelor independente în SVM, greutate și părtiniri ale unei rețele neuronale, centroidul clusterului în clustering. Câteva puncte cheie pentru parametrii modelului sunt următoarele:

  • Ele sunt folosite de model pentru a face predicții.
  • Ele sunt învățate de model din datele în sine
  • Acestea nu sunt de obicei setate manual.
  • Acestea sunt partea modelului și cheia unui algoritm de învățare automată.

Hiperparametrii modelului:

Hiperparametrii sunt acei parametri care sunt definiți în mod explicit de către utilizator pentru a controla procesul de învățare. Câteva puncte cheie pentru parametrii modelului sunt următoarele:

  • Acestea sunt de obicei definite manual de către inginerul de învățare automată.
  • Nu se poate ști exact cea mai bună valoare pentru hiperparametrii pentru problema dată. Cea mai bună valoare poate fi determinată fie prin regula generală, fie prin încercare și eroare.
  • Câteva exemple de hiperparametri sunt rata de învățare pentru antrenarea unei rețele neuronale, K în algoritmul KNN,

Categorii de hiperparametri

În linii mari, hiperparametrii pot fi împărțiți în două categorii, care sunt prezentate mai jos:

    Hiperparametru pentru optimizare Hiperparametru pentru modele specifice

Hiperparametru pentru optimizare

Procesul de selectare a celor mai buni hiperparametri de utilizat este cunoscut sub denumirea de ajustare hiperparametrică, iar procesul de reglare este cunoscut și sub denumirea de optimizare a hiperparametrilor. Parametrii de optimizare sunt utilizați pentru optimizarea modelului.

Hiperparametri în Machine Learning

Unii dintre parametrii de optimizare populari sunt prezentați mai jos:

    Rata de învățare:Rata de învățare este hiperparametrul din algoritmii de optimizare care controlează cât de mult trebuie să se schimbe modelul ca răspuns la eroarea estimată pentru fiecare dată când ponderile modelului sunt actualizate. Este unul dintre parametrii cruciali la construirea unei rețele neuronale și, de asemenea, determină frecvența verificării încrucișate cu parametrii modelului. Selectarea ratei de învățare optimizată este o sarcină dificilă, deoarece dacă rata de învățare este foarte mică, atunci poate încetini procesul de formare. Pe de altă parte, dacă rata de învățare este prea mare, atunci este posibil să nu optimizeze modelul în mod corespunzător.

Notă: Rata de învățare este un hiperparametru esențial pentru optimizarea modelului, deci dacă există o cerință de reglare a unui singur hiperparametru, se recomandă reglarea ratei de învățare.

    Dimensiunea lotului:Pentru a spori viteza procesului de învățare, setul de antrenament este împărțit în diferite subseturi, care sunt cunoscute ca un lot. Numărul de epoci: O epocă poate fi definită ca ciclul complet de antrenare a modelului de învățare automată. Epoca reprezintă un proces de învățare iterativ. Numărul de epoci variază de la model la model, iar diferite modele sunt create cu mai multe epoci. Pentru a determina numărul corect de epoci, se ia în considerare o eroare de validare. Numărul de epoci crește până când se reduce o eroare de validare. Dacă nu există nicio îmbunătățire a erorii de reducere pentru epocile consecutive, atunci indică oprirea creșterii numărului de epoci.

Hiperparametru pentru modele specifice

Hiperparametrii care sunt implicați în structura modelului sunt cunoscuți ca hiperparametri pentru modele specifice. Acestea sunt date mai jos:

    Un număr de unități ascunse:Unitățile ascunse fac parte din rețelele neuronale, care se referă la componentele care cuprind straturile de procesoare dintre unitățile de intrare și de ieșire dintr-o rețea neuronală.

Este important să specificați numărul de unități ascunse hiperparametru pentru rețeaua neuronală. Ar trebui să fie între dimensiunea stratului de intrare și dimensiunea stratului de ieșire. Mai precis, numărul de unități ascunse ar trebui să fie de 2/3 din dimensiunea stratului de intrare, plus dimensiunea stratului de ieșire.

Pentru funcțiile complexe, este necesar să specificați numărul de unități ascunse, dar nu ar trebui să se adapteze prea mult la model.

    Număr de straturi:O rețea neuronală este formată din componente dispuse vertical, care se numesc straturi. Există în principal straturi de intrare, straturi ascunse și straturi de ieșire . O rețea neuronală cu 3 straturi oferă o performanță mai bună decât o rețea cu 2 straturi. Pentru o rețea neuronală convoluțională, un număr mai mare de straturi reprezintă un model mai bun.

Concluzie

Hiperparametrii sunt parametrii definiți în mod explicit pentru a controla procesul de învățare înainte de a aplica un algoritm de învățare automată la un set de date. Acestea sunt folosite pentru a specifica capacitatea de învățare și complexitatea modelului. Unii dintre hiperparametri sunt folosiți pentru optimizarea modelelor, cum ar fi dimensiunea lotului, rata de învățare etc., iar unii sunt specifici modelelor, cum ar fi Number of Hidden layers etc.