Acasă Finanțe personale 10 Moduri de îmbunătățire a modelelor dvs. de învățare a mașinilor - dummies

10 Moduri de îmbunătățire a modelelor dvs. de învățare a mașinilor - dummies

Cuprins:

Video: La Educación Prohibida - Película Completa HD 2024

Video: La Educación Prohibida - Película Completa HD 2024
Anonim

Acum că sunteți algoritmul de învățare automată a terminat de învățat din datele obținute utilizând Python sau R, rezultate din setul de test și vă întrebați dacă puteți să le îmbunătățiți sau dacă ați atins cu adevărat cel mai bun rezultat posibil. Există o serie de verificări și acțiuni care indică metodele pe care le puteți utiliza pentru a îmbunătăți performanța de învățare a mașinilor și pentru a obține un predictor mai general care să poată funcționa la fel de bine cu setul dvs. de testare sau cu date noi. Această listă de zece tehnici vă oferă oportunități de îmbunătățire a rezultatelor obținute prin utilizarea algoritmilor de învățare automată.

Studierea curbelor de învățare

Ca prim pas pentru îmbunătățirea rezultatelor, trebuie să determinați problemele cu modelul dvs. Curbele de învățare vă solicită să verificați împotriva unui set de test, pe măsură ce modificați numărul de instanțe de instruire. Veți observa imediat dacă veți găsi o mare diferență între erorile din eșantion și cele din eșantion. O diferență inițială largă este un semn al varianței de estimare; dimpotrivă, erorile care sunt atât de mari cât și similare sunt semne că lucrați cu un model părtinitor.

Python vă ajută să trageți ușor curbele de învățare utilizând funcția Scikit-learn (). De asemenea, puteți obține cu ușurință același rezultat folosind R cu funcții personalizate, așa cum este descris de blogul de analiză Revolution.

Utilizarea corectă a validării încrucișate

Văzând o mare diferență între estimările de validare încrucișată (CV) și rezultatul este o problemă comună care apare cu un set de test sau cu date noi. Având această problemă înseamnă că ceva a mers prost cu validarea încrucișată. Dincolo de faptul că CV-ul nu este un predictor de performanță bun, această problemă înseamnă, de asemenea, că un indicator înșelător vă determină să modelați problema în mod incorect și să obțineți rezultate nesatisfăcătoare.

Validarea încrucișată vă oferă sfaturi când pașii pe care îi faceți sunt corecți. Este important, dar nu critică, că CV-ul estimează precis repetarea măsurătorilor de eroare în afara eșantionului. Cu toate acestea, este esențial ca estimările CV să reflecte corect îmbunătățirea sau înrăutățirea în faza de testare datorită deciziilor dvs. de modelare. În general, există două motive pentru care estimările de validare încrucișată pot varia de la rezultatele corecte ale erorilor:

  • Snooping
  • Eșantionarea incorectă

Python oferă un prelevator CV stratificat-k-folds. R poate stratifica mostrele utilizând metoda createFolds a bibliotecii caret atunci când furnizați parametrul y ca factor.

Alegerea valorii corecte a erorii sau scorului

Încercarea de a optimiza o valoare de eroare bazată pe eroarea mediană utilizând un algoritm de învățare bazat pe eroarea medie nu vă va oferi cele mai bune rezultate decât dacă gestionați procesul de optimizare o modă care funcționează în favoarea metricei alese.Când rezolvați o problemă prin utilizarea datelor și învățării în mașină, trebuie să analizați problema și să determinați măsura ideală pentru a optimiza.

Exemplele pot ajuta foarte mult. Puteți obține multe dintre ele din lucrări academice și din concursurile de învățare a mașinilor publice care definesc cu atenție probleme specifice în ceea ce privește datele și erorile / indicii de evaluare. Căutați un concurs ale cărui obiective și date sunt similare cu ale dvs., apoi verificați valoarea dorită.

Căutarea celor mai buni parametri hiper-parametri

Majoritatea algoritmilor funcționează destul de bine din cutie utilizând setările implicite ale parametrilor. Cu toate acestea, puteți obține întotdeauna rezultate mai bune prin testarea unor parametri hiper-parametri. Tot ce trebuie să faceți este să creați o căutare în rețea între valorile posibile pe care parametrii dvs. pot să le ia și să evalueze rezultatele utilizând ecuația corectă sau valoarea scorului. Căutarea are nevoie de timp, dar vă poate îmbunătăți rezultatele.

Când o căutare durează prea mult pentru a finaliza, puteți obține adesea aceleași rezultate, lucrați pe un eșantion de date originale. Mai puține exemple alese la întâmplare necesită mai puține calcule, dar de obicei indică aceeași soluție. Un alt truc care poate economisi timp și efort este de a face o căutare aleatorie, limitând astfel numărul de combinații hiper-parametri pentru a testa.

Testarea mai multor modele

Ca o bună practică, încercați mai multe modele, începând cu cele de bază - modelele care au mai multă tendință decât varianța. Ar trebui să favorizezi întotdeauna soluții simple față de cele complexe. Puteți descoperi că o soluție simplă funcționează mai bine.

