Îți amintești teorema No Free Lunch? Nu, nu este vorba despre mâncare (încă). Dar dacă vă este foame, luați o gustare înainte de a citi această postare – nu vreau să salivezi pe toată tastatura.

Vă reamintesc – niciun algoritm nu este optim pe ansamblul tuturor situațiilor posibile. Algoritmii de învățare automată sunt instrumente delicate pe care le reglați în funcție de setul de probleme, în special în învățarea automată supravegheată.

Astăzi, vom vedea cum funcționează algoritmii de clasificare populari și cum ne ajută, de exemplu, să alegem și să sortăm roșiile minunate și zemoase.

Cum funcționează clasificarea

În fiecare zi prezicem dacă un lucru poate fi referit la o anumită clasă. Pentru a da un exemplu, clasificarea ne ajută să luăm decizii atunci când alegem roșiile într-un supermarket („verzi”, „perfecte”, „putrede”). În termeni de învățare automată, atribuim o etichetă a uneia dintre clase fiecărei roșii pe care o ținem în mână.

Eficiența concursului dvs. de culegere a roșiilor (pe care unii l-ar numi un model de clasificare) depinde de acuratețea rezultatelor sale. Cu cât mergi mai des la supermarket tu însuți (în loc să-ți trimiți părinții sau jumătatea ta), cu atât vei deveni mai bun la alegerea roșiilor care sunt proaspete și gustoase.

Computerele sunt la fel! Pentru ca un model de clasificare să învețe să prezică rezultatele cu acuratețe, are nevoie de o mulțime de exemple de antrenament.

4 tipuri de clasificare

4 tipuri de sarcini de clasificare în învățarea automată

Binare

Clasificarea binară înseamnă că există două clase cu care se lucrează și care se raportează una la cealaltă ca fiind adevărată și falsă. Imaginați-vă că aveți în fața dvs. o cutie imensă de lug cu roșii galbene și roșii. Dar, rețeta ta sofisticată de paste italienești spune că ai nevoie doar de cele roșii.

Ce faci? Evident, folosiți codificarea etichetelor și, în acest caz, atribuiți 1 la „roșii” și 0 la „nu sunt roșii”. Sortarea roșiilor nu a fost niciodată mai ușoară.

Clasificare binară

Multiclasă

Ce vedeți în această fotografie?

Roșii

Roșii beefsteak Tomate. Roșii cherry. Roșii cocktail. Heirloom tomatoes.

Nu există aici alb și negru, „normal” și „anormal” ca în clasificarea binară. Primim pe masa noastră tot felul de legume (sau fructe de pădure) minunate.

Ce nu știți probabil dacă nu sunteți un fan al gătitului cu roșii este că nu toate roșiile sunt la fel de bune pentru același fel de mâncare. Roșiile roșii beefsteak sunt perfecte pentru salsa, dar nu le pui la murat. Roșiile cherry merg pentru salate, dar nu și pentru paste. Așadar, este important să știți cu ce aveți de-a face.

Clasificarea multiclasă ne ajută să sortăm toate roșiile din cutie, indiferent de câte clase există.

Clasificarea multiclasă

Multi-etichetă

Clasificarea multi-etichetă se aplică atunci când o intrare poate aparține mai multor clase, cum ar fi o persoană care este cetățean a două țări.

Pentru a lucra cu acest tip de clasificare, trebuie să construiți un model care poate prezice mai multe ieșiri.

Aveți nevoie de o clasificare multi-etichetă pentru recunoașterea obiectelor în fotografii. De exemplu, atunci când trebuie să identificați nu numai roșii, ci și diferite alte tipuri de obiecte în aceeași imagine: mere, dovlecei, ceapă etc.

Nota importantă pentru toți iubitorii de roșii: Nu puteți lua pur și simplu un algoritm de clasificare binară sau multiclasă și să-l aplicați direct la clasificarea cu mai multe etichete. Dar puteți folosi:

Clasificarea cu mai multe etichete

