Buna ziua. Va prezentam un proiect de **recunoastere faciala** in care aratam cum doua instrumente clasice de algebra liniara - **diagonalizarea matricei de covarianta** si **descompunerea in valori singulare** - rezolva in practica o problema reala. Eu sunt Daniel, alaturi de Dan si Victor. Coordonator: doamna conf. dr. Petrescu-Nita. ACCESS NON-MATH: pentru cine nu are background matematic - vom vedea cum o fotografie devine UN PUNCT intr-un spatiu, cum acel punct se traduce in IDENTITATE prin algebra, si cum aceleasi tehnici sunt folosite la Google PageRank, Netflix recomandari, JPEG, si chiar ecuatia lui Schrodinger din fizica cuantica. DEMO: pe marv.danielwagner.ro - site live cu eigenfaces interactive si metrici detaliate. Sub-titlul spune totul: aplicatii ale diagonalizarii si SVD. TRANZITIE (click): 'Hai sa incepem cu problema.'
Partea I: PROBLEMA. Inainte de orice algebra, ce vrem matematic? Pornim de la o fotografie. Vrem la final o identitate - 'aceasta este X'. Pentru non-math: gandeste-te ca primesti o poza necunoscuta si vrei sa stii cine e in poza. TRANZITIE: 'Concret, asta inseamna...' -> pipeline de preprocesare.
Pipeline de preprocesare - 4 stages. 1) Pornim de la o fotografie color din LFW. 2) Convertim la GRAYSCALE - pentru recunoastere, identitatea NU depinde de culoare. 3) Resize la 50x37 pixeli - rezolutia standard din LFW. 4) CLAHE (Contrast Limited Adaptive Histogram Equalization) - normalizeaza contrast. Imagini cu iluminari diferite (lumina/umbra) devin comparabile. PASUL CRITIC (ultimul): VECTORIZARE. Citim pixelii rand cu rand (row-major) -> obtinem un vector x in R^1850. MATH: 50 x 37 = 1850. **NON-MATH KEY:** de aici incolo, o fata e UN PUNCT intr-un spatiu cu 1850 dimensiuni. ANALOGIE: ca cand ai un oras cu 1850 strazi si fiecare fata = locatia unei case in oras. Tot restul prezentarii e despre ce facem cu acel punct (cum gasim 'orasul vecin' = persoana asemanatoare).
Pipeline de preprocesare - 4 stages. 1) Pornim de la o fotografie color din LFW. 2) Convertim la GRAYSCALE - pentru recunoastere, identitatea NU depinde de culoare. 3) Resize la 50x37 pixeli - rezolutia standard din LFW. 4) CLAHE (Contrast Limited Adaptive Histogram Equalization) - normalizeaza contrast. Imagini cu iluminari diferite (lumina/umbra) devin comparabile. PASUL CRITIC (ultimul): VECTORIZARE. Citim pixelii rand cu rand (row-major) -> obtinem un vector x in R^1850. MATH: 50 x 37 = 1850. **NON-MATH KEY:** de aici incolo, o fata e UN PUNCT intr-un spatiu cu 1850 dimensiuni. ANALOGIE: ca cand ai un oras cu 1850 strazi si fiecare fata = locatia unei case in oras. Tot restul prezentarii e despre ce facem cu acel punct (cum gasim 'orasul vecin' = persoana asemanatoare).
1991, MIT Media Lab. Turk si Pentland publica 'Eigenfaces for Recognition' - primul sistem care merge cvasi-real-time. Ideea CHEIE (non-math version): in loc sa comparam fete pixel cu pixel (ar fi un milion de comparatii), gasim cateva 'directii principale de variatie' intre fete - tip 'cat de mult variaza nasul', 'cat variaza fruntea' - si comparam doar acolo. Mult mai rapid. Noi pastram ideea (eigenfaces), dar inlocuim clasificatorul lor cu SVM cu kernel RBF (mai modern, mai robust). TRANZITIE (Partea II): 'Cum gasim aceste directii?'
Partea II: PCA - Principal Component Analysis (Analiza Componentelor Principale). IDEE CHEIE (non-math): fetele reale, desi traiesc 'oficial' intr-un spatiu cu 1850 de coordonate (pixeli), REAL formeaza o suprafata mult mai mica acolo - 'fete arata ca fete', nu ca pixeli aleatori. PCA gaseste aceasta suprafata - asa reducem 1850 dimensiuni la ~150 fara sa pierdem identitatea. ANALOGIE: ca cand intr-un fluviu de date, gasesti curentii principali si urmaresti doar ei, nu toata apa. TRANZITIE: 'Mai intai datele.'
Dataset: Labeled Faces in the Wild (LFW), filtrat la persoane cu >=70 imagini. Rezultat: 6 persoane, 1217 imagini total. In general LIDERI politici din anii 2000 (Bush, Sharon, etc.) pentru ca jurnalismul le-a fotografiat des. Iluminare si unghiuri VARIABILE - NU e dataset de studio. Fotografii reale din presa. ANALOGIE non-math: imagineaza un album de fotografii din ziare - fiecare persoana e fotografiata in zeci de situatii diferite (zambind, sever, in profil, lumina puternica/slaba). Modelul trebuie sa invete CINE e persoana, nu in CE conditii e fotografiata. In dreapta vedeti 20 fete random - ca sa aveti o senzatie despre variabilitate.
Dataset: Labeled Faces in the Wild (LFW), filtrat la persoane cu >=70 imagini. Rezultat: 6 persoane, 1217 imagini total. In general LIDERI politici din anii 2000 (Bush, Sharon, etc.) pentru ca jurnalismul le-a fotografiat des. Iluminare si unghiuri VARIABILE - NU e dataset de studio. Fotografii reale din presa. ANALOGIE non-math: imagineaza un album de fotografii din ziare - fiecare persoana e fotografiata in zeci de situatii diferite (zambind, sever, in profil, lumina puternica/slaba). Modelul trebuie sa invete CINE e persoana, nu in CE conditii e fotografiata. In dreapta vedeti 20 fete random - ca sa aveti o senzatie despre variabilitate.
Centrarea + matricea de covarianta - primul pas algebric. Construim matricea X cu fetele pe coloane: 1850 (pixeli) x 1217 (fete). Scadem media MIU = O SINGURA imagine 'fata medie' (media tuturor fetelor) din fiecare coloana. Obtinem X tilda. ANALOGIE non-math: imagineaza ca facem o 'fata medie' din toate fetele din album. Apoi scadem aceasta fata medie din fiecare fata - asa nu vedem 'cat de mult e o fata = fata umana medie', ci 'cat se ABATE fiecare fata de la medie' - acolo e identitatea. MATRICEA DE COVARIANTA: C = (1/n) * X_tilda * X_tilda^T. C are dimensiunea 1850 x 1850. Capteaza CUM VARIAZA TRASATURILE IMPREUNA - daca cand iese nasul, iese si fruntea (sunt corelate). 3 PROPRIETATI CHEIE: simetrica + pozitiv semi-definita => ORTOGONAL DIAGONALIZABILA. Putem gasi o baza ortonormata in care C devine DIAGONALA. Asta deblocheaza PCA-ul - urmeaza pe s07.
Centrarea + matricea de covarianta - primul pas algebric. Construim matricea X cu fetele pe coloane: 1850 (pixeli) x 1217 (fete). Scadem media MIU = O SINGURA imagine 'fata medie' (media tuturor fetelor) din fiecare coloana. Obtinem X tilda. ANALOGIE non-math: imagineaza ca facem o 'fata medie' din toate fetele din album. Apoi scadem aceasta fata medie din fiecare fata - asa nu vedem 'cat de mult e o fata = fata umana medie', ci 'cat se ABATE fiecare fata de la medie' - acolo e identitatea. MATRICEA DE COVARIANTA: C = (1/n) * X_tilda * X_tilda^T. C are dimensiunea 1850 x 1850. Capteaza CUM VARIAZA TRASATURILE IMPREUNA - daca cand iese nasul, iese si fruntea (sunt corelate). 3 PROPRIETATI CHEIE: simetrica + pozitiv semi-definita => ORTOGONAL DIAGONALIZABILA. Putem gasi o baza ortonormata in care C devine DIAGONALA. Asta deblocheaza PCA-ul - urmeaza pe s07.
DIAGONALIZAREA C = Q Lambda Q^T. **Spectral theorem**: pentru o matrice simetrica, exista o baza ortonormata de VECTORI PROPRII v1, v2... in care C devine DIAGONALA. INTUITIE (non-math): cand C apuca un vector propriu v, doar IL INTINDE cu factorul lambda. Directia NU SE SCHIMBA, doar lungimea. ANALOGIE: imagineaza C ca o functie care 'lucreaza' pe vectori. Pentru majoritatea vectorilor, ii rasuceste si stira. Dar exista cateva directii speciale (vectorii proprii) unde NU rasuceste, doar trage in lungime. MATH: v1 e directia cu lambda=3 (cea mai intinsa). v2 e perpendiculara, lambda=2 (mai putin intinsa). FORMA MATRICEALA: C = Q * Lambda * Q^T. Q are vectorii proprii pe coloane. Lambda are valorile proprii pe diagonala. DE CE conteaza? Pentru ca asta e baza PCA-ului. Vectorii proprii = directiile principale de varianta. Vom vedea pe s08.
DIAGONALIZAREA C = Q Lambda Q^T. **Spectral theorem**: pentru o matrice simetrica, exista o baza ortonormata de VECTORI PROPRII v1, v2... in care C devine DIAGONALA. INTUITIE (non-math): cand C apuca un vector propriu v, doar IL INTINDE cu factorul lambda. Directia NU SE SCHIMBA, doar lungimea. ANALOGIE: imagineaza C ca o functie care 'lucreaza' pe vectori. Pentru majoritatea vectorilor, ii rasuceste si stira. Dar exista cateva directii speciale (vectorii proprii) unde NU rasuceste, doar trage in lungime. MATH: v1 e directia cu lambda=3 (cea mai intinsa). v2 e perpendiculara, lambda=2 (mai putin intinsa). FORMA MATRICEALA: C = Q * Lambda * Q^T. Q are vectorii proprii pe coloane. Lambda are valorile proprii pe diagonala. DE CE conteaza? Pentru ca asta e baza PCA-ului. Vectorii proprii = directiile principale de varianta. Vom vedea pe s08.
In PRACTICA folosim SVD (Singular Value Decomposition) pe X tilda, NU diagonalizarea directa a C. DE CE? Pentru ca C are dimensiunea 1850 x 1850, dar X are 1850 x 1217. SVD pe X e mai EFICIENT computational. SVD: X_tilda = U * Sigma * V^T. U si V sunt matrici ortogonale (rotatii). Sigma e diagonala cu valorile singulare. LEGATURA cu diagonalizarea C: vectorii singulari stangi (coloanele U) sunt EXACT vectorii proprii ai lui C. Valorile proprii ale C = patratele valorilor singulare ale X. ANALOGIE non-math: SVD descopune o matrice in 'rotire + intindere + rotire'. Cele 3 operatii: rotire initiala (V^T), intindere pe axe (Sigma), rotire finala (U). Pentru noi: U ne da eigenfaces direct.
In PRACTICA folosim SVD (Singular Value Decomposition) pe X tilda, NU diagonalizarea directa a C. DE CE? Pentru ca C are dimensiunea 1850 x 1850, dar X are 1850 x 1217. SVD pe X e mai EFICIENT computational. SVD: X_tilda = U * Sigma * V^T. U si V sunt matrici ortogonale (rotatii). Sigma e diagonala cu valorile singulare. LEGATURA cu diagonalizarea C: vectorii singulari stangi (coloanele U) sunt EXACT vectorii proprii ai lui C. Valorile proprii ale C = patratele valorilor singulare ale X. ANALOGIE non-math: SVD descopune o matrice in 'rotire + intindere + rotire'. Cele 3 operatii: rotire initiala (V^T), intindere pe axe (Sigma), rotire finala (U). Pentru noi: U ne da eigenfaces direct.
PCA via LAGRANGE - JUSTIFICAREA MATEMATICA a PCA-ului. PROBLEMA: gaseste directia unitara w care MAXIMIZEAZA varianta proiectiei datelor. Formal: max w^T C w cu constrangerea ||w|| = 1. INTUITIE non-math: imagineaza un nor de puncte in spatiu. Cauti axa pe care daca proiectezi punctele, ele se intind cel mai mult (varianta maxima). Asta e 'directia principala' a norului. TEHNICA: multiplicatori Lagrange. L(w, lambda) = w^T C w - lambda(w^T w - 1). Gradient zero => **C w = lambda w**. REZULTAT MAGIC: directia optima ESTE CHIAR un vector propriu al lui C. Varianta proiectiei = chiar valoarea proprie lambda. DEC ORDONAM valorile proprii descrescator. Primul vector propriu = directia de cea mai mare varianta. Al doilea = a doua. Si asa mai departe. **ASTA e PCA**. TRANZITIE: 'Cum arata acesti vectori proprii ca imagini? (eigenfaces)' -> s09.
PCA via LAGRANGE - JUSTIFICAREA MATEMATICA a PCA-ului. PROBLEMA: gaseste directia unitara w care MAXIMIZEAZA varianta proiectiei datelor. Formal: max w^T C w cu constrangerea ||w|| = 1. INTUITIE non-math: imagineaza un nor de puncte in spatiu. Cauti axa pe care daca proiectezi punctele, ele se intind cel mai mult (varianta maxima). Asta e 'directia principala' a norului. TEHNICA: multiplicatori Lagrange. L(w, lambda) = w^T C w - lambda(w^T w - 1). Gradient zero => **C w = lambda w**. REZULTAT MAGIC: directia optima ESTE CHIAR un vector propriu al lui C. Varianta proiectiei = chiar valoarea proprie lambda. DEC ORDONAM valorile proprii descrescator. Primul vector propriu = directia de cea mai mare varianta. Al doilea = a doua. Si asa mai departe. **ASTA e PCA**. TRANZITIE: 'Cum arata acesti vectori proprii ca imagini? (eigenfaces)' -> s09.
Partea III: SVM - Support Vector Machine. IDEE CHEIE (non-math): am redus fetele la 150 numere (post-PCA). Acum 'CINE e in poza?' = 'in care grup cad cele 150 numere?'. SVM cauta linia/planul/hiperplanul care separa CEL MAI BINE doua categorii - cu cea mai mare BANDA DE SIGURANTA intre ele. ANALOGIE: imagineaza ca ai puncte pe podea de 2 culori si vrei sa pui o linie care le separa cat mai 'la mijloc' - asa daca apare un punct nou care e usor inafara, tot stii unde apartine.
SVM in 2D - intuitie. Doua clase: +1 si -1. Vrem o LINIE care le separa. Dar NU orice linie - aceea care lasa CEA MAI MARE BANDA DE SIGURANTA intre clase. ANALOGIE non-math: imagineaza o autostrada cu doua trotuare. Vrei sa pictezi linia centrala astfel incat sa fie cat mai DEPARTE de ambele trotuare. Daca un picaturi mici de vopsea o iau in lateral, tot raman pe partea corecta a liniei. MATH: latimea benzii = 2/||w||. Maximizam marginea <=> minimizam (1/2)||w||^2 cu constrangerile ca toate punctele +1 sa fie pe o parte, -1 pe alta. VECTORII SUPORT: punctele care 'opresc' banda - cele care ating exact marginea. Doar ELE determina linia. Restul ar putea sa dispara fara sa schimbe nimic. ANALOGIE: doar lampile cele mai aproape de marginea autostrazii decid latimea benzii de iluminare; lampile din departare nu conteaza pentru linia centrala.
SVM in 2D - intuitie. Doua clase: +1 si -1. Vrem o LINIE care le separa. Dar NU orice linie - aceea care lasa CEA MAI MARE BANDA DE SIGURANTA intre clase. ANALOGIE non-math: imagineaza o autostrada cu doua trotuare. Vrei sa pictezi linia centrala astfel incat sa fie cat mai DEPARTE de ambele trotuare. Daca un picaturi mici de vopsea o iau in lateral, tot raman pe partea corecta a liniei. MATH: latimea benzii = 2/||w||. Maximizam marginea <=> minimizam (1/2)||w||^2 cu constrangerile ca toate punctele +1 sa fie pe o parte, -1 pe alta. VECTORII SUPORT: punctele care 'opresc' banda - cele care ating exact marginea. Doar ELE determina linia. Restul ar putea sa dispara fara sa schimbe nimic. ANALOGIE: doar lampile cele mai aproape de marginea autostrazii decid latimea benzii de iluminare; lampile din departare nu conteaza pentru linia centrala.
KERNEL TRICK - momentul cel mai vizual al prezentarii. Doua clase pe podea (planul 2D): una in interior (cerc mic), alta pe inel exterior. **NICIO DREAPTA** nu le separa in plan. PROVOCAREA (non-math): cum desenezi UN linie care sa puna clase diferite pe parti diferite, cand una e inauntrul celeilalte? Imposibil cu o linie dreapta. SOLUTIE: RIDICAM punctele intr-un spatiu de dimensiune mai mare. Aplicam phi(x) = (x1, x2, ||x||^2) - adaugam a treia coordonata = distanta la patrat de origine. Punctele din interior (distanta mica) raman jos. Punctele de pe inel (distanta mare) urca sus. ANALOGIE non-math: imagineaza covorul pe care se afla punctele - daca il TRAGI in mijloc in sus ca un cort, punctele de centru raman jos, dar punctele de pe inel exterior raman pe podea. Acum un PLAN ORIZONTAL le separa. TRUCUL: nu calculam phi explicit niciodata. Folosim direct produsul scalar K(x,x') = exp(-gamma||x-x'||^2). Acest RBF kernel corespunde IMPLICIT unui spatiu infinit dimensional. Wow tehnic - lasati animatia sa curga complet.
KERNEL TRICK - momentul cel mai vizual al prezentarii. Doua clase pe podea (planul 2D): una in interior (cerc mic), alta pe inel exterior. **NICIO DREAPTA** nu le separa in plan. PROVOCAREA (non-math): cum desenezi UN linie care sa puna clase diferite pe parti diferite, cand una e inauntrul celeilalte? Imposibil cu o linie dreapta. SOLUTIE: RIDICAM punctele intr-un spatiu de dimensiune mai mare. Aplicam phi(x) = (x1, x2, ||x||^2) - adaugam a treia coordonata = distanta la patrat de origine. Punctele din interior (distanta mica) raman jos. Punctele de pe inel (distanta mare) urca sus. ANALOGIE non-math: imagineaza covorul pe care se afla punctele - daca il TRAGI in mijloc in sus ca un cort, punctele de centru raman jos, dar punctele de pe inel exterior raman pe podea. Acum un PLAN ORIZONTAL le separa. TRUCUL: nu calculam phi explicit niciodata. Folosim direct produsul scalar K(x,x') = exp(-gamma||x-x'||^2). Acest RBF kernel corespunde IMPLICIT unui spatiu infinit dimensional. Wow tehnic - lasati animatia sa curga complet.
Pipeline COMPLET - 5 pasi de la imagine la identitate. 1) Imagine bruta 50x37 pixeli. 2) Grayscale + CLAHE - normalizare contrast. 3) PCA cu 150 componente - x in R^1850 -> z in R^150 (proiectie pe eigenfaces). 4) SVM cu kernel RBF - 6 clasificatori one-vs-rest (avem 6 persoane). 5) Identitate - clasa cu scor maxim. DOUA TRANSFORMARI critice: x -> z prin PCA, z -> y prin RBF kernel. ANALOGIE non-math: ca o fabrica de procesare. La intrare = poza. La iesire = numele persoanei. Intre, fiecare statie face un pas specific - reducere de dimensiune, masurare distante in spatiu redus, votare in 6 clasificatori. Modelul nu e magic - e o secventa de transformari matematice clare.
Pipeline COMPLET - 5 pasi de la imagine la identitate. 1) Imagine bruta 50x37 pixeli. 2) Grayscale + CLAHE - normalizare contrast. 3) PCA cu 150 componente - x in R^1850 -> z in R^150 (proiectie pe eigenfaces). 4) SVM cu kernel RBF - 6 clasificatori one-vs-rest (avem 6 persoane). 5) Identitate - clasa cu scor maxim. DOUA TRANSFORMARI critice: x -> z prin PCA, z -> y prin RBF kernel. ANALOGIE non-math: ca o fabrica de procesare. La intrare = poza. La iesire = numele persoanei. Intre, fiecare statie face un pas specific - reducere de dimensiune, masurare distante in spatiu redus, votare in 6 clasificatori. Modelul nu e magic - e o secventa de transformari matematice clare.
**87.3% acuratete** pe setul de TEST - 244 imagini pe care modelul NU le-a vazut in training. ANALOGIE: este ca un student care nu a vazut subiectele de examen, totusi raspunde corect la 87 din 100 intrebari. F1 mediu ponderat = 0.869. Indica performanta ECHILIBRATA pe clase, nu doar pe cea majoritara. Precizie = 0.879 - cand modelul spune 'este X', are dreptate in 88% din cazuri. MATH: F1 = 2 * precision * recall / (precision + recall). Echilibreaza intre 'cati am identificat corect' si 'cati din cei identificati sunt cu adevarat X'. Pentru sase persoane in dataset, asta e un rezultat solid.
**87.3% acuratete** pe setul de TEST - 244 imagini pe care modelul NU le-a vazut in training. ANALOGIE: este ca un student care nu a vazut subiectele de examen, totusi raspunde corect la 87 din 100 intrebari. F1 mediu ponderat = 0.869. Indica performanta ECHILIBRATA pe clase, nu doar pe cea majoritara. Precizie = 0.879 - cand modelul spune 'este X', are dreptate in 88% din cazuri. MATH: F1 = 2 * precision * recall / (precision + recall). Echilibreaza intre 'cati am identificat corect' si 'cati din cei identificati sunt cu adevarat X'. Pentru sase persoane in dataset, asta e un rezultat solid.
MATRICEA DE CONFUZIE - tipologia erorilor. Linii = clasa reala. Coloane = predictia modelului. Diagonala = corecte. **George W. Bush, 103/106 corecte = 97% recall** - cel mai bine prinsa clasa. Si totodata cea mai mare ca dimensiune (106 imagini in test). La extrema: **Sharon 62% recall din 16 exemple**. Cel mai prost prinsa, cel mai putine imagini. DIAGNOSTIC CHEIE: erorile ALUNECA spre clasa majoritara. NU metoda esueaza, ci dezechilibru de date. ANALOGIE non-math: la un examen cu 10 elevi din clasa A si 1 din clasa B, profesorul (modelul) naturalmente invata mai bine clasa A. *Class weight balanced* compenseaza partial, dar nu inlocuieste exemple lipsa.
Performanta per CLASA - confirma diagnosticul de pe s15. PRECIZIA este UNIFORMA peste clase (81%-100%). Cand modelul spune 'este X', are dreptate consistent. RECALL-ul urmareste numarul de exemple: 97% la Bush (106 imagini), 62% la Sharon (16 imagini). **MODELUL NU E PARTINITOR. DATASETUL ESTE.** Asta e diferenta intre algoritm slab si date dezechilibrate. Aici e DATE problem, nu MODEL problem. MEDIA PONDERATA: 87.9% precizie, 87.3% recall, F1 = 0.869. ANALOGIE non-math: profesorul (modelul) este corect cand spune ceva (precizie). Dar pierde unele exemple ale claselor mai rare (recall scazut pe clase mici).
Performanta per CLASA - confirma diagnosticul de pe s15. PRECIZIA este UNIFORMA peste clase (81%-100%). Cand modelul spune 'este X', are dreptate consistent. RECALL-ul urmareste numarul de exemple: 97% la Bush (106 imagini), 62% la Sharon (16 imagini). **MODELUL NU E PARTINITOR. DATASETUL ESTE.** Asta e diferenta intre algoritm slab si date dezechilibrate. Aici e DATE problem, nu MODEL problem. MEDIA PONDERATA: 87.9% precizie, 87.3% recall, F1 = 0.869. ANALOGIE non-math: profesorul (modelul) este corect cand spune ceva (precizie). Dar pierde unele exemple ale claselor mai rare (recall scazut pe clase mici).
CONCLUZIE + APLICATII (slide-ul de inchidere). Mesajul cheie: tot ce am facut astazi (diagonalizare, Lagrange, valori proprii, kernel) **NU sunt doar exercitii pentru examenul de algebra liniara**. Invatam aceste lucruri cu UN MOTIV. 5 APLICATII practice care urmeaza (click prin ele): 1) **PROCESARE IMAGINI**: JPEG foloseste DCT (descompunere in valori singulare implicit). 2) **RECOMANDARI**: Netflix, Spotify folosesc SVD pe matrice utilizator-continut. 3) **MOTOARE CAUTARE**: PageRank-ul Google = VECTORUL PROPRIU al lantului Markov pe graful linkurilor. 4) **MECANICA CUANTICA**: ecuatia Schrödinger H*psi = E*psi e LITERAL o problema de valori proprii. 5) **VIBRATII + SISTEME DINAMICE**: modurile proprii ale unei structuri = vectorii proprii ai matricei de rigiditate. INCHIDERE: 'Everything is maths, basically. Multumim pentru atentie.' PAUZA 2-3s inainte de Multumim.
CONCLUZIE + APLICATII (slide-ul de inchidere). Mesajul cheie: tot ce am facut astazi (diagonalizare, Lagrange, valori proprii, kernel) **NU sunt doar exercitii pentru examenul de algebra liniara**. Invatam aceste lucruri cu UN MOTIV. 5 APLICATII practice care urmeaza (click prin ele): 1) **PROCESARE IMAGINI**: JPEG foloseste DCT (descompunere in valori singulare implicit). 2) **RECOMANDARI**: Netflix, Spotify folosesc SVD pe matrice utilizator-continut. 3) **MOTOARE CAUTARE**: PageRank-ul Google = VECTORUL PROPRIU al lantului Markov pe graful linkurilor. 4) **MECANICA CUANTICA**: ecuatia Schrödinger H*psi = E*psi e LITERAL o problema de valori proprii. 5) **VIBRATII + SISTEME DINAMICE**: modurile proprii ale unei structuri = vectorii proprii ai matricei de rigiditate. INCHIDERE: 'Everything is maths, basically. Multumim pentru atentie.' PAUZA 2-3s inainte de Multumim.
**Scaneaza** - QR code spre marv.danielwagner.ro. Site live cu: eigenfaces interactive, metrici detaliate, matricea de confuzie, performanta per clasa, referat PDF, cod sursa pe GitHub. Va multumim pentru atentie. Suntem deschisi pentru intrebari. Q&A PREGATIRI - intrebari frecvente: 1) **De ce 150 componente?** Pentru ~95% varianta cumulativa - reducere de la 1850 dimensiuni la 150. 2) **De ce SVM peste KNN?** Margine maxima + soft margin pe date zgomotoase. SVM mai robust la outlieri. 3) **Ce face whitening in PCA?** Rescaleaza componentele PCA - critic pentru kernel RBF (distantele devin comparabile pe toate axele). 4) **Ce este kernel RBF?** Implicit, masoara distanta in spatiu infinit dimensional. exp(-gamma*||x-x'||^2). 5) **Cum scaleaza la mai multe persoane?** SVM one-vs-rest scaleaza linear cu numarul de clase. Co-autori: Wagner (eu), Oltean, Matveev. Coordonator: conf. dr. Alina Claudia Petrescu-Nita.