Reprezentarea performanțelor diferitelor modele utilizând aceeași diagramă este utilă înainte de a alege cea mai bună pentru a rezolva problema. Puteți plasa modele utilizate pentru a prezice comportamentul consumatorilor, cum ar fi răspunsul la o ofertă comercială, în diagramele de câștiguri speciale și în graficele de ridicare. Aceste diagrame arată modul în care modelul dvs. efectuează prin împărțirea rezultatelor în decili sau părți mai mici.

Pentru că ați putea fi interesat doar de consumatorii care sunt cel mai probabil să răspundă la oferta dvs., ordonarea predicțiilor de la cel mai puțin probabil la cel mai probabil va sublinia cât de bune sunt modelele dvs. pentru a prezice clienții cei mai promițători. Aceste răspunsuri Quora vă ajută să vedeți cum funcționează graficele de câștig și de ridicare: Ce este Curba ROC? și Care este curba ascensorului?.

Testarea mai multor modele și introspectarea le poate oferi, de asemenea, sugestii cu privire la caracteristicile care se transformă pentru crearea de caracteristici sau care caracteristică să nu mai funcționeze când faceți selecții de caracteristici.

Modele de mediere

Învățarea în mașină implică construirea mai multor modele și crearea de predicții diferite, toate cu performanțe de eroare diferite. S-ar putea să vă surprindă să știți că puteți obține rezultate chiar mai bune prin medierea modelelor împreună. Principiul este destul de simplu: varianța de estimare este aleatorie, prin medierea mai multor modele diferite, puteți spori semnalul și puteți exclude zgomotul care se va desființa adesea.

Uneori rezultatele unui algoritm care funcționează bine, amestecate cu rezultatele dintr-un algoritm mai simplu, care nu funcționează la fel de bine, poate crea predicții mai bune decât utilizarea unui singur algoritm.Nu subestimați contribuțiile oferite de modelele mai simple, cum ar fi modelele liniare, atunci când mediați rezultatele lor cu rezultatul algoritmilor mai sofisticați, cum ar fi creșterea gradientului.

Modele de stivuire

Din aceleași motive pentru care funcționează și medierea, stivuirea vă poate oferi și o performanță mai bună. În stivuire, construiți modelele dvs. de învățare în două etape. Inițial, această tehnică prezice mai multe rezultate folosind algoritmi diferiți, cu toate acestea învățând din caracteristicile prezente în datele dvs. În timpul celei de-a doua faze, în loc să furnizeze caracteristici pe care un nou model le va învăța, vă oferiți acel model cu previziunile celorlalte modele, instruite anterior.

Utilizarea unei abordări în două etape este justificată atunci când se ghicesc funcții țintă complexe. Puteți să le aproximați numai prin folosirea mai multor modele împreună și apoi prin combinarea rezultatului înmulțirii într-un mod inteligent. Puteți folosi o regresie logistică simplă sau un ansamblu complex de arbori ca un model din a doua etapă.

Concursul Netflix oferă dovezi și o ilustrare detaliată despre modul în care modelele eterogene pot fi stivuite împreună pentru a forma modele mai puternice. Cu toate acestea, implementarea acestei soluții ca aplicație de lucru poate fi destul de greoaie.

Aplicarea ingineriei caracteristicilor

Dacă credeți că prejudecățile încă vă afectează modelul, aveți puține opțiuni decât să creați funcții noi care îmbunătățesc performanța modelului. Fiecare caracteristică nouă poate face mai ușor să ghicească răspunsul țintă.

Crearea automată a caracteristicilor este posibilă folosind extensia polinomială sau clasa de mașini de suport a algoritmilor de învățare a mașinilor. Mașinile vectoriale de asistență pot căuta în mod automat funcții mai bune în spații de caracteristici de dimensiuni mai mari, într-un mod atât de rapid și optim de memorie.

Cu toate acestea, nimic nu poate înlocui cu adevărat expertiza și înțelegerea metodei necesare pentru a rezolva problema de date pe care algoritmul încearcă să o învețe. Puteți crea funcții bazate pe cunoștințele și ideile dvs. despre cum funcționează lucrurile în lume. Oamenii sunt încă imbatabili în acest sens, iar mașinile nu le pot înlocui cu ușurință.

Selectarea caracteristicilor și a exemplelor

Dacă varianța de estimare este ridicată și algoritmul dvs. se bazează pe multe funcții, este necesar să efectuați o analiză a unor funcții pentru rezultate mai bune. În acest context, este recomandabil să reduceți numărul de caracteristici din matricea datelor dvs. prin selectarea celor cu cea mai mare valoare predictivă.

Când lucrați cu modele lineare, mașini vectoriale de suport sau rețele neuronale, regularizarea este întotdeauna o opțiune. Ambele L1 și L2 pot reduce influența variabilelor redundante sau chiar le pot elimina din model. Selecția de stabilitate utilizează capacitatea L1 de a exclude variabilele mai puțin utile. Tehnica exemplifică datele de antrenament pentru a confirma excluderea.

