Clasificarea în învățarea automată: ce este și cum funcționează
Publicat: 2024-11-20Clasificarea este un concept de bază în analiza datelor și învățarea automată (ML). Acest ghid explorează ce este clasificarea și cum funcționează, explică diferența dintre clasificare și regresie și acoperă tipuri de sarcini, algoritmi, aplicații, avantaje și provocări.
Cuprins
- Ce este clasificarea?
- Clasificare vs regresie
- Tipuri de sarcini de clasificare în ML
- Algoritmi utilizați pentru analiza clasificării
- Aplicații ale clasificării
- Avantajele clasificării
- Dezavantajele clasificării
Ce este clasificarea în învățarea automată?
Clasificarea este o tehnică de învățare supravegheată în învățarea automată care prezice categoria (numită și clasă) de noi puncte de date pe baza caracteristicilor de intrare. Algoritmii de clasificare folosesc date etichetate, unde se cunoaște categoria corectă, pentru a afla cum să mapați caracteristicile la anumite categorii. Acest proces este, de asemenea, denumit categorizare sau clasificare categorică.
Pentru a efectua clasificarea, algoritmii operează în două faze cheie. În timpul fazei de antrenament, algoritmul învață relația dintre datele de intrare și etichetele sau categoriile corespunzătoare. Odată antrenat, modelul intră în faza de inferență, unde folosește tiparele învățate pentru a clasifica date noi, nevăzute în aplicații din lumea reală. Eficacitatea clasificării depinde în mare măsură de modul în care sunt gestionate aceste faze și de calitatea datelor preprocesate disponibile în timpul instruirii.
Înțelegerea modului în care algoritmii de clasificare gestionează aceste faze este esențială. O diferență cheie este modul în care abordează învățarea. Acest lucru ne conduce la două strategii distincte pe care le pot urma algoritmii de clasificare: învățarea leneșă și învățarea dornică.
Învățători leneși vs. elevi dornici
Algoritmii de clasificare adoptă de obicei una dintre cele două strategii de învățare: învățare leneșă sau învățare dornică. Aceste abordări diferă fundamental în modul și când este construit modelul, afectând flexibilitatea, eficiența și cazurile de utilizare ale algoritmului. Deși ambele urmăresc să clasifice datele, ele fac acest lucru cu metode contrastante care sunt potrivite pentru diferite tipuri de sarcini și medii.
Să examinăm operațiunile cursanților leneși și dornici pentru a înțelege mai bine punctele forte și punctele slabe ale fiecărei abordări.
Învățători leneși
Cunoscuți și ca cursanți bazați pe instanțe sau pe memorie, algoritmii de învățare leneș stochează datele de antrenament și întârzie învățarea efectivă până când o interogare trebuie clasificată. Când unul dintre acești algoritmi este pus în funcțiune, el compară noile puncte de date cu instanțele stocate folosind o măsură de similaritate. Calitatea și cantitatea datelor disponibile influențează semnificativ acuratețea algoritmului, accesul la seturi de date mai mari, de obicei, îmbunătățind performanța acestora. Cursanții leneși acordă adesea prioritate datelor recente, ceea ce este cunoscut sub numele depărtinire recentă. Deoarece învață în timp real, pot fi mai lente și mai costisitoare din punct de vedere computațional atunci când răspund la întrebări.
Cursanții leneși excelează în medii dinamice în care luarea deciziilor în timp real este crucială, iar datele evoluează constant. Acești algoritmi sunt potriviți pentru sarcinile în care informațiile noi circulă continuu și nu există timp pentru cicluri extinse de antrenament între sarcinile de clasificare.
Învățători dornici
Algoritmii de învățare dornici, în schimb, procesează toate datele de antrenament în avans, construind un model înainte ca orice sarcină de clasificare să fie efectuată. Această fază de învățare inițială este de obicei mai intensivă în resurse și mai complexă, permițând algoritmului să descopere relații mai profunde în date. Odată instruiți, cursanții dornici nu au nevoie de acces la datele originale de instruire, ceea ce îi face extrem de eficienți în timpul fazei de predicție. Aceștia pot clasifica rapid datele și pot gestiona volume mari de interogări cu costuri de calcul minime.
Cu toate acestea, cursanții dornici sunt mai puțin flexibili în adaptarea la date noi, în timp real. Procesul lor de instruire bogat în resurse limitează cantitatea de date pe care o pot gestiona, ceea ce face dificilă integrarea informațiilor noi fără a reinstrui întregul model.
Mai târziu în această postare, vom vedea cum algoritmii leneși și dornici pot fi folosiți în tandem pentru recunoașterea facială.
Clasificare versus regresie: care este diferența?
Acum că am explorat modul în care funcționează clasificarea, este important să o distingem de o altă tehnică cheie de învățare supravegheată: regresia.
Atât clasificarea, cât și regresia sunt folosite pentru a face predicții bazate pe date etichetate din faza de antrenament, dar diferă prin tipul de predicții pe care le generează.
Algoritmii de clasificareprezic rezultate discrete, categorice. De exemplu, într-un sistem de clasificare a e-mailurilor, un e-mail poate fi etichetat ca „spam” sau „ham” (unde „ham” se referă la e-mailuri non-spam). În mod similar, un model de clasificare a vremii ar putea prezice „da”, „nu” sau „poate” ca răspuns la întrebarea „Va ploua mâine?”
Algoritmii de regresie, pe de altă parte, prezic valori continue. În loc să atribuie date categoriilor, modelele de regresie estimează rezultate numerice. De exemplu, într-un sistem de e-mail, un model de regresie ar putea prezice probabilitatea (de exemplu, 70%) ca un e-mail să fie spam. Pentru un model de prognoză meteo, ar putea prezice volumul așteptat de precipitații, cum ar fi 2 inci de ploaie.
În timp ce clasificarea și regresia servesc unor scopuri diferite, ele sunt uneori folosite împreună. De exemplu, regresia ar putea estima probabilitățile care se alimentează într-un sistem de clasificare, îmbunătățind acuratețea și granularitatea predicțiilor.
Tipuri de sarcini de clasificare în ML
Sarcinile de clasificare variază, fiecare fiind adaptată pentru anumite tipuri de date și provocări. În funcție de complexitatea sarcinii dvs. și de natura categoriilor, puteți utiliza diferite metode: clasificare binară, multiclasă, multietichetă sau dezechilibrată. Să aprofundăm în fiecare abordare de mai jos.
Clasificare binară
Clasificarea binară este o sarcină fundamentală care sortează datele în două categorii, cum ar fi adevărat/fals sau da/nu. Este cercetat și aplicat pe scară largă în domenii precum detectarea fraudelor, analiza sentimentelor, diagnosticarea medicală și filtrarea spam-ului. În timp ce clasificarea binară se ocupă de două clase, categorizarea mai complexă poate fi gestionată prin împărțirea problemei în mai multe sarcini binare. De exemplu, pentru a clasifica datele în „mere”, „portocale”, „banane” și „altele”, ar putea fi folosiți clasificatori binari separati pentru a răspunde „Este un măr?”, „Este o portocală?” și „ Este o banană?”
Clasificare multiclasă
Clasificarea multiclasă, cunoscută și ca clasificare multinomială, este concepută pentru sarcini în care datele sunt clasificate în trei sau mai multe categorii. Spre deosebire de modelele care descompun problema în mai multe sarcini de clasificare binară, algoritmii multiclasă sunt construiți pentru a gestiona astfel de scenarii mai eficient. Acești algoritmi sunt de obicei mai complecși, necesită seturi de date mai mari și necesită mai multă resurse pentru a configura decât sistemele binare, dar oferă adesea performanțe mai bune odată implementate.
Clasificare cu mai multe etichete
Clasificarea cu mai multe etichete, cunoscută și ca clasificare cu mai multe ieșiri, atribuie mai mult de o etichetă unei date date. Este adesea confundată cu clasificarea multiclasă, în care fiecărei instanțe i se atribuie o singură etichetă din mai multe categorii.
Pentru a clarifica diferența: un algoritm de clasificare binar ar putea sorta imaginile în două categorii - imagini cu fructe și imagini fără fructe. Un sistem multiclasă ar putea apoi clasifica imaginile fructelor în categorii specifice, cum ar fi banane, mere sau portocale. Clasificarea cu mai multe etichete, pe de altă parte, ar permite alocarea mai multor etichete unei singure imagini. De exemplu, o singură imagine ar putea fi clasificată atât ca „fructe”, cât și ca „banane”, iar fructul ar putea fi, de asemenea, etichetat „copt” sau „necoapt”. Acest lucru permite sistemului să ia în considerare mai multe caracteristici independente simultan, cum ar fi ("fără fructe", "fără banane", "nimic nu este copt"), ("fructe", "banane", "coapte" sau ("fructe, ” „banana”, „nimic nu este copt”).
Clasificare dezechilibrată
Frecvent, datele disponibile pentru antrenament nu reprezintă distribuția datelor văzute în realitate. De exemplu, un algoritm ar putea avea acces doar la datele a 100 de utilizatori în timpul antrenamentului, unde 50% dintre aceștia fac o achiziție (când, în realitate, doar 10% dintre utilizatori fac o achiziție). Algoritmii de clasificare dezechilibrati abordează această problemă în timpul învățării prin utilizarea tehnicilor de supraeșantionare (reutilizarea unor porțiuni de date de antrenament) și de subeșantionare (subutilizarea unor porțiuni de date de antrenament). Acest lucru face ca algoritmul de învățare să învețe că un subset de date apare mult mai mult sau mai puțin frecvent în realitate decât în datele de antrenament. Aceste tehnici sunt de obicei un fel de optimizare a antrenamentului, deoarece permit sistemului să învețe din mult mai puține date decât ar fi nevoie pentru a învăța altfel.
Uneori, acumularea de date suficiente pentru a reflecta realitatea este dificilă sau necesită timp, iar acest tip de optimizare poate permite modelelor să fie antrenate mai repede. Alteori, cantitatea de date este atât de mare încât algoritmii de clasificare durează prea mult pentru a se antrena pe toate, iar algoritmii dezechilibrati le permit oricum să fie antrenați.
Algoritmi utilizați pentru analiza clasificării
Algoritmii de clasificare sunt bine studiați și nicio formă unică de clasificare nu s-a dovedit a fi universal adecvată pentru toate situațiile. Ca rezultat, există seturi mari de instrumente de algoritmi de clasificare bine-cunoscuți. Mai jos, descriem unele dintre cele mai comune.
Predictori liniari
Predictorii liniari se referă la algoritmi care prezic rezultate bazate pe combinații liniare de caracteristici de intrare. Aceste metode sunt utilizate pe scară largă în sarcinile de clasificare, deoarece sunt simple și eficiente.
Regresia logistică
Regresia logistică este unul dintre cei mai des utilizați predictori liniari, în special în clasificarea binară. Acesta calculează probabilitatea unui rezultat pe baza variabilelor observate folosind o funcție logistică (sau sigmoidă). Clasa cu cea mai mare probabilitate este selectată ca rezultat prezis, cu condiția să depășească un prag de încredere. Dacă niciun rezultat nu atinge acest prag, rezultatul poate fi marcat ca „nesigur” sau „nehotărât”.
Regresia liniară
Regresia liniară este de obicei utilizată pentru cazurile de utilizare a regresiei și emite valori continue. Cu toate acestea, valorile pot fi reutilizate pentru clasificare prin adăugarea de filtre sau hărți pentru a converti rezultatele lor în clase. Dacă, de exemplu, ați antrenat deja un model de regresie liniară care emite predicții privind volumul ploii, același model poate deveni un clasificator binar „zi ploioasă”/”zi nu ploioasă” prin stabilirea arbitrară a unui prag. În mod implicit, este folosit doar semnul rezultatului regresiei la conversia modelelor în clasificatori binari (0 și numerele pozitive sunt mapate la răspunsul „da” sau „+1”, iar numerele negative la răspunsul „nu” sau „- 1”). Totuși, hărțile pot fi mai complexe și adaptate la cazul de utilizare. De exemplu, ați putea decide că orice predicție de peste cinci ml de ploaie va fi considerată o „zi ploioasă”, iar orice de mai jos va prezice contrariul.
Analiză discriminantă
Analiza discriminantă liniară (LDA) este un alt predictor liniar important utilizat pentru clasificare. LDA funcționează prin găsirea de combinații liniare de caracteristici care separă cel mai bine diferitele clase. Se presupune că observațiile sunt independente și distribuite normal. În timp ce LDA este adesea folosit pentru reducerea dimensionalității, este, de asemenea, un instrument puternic de clasificare care atribuie observații claselor folosind funcții discriminante - funcții care măsoară diferențele dintre clase.
clasificarea bayesiana
Algoritmii de clasificare bayesian folosesc teorema lui Bayes pentru a calcula probabilitatea posterioară a fiecărei clase având în vedere datele observate. Acești algoritmi presupun anumite proprietăți statistice ale datelor, iar performanța lor depinde de cât de bine sunt valabile aceste ipoteze. Naive Bayes, de exemplu, presupune că trăsăturile sunt independente condiționat, având în vedere clasa.
clasificare k-NN
Algoritmul k-nearest neighbor (k-NN) este o altă metodă de clasificare utilizată pe scară largă. Deși poate fi aplicat atât sarcinilor de regresie, cât și de clasificare, este cel mai frecvent utilizat pentru clasificare. Algoritmul atribuie o clasă unui nou punct de date pe baza claselor k vecinilor săi cei mai apropiați (unde k este o variabilă), folosind un calcul de distanță pentru a determina proximitatea. Algoritmul k-NN este simplu, eficient și eficient atunci când există o structură locală în date. Performanța sa depinde de selectarea unei metrici de distanță adecvate și de asigurarea faptului că datele au modele locale care pot ajuta la clasificare
Arbori de decizie și păduri aleatorii
Arborii de decizie sunt un algoritm popular utilizat pentru sarcinile de clasificare. Ele funcționează prin împărțirea recursivă a datelor pe baza valorilor caracteristicilor pentru a lua o decizie cu privire la clasa căreia îi aparține o anumită observație. Cu toate acestea, arborii de decizie tind să supraajusteze datele de antrenament, captând zgomot și conducând la o variație mare. Această supraadaptare are ca rezultat o generalizare slabă a datelor noi.
Pentru a atenua supraamenajarea, pădurile aleatorii sunt folosite ca metodă de ansamblu. O pădure aleatoare antrenează mai mulți arbori de decizie în paralel pe subseturi aleatorii de date și fiecare copac își face propria predicție. Predicția finală se face prin agregarea predicțiilor tuturor arborilor, de obicei prin votul majoritar. Acest proces, cunoscut sub numele de „bagging” (un cuvânt prescurtat pentru agregarea bootstrap), reduce varianța și îmbunătățește capacitatea modelului de a se generaliza la date nevăzute. Pădurile aleatorii sunt eficiente în echilibrarea părtinirii și a varianței, făcându-le un algoritm robust pentru sarcinile de clasificare.
Aplicații ale clasificării
Algoritmii de clasificare sunt utilizați pe scară largă în diverse domenii pentru a rezolva probleme din lumea reală prin clasificarea datelor în grupuri predefinite. Mai jos sunt câteva aplicații comune ale clasificării, inclusiv recunoașterea facială, clasificarea documentelor și predicția comportamentului clienților.
Recunoașterea facială
Sistemele de recunoaștere facială potrivesc o față dintr-un videoclip sau o fotografie în timp real cu o bază de date de fețe cunoscute. Sunt utilizate în mod obișnuit pentru autentificare.
Un sistem de deblocare a telefonului, de exemplu, ar începe prin utilizarea unui sistem de detectare facială, care preia imagini cu rezoluție scăzută de la camera direcționată către față la fiecare câteva secunde și apoi deduce dacă o față este în imagine. Sistemul de detectare facială ar putea fi un clasificator binar bine antrenat, dornic, care răspunde la întrebarea „Există o față prezentă sau nu?”
Un clasificator leneș ar urma dornicii „Există o față?” clasificator. Ar folosi toate fotografiile și selfie-urile proprietarului telefonului pentru a implementa o sarcină de clasificare binară separată și pentru a răspunde la întrebarea „Această față aparține unei persoane căreia i se permite să deblocheze telefonul?” Dacă răspunsul este da, telefonul se va debloca; dacă răspunsul este nu, nu va fi.
Clasificarea documentelor
Clasificarea documentelor este o parte crucială a strategiilor moderne de gestionare a datelor. Clasificatoarele bazate pe ML catalogează și clasifică un număr mare de documente stocate, susținând eforturile de indexare și căutare care fac documentele și conținutul lor mai utile.
Lucrarea de clasificare a documentelor începe cu preprocesarea documentelor. Conținutul lor este analizat și transformat în reprezentări numerice (deoarece numerele sunt mai ușor de procesat). Caracteristicile importante ale documentului, cum ar fi ecuațiile matematice, imaginile încorporate și limba documentului, sunt extrase din documente și evidențiate pentru ca algoritmii ML să le învețe. Aceasta este urmată de alte sarcini de procesare similare în același sens.
Un subset de documente este apoi clasificat manual, de către oameni, pentru a crea un set de date de antrenament pentru sistemele de clasificare. Odată instruit, un clasificator va cataloga și clasifica toate documentele primite rapid și la scară. Dacă sunt detectate erori de clasificare, corecțiile manuale pot fi adăugate în materialele de instruire pentru sistemul ML. Din când în când, modelul clasificatorului poate fi reantrenat cu corecțiile adăugate, iar performanța acestuia va fi îmbunătățită.
Predicția comportamentului clienților
Magazinele online de vânzare cu amănuntul și de comerț electronic colectează informații detaliate și detaliate despre comportamentul clienților lor. Aceste informații pot fi folosite pentru a clasifica clienții noi și pentru a răspunde la întrebări precum „Este probabil ca acest nou client să facă o achiziție?” și „Oferirea unei reduceri de 25% va influența comportamentul de cumpărare al acestui client?”
Clasificatorul este antrenat folosind date de la clienții anteriori și eventualul comportament al acestora, cum ar fi dacă au făcut o achiziție. Pe măsură ce noii clienți interacționează cu platforma, modelul poate prezice dacă și când vor face o achiziție. De asemenea, poate efectua o analiză ce ar putea să răspundă la întrebări precum „Dacă îi ofer acestui utilizator o reducere de 25%, va face o achiziție?”
Avantajele clasificării
Clasificarea oferă mai multe beneficii în domeniul învățării automate, ceea ce o face o abordare utilizată pe scară largă pentru rezolvarea problemelor de categorizare a datelor. Mai jos, explorăm câteva dintre avantajele cheie ale clasificării, inclusiv maturitatea, flexibilitatea și capacitatea de a oferi rezultate care pot fi citite de om.
Bine studiat și înțeles
Clasificarea este una dintre cele mai bine studiate și înțelese probleme din domeniul învățării automate. Ca rezultat, există multe seturi de instrumente mature disponibile pentru sarcinile de clasificare, permițând utilizatorilor să echilibreze compromisurile între viteză, eficiență, utilizarea resurselor și cerințele de calitate a datelor.
Tehnici standard, cum ar fi matrice de acuratețe, precizie, reamintire și confuzie, sunt disponibile pentru a evalua performanța unui clasificator. Cu aceste instrumente, poate fi relativ simplu să alegeți cel mai potrivit sistem de clasificare pentru o anumită problemă, să evaluați performanța acesteia și să o îmbunătățiți în timp.
Oferă rezultate care pot fi citite de om
Clasificatoarele permit adesea un compromis între puterea de predicție și lizibilitatea umană. Modele mai simple, mai interpretabile, cum ar fi arborii de decizie sau regresia logistică, pot fi reglate pentru a face comportamentul lor mai ușor de înțeles. Aceste modele interpretabile pot fi folosite pentru a explora proprietățile datelor, permițând utilizatorilor umani să obțină informații despre date. Astfel de perspective pot ghida apoi dezvoltarea unor modele de învățare automată mai complexe și mai precise.
Dezavantajele clasificării
În timp ce clasificarea este un instrument puternic în învățarea automată, vine cu anumite provocări și limitări. Mai jos, discutăm câteva dintre dezavantajele cheie ale clasificării, inclusiv supraadaptarea, subadaptarea și necesitatea unei preprocesări extinse a datelor de antrenament.
Supramontare
Când antrenați modele de clasificare, este important să reglați procesul de antrenament pentru a reduce șansele ca modelul să-și depășească datele. Supraadaptarea este o problemă în care un model memorează unele sau toate datele sale sursă, în loc să dezvolte o înțelegere abstractă a relațiilor dintre date. Un model care a supraadaptat datele de antrenament va funcționa bine atunci când vede date noi care seamănă foarte mult cu datele pe care a fost antrenat, dar este posibil să nu funcționeze la fel de bine în general.
Underfitting
Performanța sistemelor de clasificare depinde de a avea la dispoziție cantități suficiente de date de antrenament și de a fi aplicate la probleme care funcționează bine pentru algoritmii de clasificare aleși. Dacă nu sunt disponibile suficiente date de antrenament sau dacă un anumit algoritm de clasificare nu are instrumentele potrivite pentru a interpreta datele corect, modelul antrenat ar putea să nu învețe niciodată să facă predicții bune. Acest fenomen este cunoscut sub numele de „subadaptare”. Există multe tehnici disponibile pentru a încerca să atenueze subadaptarea, iar aplicarea lor corectă nu este întotdeauna ușoară.
Preprocesarea datelor de antrenament
Multe sisteme de clasificare au cerințe relativ rigide pentru structura și formatarea datelor. Performanța lor este adesea strâns corelată cu cât de bine au fost procesate datele înainte de a fi expuși la acestea sau de a fi instruiți cu privire la ele. Ca urmare, sistemele de clasificare pot fi rigide și inflexibile, având limite stricte în jurul cărora problemele și contextele de date sunt cele mai potrivite.