Video: START LUCRĂRI DE EFICIENTIZARE ENERGETICĂ LA LICEUL TEORETIC ” TUDOR VIANU” 2024
Capacitatea de a valida o ipoteză de învățare a mașinii permite în mod eficient optimizarea algoritmului ales. Algoritmul oferă cea mai mare parte a performanței predictive a datelor dvs., având în vedere capacitatea sa de a detecta semnalele de la date și de a se potrivi cu forma adevărată funcțională a funcției de predicție fără a suprasolicita și a genera o mare varietate a estimărilor. Nu fiecare algoritm de învățare a mașinii este cel mai potrivit pentru datele dvs. și nici un algoritm unic nu poate să se potrivească fiecărei probleme. Depinde de dvs. să găsiți cea potrivită pentru o anumită problemă.
O a doua sursă de performanță predictivă este datele în sine transformate și selectate corespunzător pentru a spori capacitățile de învățare ale algoritmului ales.
Sursa finală de performanță derivă din reglarea fină a algoritmilor hiper-parametrii, care sunt parametrii pe care îi decideți înainte de învățare și care nu sunt învățați din date. Rolul lor este definirea unei ipoteze a priori, în timp ce alți parametri îi specifică a posteriori, după ce algoritmul interacționează cu datele și, folosind un proces de optimizare, constată că anumite valori ale parametrilor să lucreze mai bine în obținerea unor previziuni bune.
Atât R, cât și Python oferă funcționalități de tăiere care taie matricea de intrare în părți de tren, test și validare. În special, pentru proceduri mai complexe de testare, cum ar fi validarea încrucișată sau bootstrapping, pachetul Scikit-learn oferă un întreg modul și R are un pachet specializat, oferind funcții pentru divizarea datelor, preprocesarea și testarea.Acest pachet se numește îngrijire.
Posibilele combinații de valori care pot forma hiper-parametrii fac să se decidă unde să căutați greu optimizările. Așa cum este descris atunci când se discută despre coborârea gradientului, un spațiu de optimizare poate conține combinații de valori care se comportă mai bine sau mai rău. Chiar și după ce găsiți o combinație bună, nu sunteți siguri că este cea mai bună opțiune. (Aceasta este problema lipirii în minimele locale la minimizarea erorii.)
Ca modalitate practică de a rezolva această problemă, cea mai bună modalitate de a verifica hiper-parametrii pentru un algoritm aplicat datelor specifice este de a le testa pe toate validare încrucișată și pentru a alege cea mai bună combinație. Această abordare simplă, numită grilă, oferă avantaje incontestabile, permițându-vă să precizați gama de valori posibile pentru a introduce sistematic în algoritm și pentru a detecta când se întâmplă minimul general.
Pe de altă parte, căutarea în rețea are de asemenea dezavantaje serioase, deoarece este intensivă din punct de vedere computațional (puteți efectua cu ușurință această sarcină în paralel pe computerele moderne multicore) și destul de consumatoare de timp. Mai mult decât atât, testele sistematice și intensive sporesc posibilitatea de a suferi erori deoarece unele rezultate bune, dar false de validare pot fi cauzate de zgomotul prezent în setul de date.
Unele alternative la căutarea în rețea sunt disponibile. În loc să testați totul, puteți încerca să explorați spațiul posibilelor valori hiper-parametrice ghidate de tehnicile de optimizare neliniară computațional grele și complexe matematic (cum ar fi metoda Nelder-Mead), utilizând o abordare Bayesiană (unde numărul de teste este minimizat prin luarea avantajul rezultatelor anterioare) sau folosind căutarea aleatorie.
În mod surprinzător, căutarea la întâmplare funcționează incredibil de bine, este ușor de înțeles și nu se bazează numai pe norocul orb, deși pare să fie inițial. De fapt, punctul principal al tehnicii este că, dacă alegeți suficiente teste aleatorii, aveți de fapt suficiente posibilități pentru a arăta parametrii potriviți fără a pierde energia la testarea unor combinații ușor diferite de combinații similare.
Reprezentarea grafică de mai jos explică de ce rezultatele aleatorii funcționează bine. O explorare sistematică, deși utilă, tinde să testeze fiecare combinație, ceea ce se transformă într-o risipă de energie dacă unii parametri nu influențează rezultatul. O căutare aleatorie testează mai puține combinații, dar mai mult în intervalul fiecărui hyper-parametru, o strategie care se dovedește a fi câștigătoare dacă, așa cum se întâmplă deseori, anumiți parametri sunt mai importanți decât alții.
Compararea căutării în rețea cu căutarea aleatorie.
Pentru ca o căutare aleatorie să funcționeze bine, ar trebui să faceți de la 15 până la maximum 60 de teste. Are sens să recurgă la o căutare aleatorie dacă o căutare în rețea necesită un număr mai mare de experimente.