Introducere în algoritmii de învățare automată

Machine Learning este studiul analizelor predictive care funcționează pe principiul că calculatoarele învață din datele anterioare și apoi fac predicții asupra noilor date. Apariția algoritmilor de învățare a mașinilor a fost cu mult timp în urmă atunci când computerele au fost dezvoltate. Cu toate acestea, recenta recenzie este rezultatul cantităților mari de date care sunt generate și a puterii de calcul imense pe care computerele moderne le dețin. Acest lucru a dus la apariția Deep Learning, un sub-câmp al învățării prin mașină, care prosperează cu mai multe date. Funcționează ca un creier uman unde neuronii sunt folosiți pentru a lua decizii mai bune. În mod similar, în învățarea profundă, rețelele neuronale formează straturile care urmează principiul transmiterii și propagării înapoi pentru a lua decizii mai bune.

Categorii de algoritmi de învățare a mașinilor

Domeniul algoritmilor de învățare a mașinilor ar putea fi clasificat în -

  • Învățare supravegheată - În învățarea supravegheată, setul de date este etichetat, adică pentru fiecare caracteristică sau variabilă independentă, există date țintă corespunzătoare pe care le-am folosi pentru a instrui modelul.
  • Învățarea supravegheată de ONU - Spre deosebire de Învățarea supravegheată, setul de date nu este etichetat în acest caz. Astfel, tehnica de clustering este utilizată pentru a grupa datele pe baza asemănării acestora între punctele de date din același grup.
  • Învățare de consolidare - Un tip special de învățare automată în care modelul învață din fiecare acțiune întreprinsă Modelul este răsplătit pentru orice decizie corectă luată și sancționată pentru orice decizie greșită care îi permite să învețe tiparele și să ia decizii mai precise și corecte asupra datelor necunoscute.

Divizia algoritmilor de învățare a mașinilor

Problemele în algoritmii de învățare a mașinilor pot fi împărțite în -

  • Regresie - Există o relație continuă între variabilele dependente și cele independente. Variabila țintă este de natură numerică, în timp ce variabilele independente pot fi numerice sau categorice.
  • Clasificare - Cea mai comună afirmație a problemei pe care o veți găsi în lumea reală este clasificarea unui punct de date într-o clasă binară, multinomială sau ordinală. În problema Clasificării binare, variabila țintă are doar două rezultate (Da / Nu, 0/1, Adevărat / Fals). În problema Clasificării multinomiale, există mai multe clase în variabila țintă (Apple / Orange / Mango ș.a.). În problema de clasificare ordinală, variabila țintă este ordonată (de exemplu - nota studenților).

Acum, pentru a rezolva acest tip de probleme, programatorii și oamenii de știință au dezvoltat câteva programe sau algoritmi care ar putea fi folosiți pe date pentru a face predicții. Acești algoritmi ar putea fi împărțiți în algoritmi liniari și neliniari sau pe baza de arbori. Algoritmi liniari cum ar fi Regresia liniară, Regresia logistică sunt utilizate în general atunci când există o relație liniară între caracteristică și variabila țintă, în timp ce datele care prezintă modele neliniare, metodele bazate pe arbori, cum ar fi Tree Tree, Random Forest, Gradient Boosting, sunt preferate etc.

Până în prezent, am obținut o scurtă intuiție despre învățarea mașinii. Acum, veți afla o parte din algoritmii săi preprogramați pe care i-ați putea folosi în următorul dvs. proiect.

algoritmi

Există numeroși algoritmi de învățare automată care sunt pe piață în prezent și va crește doar având în vedere cantitatea de cercetare care se face în acest domeniu. Regresia liniară și logistică sunt, în general, primii algoritmi pe care îi înveți ca științific de date, urmate de algoritmi mai avansați.

Mai jos sunt prezentate câteva dintre algoritmii Machine Learning împreună cu fragmente de probe de cod din python.

1. Regresia liniară

După cum sugerează și numele, acest algoritm ar putea fi utilizat în cazurile în care variabila țintă care este de natură continuă depinde liniar de variabilele dependente. Este reprezentat de -

y = a * x + b + e, unde y este variabila țintă pe care încercăm să o prezicem, a este interceptul și b este panta, x este variabila noastră dependentă folosită pentru a face predicția. Aceasta este o regresie liniară simplă, deoarece există o singură variabilă independentă. În cazul regresiei liniare multiple, ecuația ar fi fost -