Puteți încerca, de asemenea, să folosiți un algoritm separat pentru fiecare clasă pentru a prezice etichete pentru fiecare categorie.

Clasificare dezechilibrată

Se lucrează cu clasificarea dezechilibrată atunci când exemplele din fiecare clasă sunt distribuite inegal.

Clasificarea dezechilibrată este folosită pentru software de detectare a fraudelor și diagnosticare medicală. Găsirea roșiilor rare și rafinate cultivate biologic care sunt vărsate din greșeală într-o grămadă mare de roșii din supermarket este un exemplu de clasificare dezechilibrată oferit de Gints, minunatul nostru editor (dacă aveți și alte exemple, trimiteți-le pe Twitter).

Clasificare dezechilibrată

Vă recomand să vizitați blogul fantastic al Machine Learning Mastery unde puteți citi despre diferitele tipuri de clasificare și puteți studia multe alte materiale despre învățarea mașinilor.

Pași pentru a construi un model de clasificare

După ce știți cu ce tip de sarcină de clasificare aveți de-a face, este timpul să construiți un model.

  1. Select the classifier. Trebuie să alegeți unul dintre algoritmii ML pe care îl veți aplica datelor dumneavoastră.
  2. Învățați-l. Trebuie să pregătiți un set de date de instruire cu rezultate etichetate (cu cât mai multe exemple, cu atât mai bine).
  3. Prediceți ieșirea. Utilizați modelul pentru a obține unele rezultate.
  4. Evaluați modelul de clasificare. Este o idee bună să pregătiți un set de validare cu date pe care nu le-ați folosit la instruire pentru a verifica rezultatele.

Să aruncăm acum o privire la cei mai utilizați algoritmi de clasificare.

Cele mai populare algoritmi de clasificare

algoritmi de clasificare comuni

Scikit-Learn este una dintre bibliotecile ML de top pentru Python. Așadar, dacă doriți să vă construiți un model, verificați-o. Oferă acces la clasificatori utilizați pe scară largă.

Regresie logistică

Regresia logistică este utilizată pentru clasificarea binară.

Acest algoritm utilizează o funcție logistică pentru a modela probabilitatea ca un rezultat să se întâmple. Este cel mai util atunci când doriți să înțelegeți modul în care mai multe variabile independente afectează o singură variabilă de rezultat.

Întrebare de exemplu: Nivelul precipitațiilor și compoziția solului vor duce la prosperitatea roșiilor sau la o moarte prematură?

Regresia logistică are limitări; toți predictorii trebuie să fie independenți și nu trebuie să existe valori lipsă. Acest algoritm va eșua atunci când nu există o separare liniară a valorilor.

Naive Bayes

Algoritmul Naive Bayes se bazează pe teorema lui Bayes. Puteți aplica acest algoritm pentru clasificarea binară și multiclasă și puteți clasifica datele pe baza rezultatelor istorice.

Exemplu de sarcină: Trebuie să separ roșiile putrede de cele proaspete pe baza aspectului lor.

Avantajele lui Naive Bayes sunt că acești algoritmi sunt rapid de construit: nu necesită un set de antrenament extins și sunt, de asemenea, rapizi în comparație cu alte metode. Cu toate acestea, deoarece performanța algoritmilor Bayesieni depinde de acuratețea presupunerilor sale puternice, rezultatele se pot dovedi potențial foarte proaste.

Utilizând teorema lui Bayes, este posibil să se spună cum impactul apariției unui eveniment asupra probabilității unui alt eveniment.

k-Nearest Neighbors

kNN înseamnă „k-nearest neighbor” (cel mai apropiat vecin) și este unul dintre cei mai simpli algoritmi de clasificare.

Argitmul atribuie obiectelor clasa căreia îi aparțin cei mai mulți dintre cei mai apropiați vecini ai săi din spațiul caracteristic multidimensional. Numărul k este numărul de obiecte vecine din spațiul caracteristic care sunt comparate cu obiectul clasificat.

