VERSLAG PRACTICUM 6 Pattern Recgnitin. PCA Niclaas Heyning 0152447 Sjerd kerkstra 0445061 Inleiding Bij deze pdracht is het de bedeling de werking van Principal Cmpnent Analyse (PCA) te bestuderen. Er wrden twee verschillende PCA methdes geïmplementeerd en getest p een dataset met ft s van gezichten. Dataset De faces dataset bestaat uit 20 * 28 zwart wit ft s van gezichten. Er zijn 1965 verschillende ft's. Iedere pixel in een ft wrdt bij het tepassen van PCA pgevat als een dimensie. Het aantal dimensies is dus 20*28 = 560 dimensies. Therie De gebruikelijke methde vr het uitrekenen van principale cmpnenten is het vinden van de eigen vectren van de cvariantie matrix van data matrix X. Vr data met een gemiddelde van 0 kmt dit vereen met het berekenen van de eigen vectren van C = X T X. De ntleding van C ziet er dan als vlgt uit: C = WMW T. Hierbij staat W vr de eigen vectren en M vr de eigen waarden. Er is echter ng een methde m de principale cmpnenten te achterhalen: de in-prduct matrix T = XX T. hierbij is de eigen decmpsitie T = VAV T. De eigen vectren van C
(de klmmen van W) kunnen vervlgens achterhaald wrden dr de eigenvectren van T links met X T te vermenigvuldigen. Exercise: (a) Tussen eigen vectren w van C en v van T geldt de vlgende relatie: w = X T v. De relatie tussen de eigen waarden m van C en a van T geldt dan de relatie: X T m = a. als v een eigenvectr is, is rv k een eigen vectr, mdat een eigen vectr een richting in N dimentinale ruimte aangeeft (met N = het aantal dimenties van de data) en de grtte niet van belang is. De eigen waarden van een eigen vectr v zal echter r keer z klein zijn. Eigenvectrs f images Er zijn twee verschillende PCA methden geïmplementeerd in matlab; pca_t en pca_c. pca_c berekent de eigen vectren van de cvariantie matrix, en pca_t gebruikt het inprduct. Een belangrijk verschil tussen de twee methden is het vlgende: Stel ene data matrix X met dimensies n x d. Vr het berekenen van de cvariantie (X T X) meten d * d vermenigvuldigingen uitgeverd wrden. Vr het berekenen van het in-prduct (XX T ) zijn n * n peraties ndig. Bij de keuze tussen de methden pca_c en pca_t is dus de verhuding tussen het aantal datapunten en het aantal dimensies van belang. Bij meer datapunten dan dimensies is het handiger m de cvariantie (pca_c) te berekenen. In het geval van de faces dataset is het efficiënter m pca_c te gebruiken mdat deze dataset 1965 datapunten bevat en 560 dimensies. Een plt van de eerste 9 eigen vectren die gevnden zijn in de faces dataset.
De eigen faces representeren eigen vectren in een 560 dimensinale ruimte. In de richting van deze vectren hebben de datapunten een maximale variantie. In de beeldruimte kunnen de eigen faces als vlgt pgevat wrden: de eigen waarde van eigen face 1 geeft van alle eigen faces de meest infrmatieve infrmatie. Daarna is de eigen waarde van eigen face 2 het meest infrmatief enzvrt. De elementen die zichtbaar zijn in eigen face 1 verschillen dus veel binnen de dataset. Het mixen van de eerste 5 eigen faces met het gemiddelde gezicht uit de faces dataset.
In de afbeelding is te zien he de eerste 5 eigen vectren het gemiddelde gezicht mdificeren. In de derde klm is het gemiddelde gezicht te zien. De rijen representeren de eerste 5 eigen faces. Links van de derde klm wrden de eigen faces respectievelijk 1 en 2 keer van het gemiddelde afgetrkken. Naar rechts wrdt er pgeteld. Per vectr (eigen face) zijn er duidelijk verschillende eigenschappen van de dataset te nderscheiden. De eerste eigen vectr representeert de rtatie van het gezicht. De tweede de sterke van de schaduwen bij mnd en gen. De derde de vrm van de mnd (lachen f niet). De vierde de verticale beweging van het hfd. De vijfde eigen vectr lijkt de helderheid en het cntrast en k de afstand van het gezicht tt de lens te representeren. 5 plaatjes van gezichten uit de dataset (links) en hun recnstructie dr alleen de eerste 9 eigen vectren te gebruiken.
Opvallend is te zien he ged een gezicht te recnstrueren is met slechts de eerste 9 van de 560 eigen vectren. Als de eigen vectren eenmaal bekend zijn vr de dataset
is het dus mgelijk m een plaatje redelijk ged te representeren met slechts 9 eigen waarden. Dit is een enrme data reductie ten pzichte van de 560 pixel waarden die znder PCA ndig zijn. een plt van de eerste 50 eigen waarden Het is duidelijk te zien dat het vergrte deel van de infrmatie gepresenteerd kan wrden met een klein aantal eigen vectren. Dit is te zien aan de snelle afname in de grafiek. het percentage variantie dat dr de eerste 9 PCA dimensies gerepresenteerd wrdt berekend
In deze grafiek is een zelfde srt verlp te zien als in de eigen waarde plt hierbven; de eerste eigen values bevatte een grt deel van de infrmatie. In de grafiek is te zien dat de eerste vijf eigen vectren meer dan de helft van de variantie representeren, en de eerste 50 eigen vectren meer dan 90 prcent kunnen representeren. Cnclusies In dit practicum is er geëxperimenteerd met PCA. Op het gezichtherkennings dmein lijkt deze methde een zeer efficiëntie datareductie te bewerkstelligen. Uit experimenten met de faces dataset is gebleken dat een gezicht zeer redelijk te recnstrueren is dr gebruik te maken van ng geen 2 prcent van de data ruimte. Een vrwaarde hiervr is wel dat eerst de eerste n eigen vectren vr de hele dataset berekend wrden. Deze eigen vectren gelden echter vr alle gezichten in de dataset. He meer gezichten er in de dataset zitten, he efficiënter deze met PCA gerepresenteerd kunnen wrden. PCA is dr de datareductie erg geschikt vr data analyse waarbij snelheid van belang is.