y = a1*x1 + a2*x2 + …… + a(n)*x(n) + b + e

Aici, e este termenul de eroare și a1, a2 .. a (n) sunt coeficientul variabilelor independente.

Pentru a evalua performanța modelului, se folosește o metrică care, în acest caz, poate fi o eroare pătrată medie rădăcină, care este rădăcina pătrată a mediei a sumei diferenței dintre valorile reale și previzionate.

Scopul regresiei liniare este de a găsi cea mai potrivită linie care să minimizeze diferența dintre punctele de date reale și cele previzionate.

Linear Regression ar putea fi scris în Python ca mai jos -

2. Regresia logistică

În ceea ce privește menținerea unei relații liniare, este la fel ca regresia liniară. Cu toate acestea, spre deosebire de Regresia liniară, variabila țintă în Regresia logistică este categorică, adică de natură binară, multinomială sau ordinală. Alegerea funcției de activare este importantă în regresia logistică, deoarece pentru problemele de clasificare binară, se folosește jurnalul de cote în favoare, adică funcția sigmoidă.

În cazul unei probleme cu mai multe clase, funcția softmax este preferată, deoarece o funcție sigmoidă necesită mult timp de calcul.

Metrica utilizată pentru evaluarea unei probleme de clasificare este, în general, precizia sau curba ROC. Cu cât este mai multă zonă din cadrul ROC, cu atât modelul este mai bun. Un grafic aleator ar avea un ASC de 0, 5. Valoarea 1 indică cea mai mare precizie, în timp ce 0 indică precizia cea mai mică.

Regresia logistică poate fi scrisă în învățarea ca -


3. Vecini K-cei mai apropiați

Algoritmii de învățare automată ar putea fi folosiți atât pentru probleme de clasificare cât și pentru probleme de regresie. Ideea din spatele metodei KNN este aceea că prezice valoarea unui punct de date nou pe baza vecinilor săi mai apropiați. K este de obicei preferat ca un număr impar pentru a evita orice conflict. În timp ce se clasifică orice punct de date nou, se ia în considerare clasa cu cel mai înalt mod în Vecini. În timp ce pentru problema de regresie, media este considerată ca valoare.

Am aflat că KNN este scris ca -


KNN este utilizat la construirea unui motor de recomandare.

4. Mașini Vector de Suport

Un algoritm de clasificare în care un hiperplan separă cele două clase. Într-o problemă de clasificare binară, doi vectori din două clase distincte sunt considerați cunoscuți ca vectori de susținere și hiperplanul este tras la distanța maximă față de vectorii de sprijin.

După cum puteți vedea, o singură linie separă cele două clase. Cu toate acestea, în majoritatea cazurilor, datele nu ar fi atât de perfecte și un simplu hiperplan nu ar putea să separe clasele. Prin urmare, trebuie să reglați parametri precum Regularizare, Kernel, Gamma ș.a.

Nucleul ar putea fi liniar sau polinomial în funcție de modul de separare a datelor. În acest caz, nucleul are o natură liniară. În cazul regularizării, trebuie să alegeți o valoare optimă de C, deoarece valoarea ridicată ar putea duce la supraîncadrare, în timp ce o valoare mică ar putea corespunde modelului. Influența unui singur exemplu de antrenament este definită de Gamma. Punctele apropiate de linie sunt considerate în gama mare și invers pentru gama scăzută.

În sklearn, SVM este scris ca -


5. Naive Bayes

Funcționează pe principiul teoremei Bayes care găsește probabilitatea unui eveniment având în vedere anumite condiții adevărate. Teorema lui Bayes este reprezentată ca -

Algoritmul se numește Naive, deoarece consideră că toate variabilele sunt independente, iar prezența unei variabile nu are nicio relație cu celelalte variabile, ceea ce nu se întâmplă niciodată în viața reală. Naive Bayes ar putea fi utilizat în clasificarea prin email spam și în clasificarea textului.

Codul Naïve Bayes din Python -

6. Arborele decizional

Utilizat atât pentru probleme de clasificare, cât și pentru regresie, algoritmul Tree Tree este unul dintre algoritmii cei mai simpli și ușor de interpretat automat. Nu este afectat de valorile exterioare sau lipsă din date și ar putea surprinde relațiile neliniare dintre variabilele dependente și independente.