Exemplu: Vreau să prezic specia roșiilor din speciile de roșii asemănătoare cu aceasta.

Pentru a clasifica intrările folosind vecinii cei mai apropiați k, trebuie să efectuați un set de acțiuni:

  • Calculați distanța față de fiecare dintre obiectele din eșantionul de instruire;
  • Selectați k obiecte din eșantionul de instruire, a căror distanță față de acestea este minimă;
  • Clasa obiectului care urmează să fie clasificat este clasa care apare cel mai frecvent printre cei mai apropiați k vecini.

Arborele de decizie

Arborele de decizie este probabil cel mai intuitiv mod de a vizualiza un proces decizional. Pentru a prezice o etichetă de clasă de intrare, începem de la rădăcina arborelui. Trebuie să divizați spațiul de posibilități în subansamble mai mici pe baza unei reguli de decizie pe care o aveți pentru fiecare nod.

Iată un exemplu:

exemplu de arbore de decizie

Continuați să divizați spațiul de posibilități până când ajungeți la baza arborelui. Fiecare nod de decizie are două sau mai multe ramuri. Frunzele din modelul de mai sus conțin decizia cu privire la faptul că o persoană este sau nu este aptă.

Exemplu: Aveți un coș cu roșii diferite și doriți să o alegeți pe cea corectă pentru a vă îmbunătăți felul de mâncare.

Tipuri de arbori de decizie

Există două tipuri de arbori. Ei se bazează pe natura variabilei țintă:

  • Arbore de decizie cu variabile categorice.
  • Arbore de decizie cu variabile continue.

De aceea, arborii de decizie funcționează destul de bine atât cu date numerice, cât și cu date categorice. Un alt avantaj al utilizării arborilor de decizie este că aceștia necesită o pregătire redusă a datelor.

Cu toate acestea, arborii de decizie pot deveni prea complicați, ceea ce duce la supraajustare. Un dezavantaj semnificativ al acestor algoritmi este că mici variații în datele de instruire îi fac instabili și conduc la arbori complet noi.

Random Forest

Clasificatorii Random Forest utilizează mai mulți arbori de decizie diferiți pe diferite subeșantioane de seturi de date. Rezultatul mediu este luat ca predicție a modelului, ceea ce îmbunătățește acuratețea predictivă a modelului în general și combate supraadaptarea.

În consecință, pădurile aleatoare pot fi utilizate pentru a rezolva probleme complexe de învățare automată fără a compromite acuratețea rezultatelor. Cu toate acestea, ele necesită mai mult timp pentru a forma o predicție și sunt mai dificil de implementat.

Citește mai multe despre cum funcționează pădurile aleatoare pe blogul Towards Data Science.

Support Vector Machine

Mașinile cu vectori de sprijin utilizează un hiperplan într-un spațiu N-dimensional pentru a clasifica punctele de date. N reprezintă aici numărul de caracteristici. Acesta poate fi, practic, orice număr, dar cu cât este mai mare, cu atât devine mai greu de construit un model.

Se poate imagina hiperplanul ca pe o linie (pentru un spațiu bidimensional). Odată ce trecem de spațiul tridimensional, ne devine greu să vizualizăm modelul.

Punctele de date care cad pe părți diferite ale hiperplanului sunt atribuite unor clase diferite.

Exemplu: Un sistem automat care sortează roșiile pe baza formei, greutății și culorii lor.

Hiperplanul pe care îl alegem afectează în mod direct acuratețea rezultatelor. Deci, căutăm planul care are distanța maximă între punctele de date din ambele clase.

SVM-urile arată rezultate precise cu o putere de calcul minimă atunci când aveți multe caracteristici.

Sumând

După cum vedeți, învățarea automată poate fi la fel de simplă ca și cum ai alege legumele din magazin. Dar există multe detalii de care trebuie să țineți cont dacă nu vreți să o dați în bară. Rămâneți pe blogul nostru, pe Twitter și pe Medium pentru mai multe lecturi interesante despre machine learning.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.