Puteți afla mai multe despre selectarea stabilității prin vizualizarea exemplului de pe site-ul Web Scikit-learn. În plus, puteți practica folosind funcțiile RandomizedLogisticRegression și RandomizedLasso Scikit-learn în modulul linear_model.

Căutarea mai multor date

După ce ați încercat toate sugestiile anterioare, este posibil să aveți în continuare o variație mare de previziuni. În acest caz, singura opțiune este să măriți dimensiunea setului de antrenament. Încercați să creșteți eșantionul furnizând date noi, ceea ce ar putea traduce în cazuri noi sau în funcții noi.

Dacă doriți să adăugați mai multe cazuri, examinați dacă aveți date similare la îndemână. Dacă doriți să adăugați funcții noi, găsiți o sursă de date open source, dacă este posibil, pentru a se potrivi cu datele dvs. cu intrările. O altă modalitate excelentă de a obține atât cazuri noi, cât și noi caracteristici este prin răsturnarea datelor de pe web. Adesea, datele sunt disponibile între diferite surse sau printr-o interfață de programare a aplicațiilor (API). De exemplu, API-urile Google oferă numeroase surse de informații geografice și de afaceri.

10 Moduri de îmbunătățire a modelelor dvs. de învățare a mașinilor - dummies

Alegerea editorilor

Evaluarea Vizualizărilor de date - dummies

Evaluarea Vizualizărilor de date - dummies

Vizualizările de date pot fi foarte colorate și impresionante. Dar amintiți-vă că cheia pentru crearea unor vizualizări eficiente de date nu depinde de faptul dacă este interesantă, ci mai degrabă de faptul dacă descoperă problemele reale de afaceri care trebuie abordate. O foaie de lucru vă ajută să creați propriile vizualizări de date sau să evaluați creațiile altora. Aici ...

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Determinarea programului care funcționează cel mai bine pentru nevoile tale informatice

Să lucreze mai bine decât celălalt. În timp, veți dezvolta un sentiment dacă Illustrator sau Photoshop se potrivesc mai bine pentru diverse sarcini. Până atunci, iată un exemplu despre modul în care fiecare program gestionează diferite elemente ale lucrării de design grafic. Graphing Photoshop nu este un program de grafic. Tu ...

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografice nevergreen: Închirierea obiectelor Build - dummies

Infografics evergreen nu sunt legate de niciun eveniment sau persoană în știri . Ele nu au o componentă sezonieră și nu sunt legate de ceva în timp util. O infographic despre cum se fac CD-urile se va aplica pentru că este vorba de muzică, dar nu este specifică nici unui artist sau gen. Cu infografiile veșnic verzi, ignorați complet evenimentele curente și explorați ideile ...

Alegerea editorilor

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Utilizați Zoom în Adobe Photoshop CS5 - manechine

Adobe Creative Suite 5 oferă scurtături pentru Zooming în Photoshop. Imaginile care arată bine la un nivel de zoom pot părea extrem de proaste la altul. Veți mări și micșora destul de des în timp ce lucrați la imagini în Photoshop. Puteți găsi opțiuni de meniu pentru zoom în meniul Vizualizare; o modalitate mai rapidă de a mări este ...

Text în Photoshop CC - dummies

Text în Photoshop CC - dummies

Când editați o imagine cu text în Photoshop CC, puteți schimba linia care fluxul dvs. de tip fie folosind funcția Warp Text sau tastând pe o cale. Tipul de deformare utilizează forme predefinite la care se formează tipul dvs. (și poate fi utilizat atât cu tipul de punct, cât și cu paragraful) și tastând ...

Alegerea editorilor

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cum se adaugă Biblioteca RegEx în C ++ - dummies

Cea mai mare parte a bibliotecii Boost funcționează bine adăugând la codul aplicației. Cu toate acestea, câteva componente, cum ar fi RegEx, necesită o bibliotecă. Înainte de a putea folosi o bibliotecă, trebuie să o construiți. După ce ați construit biblioteca, trebuie să o adăugați în aplicație. Există două tehnici de adăugare a ...

Cum Heap Works în C ++ - dummies

Cum Heap Works în C ++ - dummies

Halda este un bloc amorf de memorie pe care programul C ++ îl poate accesa după cum este necesar. Aflați de ce există și cum se utilizează. Așa cum este posibil să treci un pointer la o funcție, este posibil ca o funcție să returneze un pointer. O funcție care returnează adresa ...

Cum să evitați codul de injectare în C ++ - dummies

Cum să evitați codul de injectare în C ++ - dummies

Prima regulă de evitare a codului injectat în programele C ++ , permiterea prelucrării datelor de către un interpret de limbă cu scop general. O eroare obișnuită cu SQL-injectarea este că programul acceptă intrarea utilizatorului ca și cum ar fi fost întotdeauna acceptabilă și îl inserează într-o interogare SQL pe care o trimite apoi la ...