Pentru a construi un arbore de decizii, toate caracteristicile sunt considerate la început, dar funcția cu câștigul maxim de informații este luată ca nodul rădăcină final pe baza căruia se face divizarea succesivă. Această împărțire continuă pe nodul copil pe baza criteriilor maxime de informație și se oprește până când toate instanțele au fost clasificate sau datele nu mai pot fi împărțite în continuare. Arborii de decizie sunt adesea predispuși la suprapunere și, prin urmare, este necesar să reglați hiperparametrul ca adâncimea maximă, nodurile minime ale frunzelor, eșantioane minime, caracteristici maxime ș.a. Pentru a reduce supraîncadrarea, există o abordare lacomă care stabilește constrângeri la fiecare pas și alege cele mai bune criterii posibile pentru această scindare. Există o altă abordare mai bună numită Pruning, în care arborele este construit mai întâi la o anumită adâncime predefinită, iar apoi pornind din partea de jos nodurile sunt eliminate dacă nu îmbunătățește modelul.

În sklearn, Arborele Deciziei este codat ca -



7. Pădure aleatoare

Pentru a reduce supraîncadrarea în arborele de decizie, este necesar să se reducă variația modelului și, astfel, a apărut conceptul de bagaj. Bagajul este o tehnică în care este realizată ieșirea mai multor clasificatori pentru a forma producția finală. Random Forest este o astfel de metodă de bagaj în care setul de date este prelevat în mai multe seturi de date și caracteristicile sunt selectate la întâmplare pentru fiecare set. Apoi pe fiecare date eșantionate, se aplică algoritmul Tree Tree pentru a obține ieșirea din fiecare mod. În cazul unei probleme de regresie, media rezultatului tuturor modelelor este luată în considerare, în timp ce, în cazul unei probleme de clasificare, clasa care primește votul maxim este considerată a clasifica punctul de date. Pădurea întâmplătoare nu este influențată de valori superioare, valori lipsă în date și, de asemenea, ajută la reducerea dimensionalității. Cu toate acestea, nu este interpretabil care este un dezavantaj pentru Random Forest. În Python, puteți codifica Random Forest ca -


8. K-înseamnă Clustering

Până acum, am lucrat cu probleme de învățare supravegheate, unde pentru fiecare intrare există o ieșire corespunzătoare. Acum, am afla despre învățarea nesupravegheată unde datele nu sunt etichetate și trebuie să fie grupate în grupuri specifice. Există mai multe tehnici de clustering disponibile. Cu toate acestea, cea mai comună dintre ele este clustering-ul K-means. Cu cerneală, k se referă la numărul de clustere care trebuie setate înainte de a menține o varianță maximă în setul de date. Odată setată k, centrezii sunt inițializați. Centrulii sunt apoi reglați în mod repetat, astfel încât distanța dintre punctele de date dintr-un centroid să fie maximă și distanța dintre două separate să fie maximă. Distanța euclidiană, distanța Manhattan, sunt câteva dintre formulele de distanță utilizate în acest scop.

Valoarea k poate fi găsită din metoda cotului.

Clustering-ul K-means este utilizat în industriile de comerț electronic unde clienții sunt grupați pe baza modelelor de comportament. Poate fi, de asemenea, utilizat în Risk Analytics. Mai jos este codul piton -


Concluzie: Algoritmi de învățare a mașinilor

Data Scientist este cea mai sexy meserie din secolul 21, iar Machine Learning este cu siguranță unul dintre domeniile sale de expertiză. Pentru a fi un om de știință a datelor, trebuie să deținem o înțelegere aprofundată a tuturor acestor algoritmi și, de asemenea, alte câteva tehnici noi, cum ar fi învățarea profundă.

Articole recomandate

Acesta a fost un ghid pentru algoritmii de învățare a mașinilor. Aici am discutat despre Concept, Categorii, probleme și diferiți algoritmi de limbaj de mașină. De asemenea, puteți parcurge și celelalte articole sugerate pentru a afla mai multe -

  1. Tehnici de învățare a mașinilor
  2. Ce este învățarea profundă
  3. Data scientist vs Machine Learning
  4. Învățare supravegheată vs învățare nesupervizată
  5. Hyperparameter Machine Learning
  6. Ce este învățarea de armare?
  7. Cele mai utilizate tehnici de învățare a ansamblurilor
  8. Ghid complet pentru exemple de algoritm C ++
  9. Ghid pentru etapele ciclului de învățare a mașinilor

Categorie: