Connect with us

Ce este Reducerea Dimensiunii?

IA 101

Ce este Reducerea Dimensiunii?

mm

Ce este Reducerea Dimensiunii?

Reducerea dimensiunii este un proces utilizat pentru a reduce dimensiunea unui set de date, luând multe caracteristici și reprezentându-le ca caracteristici mai puține. De exemplu, reducerea dimensiunii ar putea fi utilizată pentru a reduce un set de date cu douăzeci de caracteristici la doar câteva caracteristici. Reducerea dimensiunii este utilizată în mod obișnuit în învățarea nesupervizată pentru a crea automat clase din multe caracteristici. Pentru a înțelege mai bine de ce și cum se utilizează reducerea dimensiunii, vom examina problemele asociate cu datele cu dimensiuni mari și metodele cele mai populare de reducere a dimensiunii.

Mai multe dimensiuni duc la suprapunere

Dimensiunea se referă la numărul de caracteristici / coloane dintr-un set de date.

Adesea se presupune că, în învățarea automată, mai multe caracteristici sunt mai bune, deoarece creează un model mai precis. Cu toate acestea, mai multe caracteristici nu se traduc neapărat într-un model mai bun.

Caracteristicile unui set de date pot varia foarte mult în ceea ce privește utilitatea lor pentru model, multe caracteristici fiind de mică importanță. În plus, cu cât setul de date conține mai multe caracteristici, cu atât sunt necesare mai multe mostre pentru a se asigura că diferitele combinații de caracteristici sunt bine reprezentate în date. Prin urmare, numărul de mostre crește în proporție cu numărul de caracteristici. Mai multe mostre și mai multe caracteristici înseamnă că modelul trebuie să fie mai complex, și pe măsură ce modelele devin mai complexe, devin mai sensibile la suprapunere. Modelul învață modelele din datele de antrenare prea bine și nu reușește să generalizeze la datele din afara mostrelor.

Reducerea dimensiunii unui set de date are mai multe beneficii. Așa cum s-a menționat, modelele mai simple sunt mai puțin predispuse la suprapunere, deoarece modelul trebuie să facă mai puține presupuneri cu privire la modul în care caracteristicile sunt legate între ele. În plus, mai puține dimensiuni înseamnă că este necesară mai puțină putere de calcul pentru a antrena algoritmii. La fel, este necesar mai puțin spațiu de stocare pentru un set de date care are o dimensiune mai mică. Reducerea dimensiunii unui set de date poate să vă permită, de asemenea, să utilizați algoritmi care nu sunt potriviți pentru seturile de date cu multe caracteristici.

Metode comune de reducere a dimensiunii

Reducerea dimensiunii poate fi realizată prin selecția caracteristicilor sau prin ingineria caracteristicilor. Selecția caracteristicilor este atunci când inginerul identifică caracteristicile cele mai relevante ale setului de date, în timp ce ingineria caracteristicilor este procesul de creare a unor caracteristici noi prin combinarea sau transformarea altor caracteristici.

Selecția și ingineria caracteristicilor pot fi realizate programatic sau manual. Atunci când se selectează și se proiectează caracteristici manual, este tipic să se vizualizeze datele pentru a descoperi corelații între caracteristici și clase. Realizarea reducerii dimensiunii în acest mod poate fi destul de timp-consuming și, prin urmare, unele dintre cele mai comune moduri de reducere a dimensiunii implică utilizarea algoritmilor disponibili în biblioteci precum Scikit-learn pentru Python. Aceste algoritmi comuni de reducere a dimensiunii includ: Analiza componentelor principale (PCA), Descompunerea valorilor singulare (SVD) și Analiza discriminantă liniară (LDA).

Algoritmii utilizați în reducerea dimensiunii pentru sarcinile de învățare nesupervizată sunt, în general, PCA și SVD, în timp ce algoritmii utilizați pentru reducerea dimensiunii învățării supravegheate sunt, în general, LDA și PCA. În cazul modelului de învățare supravegheat, noile caracteristici generate sunt pur și simplu introduse în clasificatorul de învățare automată. Rețineți că utilizările descrise aici sunt doar cazuri generale de utilizare și nu singurele condiții în care aceste tehnici pot fi utilizate. Algoritmii de reducere a dimensiunii descriși mai sus sunt pur și simplu metode statistice și sunt utilizate în afara modelelor de învățare automată.

Analiza componentelor principale

Fotografie: Matrice cu componente principale identificate

Analiza componentelor principale (PCA) este o metodă statistică care analizează caracteristicile / funcțiile unui set de date și rezumă caracteristicile care sunt cele mai influente. Caracteristicile setului de date sunt combinate împreună în reprezentări care păstrează majoritatea caracteristicilor datelor, dar sunt răspândite pe mai puține dimensiuni. Puteți gândi la acest lucru ca „strângerea” datelor de la o reprezentare cu dimensiuni mai mari la una cu doar câteva dimensiuni.

Ca exemplu de situație în care PCA ar putea fi util, gândiți-vă la modurile diferite în care ați putea descrie vinul. În timp ce este posibil să descrieți vinul utilizând multe caracteristici foarte specifice, cum ar fi nivelurile de CO2, nivelurile de aerare etc., astfel de caracteristici specifice pot fi relativ inutile atunci când încercați să identificați un anumit tip de vin. În schimb, ar fi mai prudent să identificați tipul pe baza unor caracteristici mai generale, cum ar fi gustul, culoarea și vârsta. PCA poate fi utilizată pentru a combina caracteristici mai specifice și pentru a crea caracteristici mai generale, mai utile și mai puțin susceptibile de a provoca suprapunere.

