Un ghid aprofundat pentru clasificarea prin învățare automată supravegheată

Învățarea automată este știința (și arta) programării calculatoarelor astfel încât acestea să poată învăța din date.

domeniu de studiu care oferă calculatoarelor capacitatea de a învăța fără a fi programate în mod explicit. – Arthur Samuel, 1959

O definiție mai bună:

Se spune că un program de calculator învață din experiența E în ceea ce privește o anumită sarcină T și o anumită măsură de performanță P, dacă performanța sa pe T, măsurată prin P, se îmbunătățește odată cu experiența E. – Tom Mitchell, 1997

De exemplu, filtrul dvs. de spam este un program de învățare automată care poate învăța să marcheze spam-ul după ce i se dau exemple de e-mailuri spam care sunt marcate de utilizatori și exemple de e-mailuri obișnuite care nu sunt spam (numite și „ham”). Exemplele pe care sistemul le folosește pentru a învăța se numesc set de instruire. În acest caz, sarcina (T) este de a semnala spam-ul pentru noile e-mailuri, experiența (E) reprezintă datele de instruire, iar măsura performanței (P) trebuie să fie definită. De exemplu, puteți utiliza raportul de e-mailuri clasificate corect ca P. Această măsură de performanță particulară se numește acuratețe și este adesea utilizată în sarcinile de clasificare, deoarece este o abordare de învățare supravegheată.

Dive DeeperAn Introduction to Machine Learning for Beginners

Supervised Learning

În învățarea supravegheată, algoritmii învață din date etichetate. După ce înțelege datele, algoritmul determină ce etichetă ar trebui dată noilor date prin asocierea de modele noilor date neetichetate.

Învățarea supervizată poate fi împărțită în două categorii: clasificare și regresie.

Clasificarea prezice categoria din care fac parte datele.

Câteva exemple de clasificare includ detectarea spam-ului, predicția ratei de rotație, analiza sentimentelor, detectarea raselor de câini și așa mai departe.

Regresia prezice o valoare numerică pe baza datelor observate anterior.

Câteva exemple de regresie includ predicția prețului casei, predicția prețului acțiunilor, predicția înălțimii-greutate și așa mai departe.

Dive DeeperA Tour of the Top 10 Algorithms for Machine Learning Newbies

Clasificare

Clasificarea este o tehnică de determinare a clasei căreia îi aparține dependentul pe baza uneia sau mai multor variabile independente.

Clasificarea este utilizată pentru prezicerea răspunsurilor discrete.

ilustrație învățare automată supervizată

Regresie logistică

Regresia logistică este un fel de regresie liniară, dar este utilizată atunci când variabila dependentă nu este un număr, ci altceva (de ex, un răspuns „da/nu”). Se numește regresie, dar realizează o clasificare bazată pe regresie și clasifică variabila dependentă în oricare dintre clase.

Regresie logistică cu învățare automată supervizată

Regresia logistică este utilizată pentru predicția ieșirii care este binară, așa cum s-a spus mai sus. De exemplu, dacă o companie de carduri de credit construiește un model pentru a decide dacă să emită sau nu un card de credit unui client, acesta va modela dacă clientul va fi „neplătitor” sau „nu va fi neplătitor” la cardul său.

regresie liniară de învățare automată supervizată
Regresie liniară

În primul rând, regresia liniară se realizează pe relația dintre variabile pentru a obține modelul. Se presupune că pragul pentru linia de clasificare este la 0,5.

Funcția sigmoidă logistică de învățare mecanică supervizată
Funcția sigmoidă logistică

Funcția logistică se aplică regresiei pentru a obține probabilitățile de apartenență la oricare dintre clase.

Dă logaritmul probabilității ca evenimentul să se producă la logaritmul probabilității ca acesta să nu se producă. În final, clasifică variabila pe baza probabilității mai mari de apartenență la oricare dintre cele două clase.

log de învățare automată supervizată

K-Nearest Neighbors (K-NN)

Algoritmul K-NN este unul dintre cei mai simpli algoritmi de clasificare și este utilizat pentru a identifica punctele de date care sunt separate în mai multe clase pentru a prezice clasificarea unui nou punct de eșantionare. K-NN este un algoritm de învățare neparametrică și leneșă. Acesta clasifică noile cazuri pe baza unei măsuri de similaritate (de ex, funcții de distanță).

Clasificare supervizată prin învățare automată knn 1Clasificare supervizată prin învățare automată knn 2Clasificare supervizată prin învățare automată knn 3Clasificare supervizată prin învățare automată knn 4Clasificare supervizată prin învățare automată knn 5

K-NNN funcționează bine cu un număr mic de variabile de intrare (p), dar întâmpină dificultăți atunci când numărul de intrări este foarte mare.

Support Vector Machine (SVM)

Support Vector este utilizat atât pentru regresie, cât și pentru clasificare. Se bazează pe conceptul de planuri de decizie care definesc limitele deciziei. Un plan de decizie (hiperplan) este cel care separă între un set de obiecte care au apartenențe diferite la o clasă.

Vectori de suport pentru învățare automată supervizată

Realizează clasificarea prin găsirea hiperplanului care maximizează marja dintre cele două clase cu ajutorul vectorilor de suport.

supervised machine learning clasificare svc

Învățarea hiperplanului în SVM se face prin transformarea problemei cu ajutorul unor elemente de algebră liniară (de ex, exemplul de mai sus este un nucleu liniar care are o separabilitate liniară între fiecare variabilă).

Pentru date cu dimensiuni mai mari, se folosesc alte nuclee ca puncte și nu pot fi clasificate cu ușurință. Acestea sunt specificate în secțiunea următoare.

Kernel SVM

Kernel SVM preia o funcție kernel în algoritmul SVM și o transformă în forma necesară care mapează datele pe o dimensiune mai mare care este separabilă.

Tipurile de funcții kernel sunt:

Tipuri de funcții kernel de clasificare a învățării automate supervizate
Tipuri de funcții kernel
  1. SVM liniar este cel despre care am discutat anterior.
  2. În kernelul polinomial, trebuie specificat gradul polinomului. Acesta permite linii curbe în spațiul de intrare.
  3. În kernelul cu funcție de bază radială (RBF), acesta este utilizat pentru variabilele separabile neliniar. Pentru distanță, se utilizează distanța Euclidiană pătratică metrică. Utilizarea unei valori tipice a parametrului poate duce la o supraadaptare la datele noastre. Este utilizat în mod implicit în sklearn.
  4. Kernelul Sigmoid, similar cu regresia logistică, este utilizat pentru clasificarea binară.

supervizata învățare automată clasificare truc de kernel de clasificare

Trucul kernel utilizează funcția kernel pentru a transforma datele într-un spațiu de caracteristici cu dimensiuni mai mari și face posibilă realizarea separării liniare pentru clasificare.

Radial Basis Function (RBF) Kernel

Regiunea de decizie SVM cu kernel RBF este de fapt și o regiune de decizie liniară. Ceea ce face de fapt RBF kernel SVM este să creeze combinații neliniare de caracteristici pentru a ridica eșantioanele pe un spațiu al caracteristicilor cu dimensiuni mai mari, unde o limită de decizie liniară poate fi utilizată pentru a separa clasele.

învățare automată supervizată clasificare funcție de bază radială

Așa că, regula de bază este: folosiți SVM-uri liniare pentru probleme liniare și kernel-uri neliniare, cum ar fi kernel-ul RBF pentru probleme neliniare.

Naive Bayes

Clasificatorul naiv Bayes se bazează pe teorema lui Bayes cu ipotezele de independență între predictori (de ex, se presupune că prezența unei caracteristici într-o clasă nu are legătură cu nicio altă caracteristică). Chiar dacă aceste caracteristici depind una de cealaltă sau de existența altor caracteristici, toate aceste proprietăți sunt independente. De aceea, numele naive Bayes.

supervizată învățare mașină clasificare Bayes teoremă

Bazată pe naive Bayes, Gaussian naive Bayes este folosită pentru clasificarea bazată pe distribuția binomială (normală) a datelor.

supervizată învățare mașină clasificare Gaussian naive Bayes

  • P(clasă|date) este probabilitatea posterioară a clasei(țintă) dat fiind predictorul(atribut). Probabilitatea ca un punct de date să aibă oricare dintre clase, având în vedere punctul de date. Aceasta este valoarea pe care căutăm să o calculăm.
  • P(class) este probabilitatea anterioară a clasei.
  • P(data|class) este probabilitatea, care este probabilitatea predictorului dată de clasă.
  • P(date) este probabilitatea anterioară a predictorului sau probabilitatea marginală.
Clasificarea prin învățare automată supervizată nb

Etapele

1. Calculați probabilitatea anterioară

P(class) = Numărul de puncte de date din clasă/Numărul total de observații

P(yellow) = 10/17

P(green) = 7/17

2. Calculați probabilitatea marginală

P(date) = Numărul de puncte de date similare cu observația/Nr. total de observații

P(?) = 4/17

Valoarea este prezentă în verificarea ambelor probabilități.

3. Calculați probabilitatea

P(date/clasă) = Numărul de observații similare clasei/Nr. total de puncte din clasă.

P(?/galben) = 1/7

P(?/verde) = 3/10

4. Probabilitatea posterioară pentru fiecare clasă

probabilitate posterioară de clasificare prin învățare automată supervizată

5. Classification

supervised machine learning classification

Cu cât probabilitatea este mai mare, clasa aparține acelei categorii, ca de la peste 75% probabilitate, punctul aparține clasei verzi.

Multinomial, Bernoulli naive Bayes sunt celelalte modele utilizate în calculul probabilităților. Astfel, un model Bayes naiv este ușor de construit, fără estimare iterativă complicată a parametrilor, ceea ce îl face deosebit de util pentru seturi de date foarte mari.

Clasificarea prin arbore de decizie

Arborele de decizie construiește modele de clasificare sau regresie sub forma unei structuri arborescente. Descompune un set de date în subseturi din ce în ce mai mici, în timp ce, în același timp, un arbore de decizie asociat este dezvoltat incremental. Rezultatul final este un arbore cu noduri de decizie și noduri de frunze. Urmează structura algoritmului Iterative Dichotomiser 3(ID3) pentru determinarea divizării.

arbori de decizie de clasificare prin învățare automată supervizată

Entropia și câștigul de informație sunt utilizate pentru a construi un arbore de decizie.

Entropia

Entropia este gradul sau cantitatea de incertitudine în caracterul aleatoriu al elementelor. Cu alte cuvinte, este o măsură a impurității.

Entropia de clasificare a învățării automate supervizate

Intuitiv, ne vorbește despre predictibilitatea unui anumit eveniment. Entropia calculează omogenitatea unui eșantion. Dacă eșantionul este complet omogen, entropia este zero, iar dacă eșantionul este împărțit în mod egal, acesta are o entropie de unu.

Câștigul de informație

Câștigul de informație măsoară modificarea relativă a entropiei în raport cu atributul independent. Încearcă să estimeze informația conținută de fiecare atribut. Construirea unui arbore de decizie constă în găsirea atributului care returnează cel mai mare câștig de informație (de ex, cele mai omogene ramuri).

Câștig de informație în clasificarea prin învățare automată supervizată

Unde Gain(T, X) este câștigul de informație prin aplicarea caracteristicii X. Entropia(T) este entropia întregului set, în timp ce al doilea termen calculează entropia după aplicarea caracteristicii X.

Câștigul de informație clasifică atributele pentru filtrare la un anumit nod al arborelui. Clasamentul se bazează pe cea mai mare entropie a câștigului de informație în fiecare diviziune.

Dezavantajul unui model de arbore de decizie este supraadaptarea, deoarece încearcă să adapteze modelul prin aprofundarea în setul de instruire și, prin urmare, reduce precizia testului.

învățare automată supervizată clasificare supraadaptare

Supraadaptarea în arborii de decizie poate fi minimizată prin tăierea nodurilor.

Metode de ansamblu pentru clasificare

Un model de ansamblu este o echipă de modele. Din punct de vedere tehnic, modelele de ansamblu cuprind mai multe modele de învățare supravegheată care sunt antrenate individual și ale căror rezultate sunt îmbinate în diverse moduri pentru a obține predicția finală. Acest rezultat are o putere de predicție mai mare decât rezultatele oricăruia dintre algoritmii de învățare care îl constituie în mod independent.

Metode de ansamblu de clasificare prin învățare automată supervizată

Clasificarea prin pădure aleatorie

Clasificatorul prin pădure aleatorie este un algoritm de ansamblu bazat pe bagging, adică pe agregarea bootstrap. Metodele de ansamblu combină mai mulți algoritmi de același tip sau de tip diferit pentru clasificarea obiectelor (i.e., un ansamblu de SVM, naive Bayes sau arbori de decizie, de exemplu.)

învățare supervizată a mașinilor de clasificare bagging

Ideea generală este că o combinație de modele de învățare crește rezultatul general selectat.

învățare supervizată a mașinilor de clasificare random forrest

Arborii de decizie profunzi pot suferi de supraadaptare, dar pădurile aleatoare previn supraadaptarea prin crearea de arbori pe subansambluri aleatorii. Motivul principal este că se ia media tuturor predicțiilor, ceea ce anulează prejudecățile.

Foresta aleatorie adaugă aleatorism suplimentar la model în timp ce crește arborii. În loc să caute cea mai importantă caracteristică în timpul împărțirii unui nod, aceasta caută cea mai bună caracteristică dintr-un subset aleatoriu de caracteristici. Acest lucru are ca rezultat o mare diversitate care, în general, duce la un model mai bun.

Clasificarea prin amplificare cu gradient

Clasificatorul de amplificare cu gradient este o metodă de ansamblu de amplificare. Boosting este o modalitate de a combina (ansamblu) învățători slabi, în principal pentru a reduce prejudecata de predicție. În loc să creeze un grup de predictori, ca în cazul bagging-ului, boosting-ul produce o cascadă de predictori, în care fiecare ieșire este intrarea pentru următorul învățăcel. În mod obișnuit, într-un algoritm de bagging, arborii sunt dezvoltați în paralel pentru a obține predicția medie a tuturor arborilor, fiecare arbore fiind construit pe un eșantion de date originale. Gradient boosting, pe de altă parte, adoptă o abordare secvențială pentru a obține predicții în loc să paralelizeze procesul de construire a arborelui. În gradient boosting, fiecare arbore de decizie prezice eroarea arborelui de decizie anterior – stimulând (îmbunătățind) astfel eroarea (gradientul).

supervised machine learning classification boosting

Working of Gradient Boosting

  1. Inițializați predicțiile cu un arbore de decizie simplu.
  2. Calculați valoarea reziduală (real-predicție).
  3. Construiți un alt arbore de decizie superficial care prezice rezidualul pe baza tuturor valorilor independente.
  4. Actualizați predicția inițială cu noua predicție înmulțită cu rata de învățare.
  5. Repetă pașii de la doi la patru pentru un anumit număr de iterații (numărul de iterații va fi numărul de arbori).
Clasificare supervizată de învățare automată rf gb

Consultați acest post: Gradient Boosting From Scratch

Performanțe ale modelelor de clasificare

Matrice de confuzie

O matrice de confuzie este un tabel care este adesea folosit pentru a descrie performanța unui model de clasificare pe un set de date de test pentru care sunt cunoscute valorile adevărate. Este un tabel cu patru combinații diferite de valori prezise și valori reale în cazul unui clasificator binar.

 Matrice de confuzie pentru o problemă de clasificare multiclasă cu învățare automată supervizată

Matricea de confuzie pentru o problemă de clasificare multiclasă vă poate ajuta să determinați modelele de eroare.

Pentru un clasificator binar:

 Matrice de confuzie binară pentru clasificarea cu învățare automată supervizată

Un adevărat pozitiv este un rezultat în care modelul prezice corect clasa pozitivă. În mod similar, un adevărat negativ este un rezultat în care modelul prezice corect clasa negativă.

False Positive & False Negative

Termenii fals pozitiv și fals negativ sunt utilizați pentru a determina cât de bine prezice modelul în ceea ce privește clasificarea. Un fals pozitiv este un rezultat în care modelul prezice incorect clasa pozitivă. Iar un fals negativ este un rezultat în care modelul prezice incorect clasa negativă. Cu cât sunt mai multe valori în diagonala principală, cu atât modelul este mai bun, în timp ce cealaltă diagonală oferă cel mai prost rezultat în ceea ce privește clasificarea.

Fals pozitiv

Un exemplu în care modelul a prezis în mod eronat clasa pozitivă. De exemplu, modelul a dedus că un anumit mesaj de e-mail era spam (clasa pozitivă), dar acel mesaj de e-mail nu era de fapt spam. Este ca un semn de avertizare că greșeala ar trebui rectificată, deoarece nu este o preocupare prea serioasă în comparație cu falsul negativ.

Fals pozitiv (eroare de tip I) – atunci când respingeți o ipoteză nulă adevărată

supervizată de învățare automată clasificare fals pozitivă

Fals negativ

Un exemplu în care modelul a prezis în mod eronat clasa negativă. De exemplu, modelul a dedus că un anumit mesaj de e-mail nu era spam (clasa negativă), dar acel mesaj de e-mail era de fapt spam. Este ca un semn de pericol care indică faptul că greșeala ar trebui rectificată din timp, deoarece este mai gravă decât un fals pozitiv.

Fals negativ (eroare de tip II) – atunci când acceptați o ipoteză nulă falsă.

supervizată de învățare automată clasificare fals negativă

Această imagine ilustrează perfect și cu ușurință metrica de mai sus. Rezultatele testului bărbatului sunt un fals pozitiv, deoarece un bărbat nu poate fi însărcinat. Rezultatele testului femeii sunt un fals negativ deoarece este clar că este însărcinată.

Din matricea de confuzie, putem deduce acuratețea, precizia, reamintirea și scorul F-1.

Acuratețea

Acuratețea este fracțiunea de predicții pe care modelul nostru le-a nimerit.

precizia de clasificare a învățării automate supervizate

Precizia poate fi, de asemenea, scrisă ca

precizia de clasificare a învățării automate supervizate math

Precizia singură nu spune povestea completă atunci când se lucrează cu un set de date cu dezechilibru de clase, unde există o disparitate semnificativă între numărul de etichete pozitive și negative. Precizia și reamintirea sunt măsurători mai bune pentru evaluarea problemelor cu clase dezechilibrate.

Precizia

Dintre toate clasele, precizia este cât de mult am prezis corect.

Precizia de clasificare a învățării automate supervizate

Precizia ar trebui să fie cât mai mare posibil.

Reamintirea

Dintre toate clasele pozitive, reamintirea este cât de mult am prezis corect. Se numește, de asemenea, sensibilitate sau rată pozitivă adevărată (TPR).

Recall de clasificare prin învățare automată supervizată

Recall ar trebui să fie cât mai mare posibil.

Scoring F-1

De multe ori este convenabil să combinați precizia și recall într-o singură metrică numită scor F-1, în special dacă aveți nevoie de o modalitate simplă de a compara doi clasificatori. Scorul F-1 este media armonică a preciziei și a rechemării.

supervizată de învățare automată clasificare scor f1

Media obișnuită tratează toate valorile în mod egal, în timp ce media armonică acordă o pondere mult mai mare valorilor scăzute, pedepsind astfel mai mult valorile extreme. Ca urmare, clasificatorul va obține un scor F-1 ridicat numai dacă atât rechemarea, cât și precizia sunt ridicate.

Curba operatorului receptor (ROC) &Arie sub curbă (AUC)

Curba ROC este o metrică importantă de evaluare a clasificării. Aceasta ne spune cât de bine a prezis modelul cu exactitate. Curba ROC arată sensibilitatea clasificatorului prin reprezentarea grafică a ratei de pozitivi adevărați față de rata de pozitivi falși. Dacă clasificatorul este remarcabil, rata adevăratelor pozitive va crește, iar aria de sub curbă va fi apropiată de unu. În cazul în care clasificatorul este similar cu o ghicire aleatorie, rata adevăratelor pozitive va crește liniar cu rata falselor pozitive. Cu cât măsura AUC este mai bună, cu atât modelul este mai bun.

supervised machine learning classification roc

Curba profilului de acuratețe cumulativă

CAP a unui model reprezintă numărul cumulativ de rezultate pozitive de-a lungul axei y față de numărul cumulativ corespunzător al unui parametru de clasificare de-a lungul axei x. CAP este diferită de caracteristica de funcționare a receptorului (receiver operating characteristic – ROC), care trasează rata adevărat-pozitivă față de rata fals-pozitivă. Curba CAP este rar utilizată în comparație cu curba ROC.

curba CAP de clasificare prin învățare automată supervizată

Considerați un model care prezice dacă un client va cumpăra un produs. Dacă un client este selectat la întâmplare, există o șansă de 50% ca acesta să cumpere produsul. Numărul cumulat de elemente pentru care clientul cumpără ar crește liniar spre o valoare maximă corespunzătoare numărului total de clienți. Această distribuție se numește CAP „aleatorie”. Este linia albastră din diagrama de mai sus. O predicție perfectă, pe de altă parte, determină exact care client va cumpăra produsul, astfel încât valoarea maximă a clientului care cumpără proprietatea va fi atinsă cu un număr minim de selecție a clienților dintre elemente. Acest lucru produce o linie abruptă pe curba PAC care rămâne plată odată ce este atins maximul, ceea ce reprezintă PAC „perfect”. Se mai numește și linia „ideală” și este linia gri din figura de mai sus.

În final, un model ar trebui să prezică acolo unde maximizează predicțiile corecte și se apropie de linia modelului perfect.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.