PCA se realizează prin determinarea modului în care caracteristicile de intrare variază de la medie în raport cu celelalte, determinând dacă există relații între caracteristici. Pentru a face acest lucru, se creează o matrice de covarianță, care stabilește o matrice compusă din covarianțele în raport cu perechile posibile de caracteristici ale setului de date. Acest lucru se utilizează pentru a determina corelațiile între variabile, o covarianță negativă indicând o corelație inversă și o corelație pozitivă indicând o corelație pozitivă.

Componentele principale (cele mai influente) ale setului de date sunt create prin crearea de combinații liniare ale variabilelor inițiale, ceea ce se realizează cu ajutorul conceptelor de algebră liniară numite valori și vectori proprii. Combinațiile sunt create astfel încât componentele principale să fie ne-corelate între ele. Majoritatea informațiilor conținute în variabilele inițiale sunt comprimate în primele câteva componente principale, ceea ce înseamnă că au fost create noi caracteristici (componentele principale) care conțin informațiile din setul de date inițial într-un spațiu dimensional mai mic.

Descompunerea valorilor singulare

Fotografie: De Cmglee – Lucrare proprie, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Descompunerea valorilor singulare (SVD) este utilizată pentru a simplifica valorile dintr-o matrice, reducând matricea la părțile sale constitutive și făcând calculele cu acea matrice mai ușoare. SVD poate fi utilizată atât pentru matrice cu valori reale, cât și pentru matrice cu valori complexe, dar pentru scopul acestei explicații, vom examina cum se descompune o matrice cu valori reale.

Să presupunem că avem o matrice compusă din date cu valori reale și scopul nostru este de a reduce numărul de coloane / caracteristici din matrice, similar cu scopul PCA. La fel ca PCA, SVD va comprima dimensiunea matricei, păstrând totuși cât mai multă variabilitate a matricei. Dacă dorim să operăm pe matricea A, putem reprezenta matricea A ca trei alte matrice numite U, D și V. Matricea A este compusă din elemente x * y, în timp ce matricea U este compusă din elemente X * X (este o matrice ortogonală). Matricea V este o altă matrice ortogonală care conține elemente y * y. Matricea D conține elementele x * y și este o matrice diagonală.

Pentru a descompune valorile pentru matricea A, trebuie să convertim valorile singulare originale în valorile diagonale găsite într-o matrice nouă. Atunci când lucrăm cu matrice ortogonale, proprietățile lor nu se schimbă dacă sunt înmulțite cu alte numere. Prin urmare, putem aproxima matricea A prin utilizarea acestei proprietăți. Atunci când înmulțim matricele ortogonale împreună cu o transpusă a matricei V, rezultatul este o matrice echivalentă cu matricea noastră originală A.

Atunci când matricea A este descompusă în matricele U, D și V, acestea conțin datele găsite în matricea A. Cu toate acestea, coloanele din stânga ale matricelor vor conține majoritatea datelor. Putem lua doar primele câteva coloane și vom avea o reprezentare a matricei A care are mult mai puține dimensiuni și majoritatea datelor din A.

Analiza discriminantă liniară

 

Stânga: Matrice înainte de LDA, Dreapta: Axă după LDA, acum separabilă

Analiza discriminantă liniară (LDA) este un proces care ia date dintr-un grafic multidimensional și le reproiectează pe un grafic liniar. Puteți imagina acest lucru prin a gândi la un grafic bidimensional plin de puncte de date care aparțin la două clase diferite. Să presupunem că punctele sunt împrăștiate astfel încât nu se poate trage o linie care să le despartă pe cele două clase. Pentru a face față acestei situații, punctele din graficul 2D pot fi reduse la un grafic 1D (o linie). Această linie va avea toate punctele de date distribuite de-a lungul ei și poate fi împărțită în două secțiuni care reprezintă cea mai bună separare a datelor.

Atunci când se efectuează LDA, există două obiective principale. Primul obiectiv este minimizarea varianței pentru clase, în timp ce al doilea obiectiv este maximizarea distanței dintre mediile celor două clase. Aceste obiective sunt realizate prin crearea unei noi axe care va exista în graficul 2D. Axă nou creată acționează pentru a separa cele două clase pe baza obiectivelor descrise anterior. După ce axa a fost creată, punctele din graficul 2D sunt plasate de-a lungul axei.

Sunt necesare trei pași pentru a muta punctele originale într-o nouă poziție de-a lungul noii axe. În primul pas, se calculează distanța dintre mediile claselor individuale (varianța între clase) pentru a calcula separabilitatea claselor. În al doilea pas, se calculează varianța în cadrul claselor diferite, prin determinarea distanței dintre probă și medie pentru clasa în cauză. În ultimul pas, se creează spațiul cu dimensiuni mai mici care maximizează varianța între clase.

Tehnica LDA obține cele mai bune rezultate atunci când mediile pentru clasele țintă sunt departe una de cealaltă. LDA nu poate separa eficient clasele cu o axă liniară dacă mediile pentru distribuții se suprapun.

 

Blogger and programmer with specialties in Machine Learning and Deep Learning topics. Daniel hopes to help others use the power of AI for social good.