Nors duomenų mokslininkai dažnai susiduria su abiem terminais matmenų mažinimo srityje, pagrindiniai komponentai apibūdina didžiausios dispersijos kryptis duomenų rinkinyje, o singuliarinės vertės matuoja mastelio keitimo išilgai tų geometrinių ašių dydį matricos skaidymo metu. Jų matematinio ryšio supratimas yra būtinas norint įvaldyti tokius algoritmus kaip PCA ir SVD.
Akcentai
Pagrindiniai komponentai lemia duomenų dispersijos erdvinę orientaciją, o singuliarinės vertės – skalę.
Tiesioginis matematinis tiltas juos sujungia tik tada, kai pagrindinė duomenų matrica yra tinkamai centruota pagal vidurkį.
SVD tiesiogiai apskaičiuoja singuliarines reikšmes, suteikdamas daug skaitmeniniu būdu stabilesnį kelią pagrindinių komponentų paieškai.
Pagrindiniai komponentai turi būti statmeni vienas kitam, o singuliarinės reikšmės yra griežtai neneigiami realieji skaičiai.
Kas yra Pagrindiniai komponentai?
Ortogonalūs vektoriai, rodantys didžiausios dispersijos kryptis, padedantys supaprastinti ir suspausti daugiamačius duomenis.
Jie tiesiogiai atitinka duomenų rinkinio kovariacijos matricos savuosius vektorius.
Pirmasis pagrindinis komponentas lemia didžiausią įmanomą duomenų dispersiją.
Kiekvienas paskesnis komponentas yra griežtai ortogonalus ankstesniems, užtikrinant nulinę koreliaciją.
Jie labai priklauso nuo duomenų mastelio keitimo, todėl vidurkio centravimas yra labai svarbus išankstinio apdorojimo žingsnis.
Inžinieriai juos naudoja didelių matmenų erdvėms projektuoti iki mažesnių matmenų, išsaugodami informaciją.
Pagrindiniai komponentai žymi konkrečias kryptis, kuriomis duomenys kinta labiausiai, ir veikia kaip naujos optimizuotos koordinačių sistemos ašys. Priešingai, singuliarinės vertės yra skaliariniai dydžiai, kurie parodo, kiek matrica ištempia arba suspaudžia erdvę išilgai tų ašių. Vienas nurodo duomenų debesies orientaciją, o kitas matuoja pačios transformacijos dydį.
Matematinis skaičiavimas
Norint tradiciniu būdu rasti pagrindinius komponentus, reikia apskaičiuoti duomenų rinkinio kovariacijos matricos savuosius vektorius. Singulinės vertės gaunamos iš singulinės vertės skaidymo, kai bet kuri matrica skyla į tris skirtingas komponentų matricas. Kai centruojate duomenis atimdami vidurkį, singulinės vertės kvadratas, padalytas iš imties dydžio atėmus vienetą, idealiai lygus to pagrindinio komponento dispersijai.
Jautrumas duomenų išankstiniam apdorojimui
Pagrindiniai komponentai smarkiai pasikeičia, jei pamirštate centruoti vidurkius arba standartizuoti duomenis, nes statistinė dispersija labai priklauso nuo pradžios taško ir kintamųjų skalės. Tačiau singuliarinės vertės yra pagrindinė pateiktos neapdorotos matricos algebrinė savybė. Jos neturi įtakos statistinėms prielaidoms, nebent vartotojas pirmiausia sąmoningai sukuria centruotą kovariacijos tipo matricą.
Praktinis pritaikymas pramonėje
Duomenų analitikai remiasi pagrindiniais komponentais, kad vizualizuotų sudėtingus, daugiamačius duomenų rinkinius paprastuose dvimatėse diagramose. Kita vertus, kompiuterinės regos inžinieriai naudoja singuliarines reikšmes vaizdams glaudinti ir rekomendavimo sistemoms, naudodami žemo rango matricų aproksimacijas. SVD iš tikrųjų yra pageidaujamas skaitmeninis variklis po PCA, nes skaičiuojant singuliarines reikšmes išvengiama tikslumo praradimo, kuris atsiranda kuriant kovariacijos matricą.
Privalumai ir trūkumai
Pagrindiniai komponentai
Privalumai
+Puikiai tinka duomenų vizualizavimui
+Pašalina multikolinearumą
+Efektyviai sumažina triukšmą
+Supaprastina mašininio mokymosi modelius
Pasirinkta
−Trūksta tiesioginės fizinės reikšmės
−Labai jautrus pašaliniams reiškiniams
−Reikalingas griežtas išankstinis apdorojimas
−Informacija prarandama
Vienaskaitos vertės
Privalumai
+Veikia su bet kokia matrica
+Skaitmeniškai labai stabilus
+Puikiai tinka žemo rango aproksimacijai
+Akimirksniu parodo matricos rangą
Pasirinkta
−Abstrakti matematinė koncepcija
−Skaičiavimo požiūriu brangu didelėms matricoms
−Trūksta būdingo statistinio konteksto
−Interpretacijai reikalinga tiesinė algebra
Dažni klaidingi įsitikinimai
Mitas
Pagrindiniai komponentai ir singuliarinės vertės yra visiškai nepriklausomos sąvokos.
Realybė
Jie yra glaudžiai susiję dėl duomenų centravimo. Kai duomenų matrica atima vidurkį, jos singuliarinės vertės yra tiesiogiai proporcingos pagrindinių komponentų dispersijų kvadratinėms šaknims.
Mitas
Norint rasti pagrindinius komponentus, visada reikia apskaičiuoti kovariacijos matricą.
Realybė
Šiuolaikinė programinė įranga retai apskaičiuoja kovariacijos matricą, nes ji sukelia skaitines apvalinimo klaidas. Vietoj to, algoritmai tiesiogiai vykdo SVD duomenų matricoje, daug saugiau ir efektyviau išskirdami pagrindinius komponentus.
Mitas
Vienaskaitos reikšmės gali būti neigiamos, jei duomenys rodo neigiamą koreliaciją.
Realybė
Singulinės reikšmės pagal apibrėžimą yra teigiamos kvadratinės šaknys iš simetrinės matricos tikrinių reikšmių. Jos visada yra neneigiami realieji skaičiai, žymintys ilgius arba tempimo koeficientus, neatsižvelgiant į pradinių duomenų koreliacijas.
Mitas
Pridėjus pastovią reikšmę visiems duomenų taškams, vienodai pasikeičia ir singuliarinės reikšmės, ir pagrindinės komponentės.
Realybė
Duomenų perkėlimas konstanta pakeičia singuliarines vertes, nes keičiasi neapdorotos matricos įrašai. Tačiau kadangi pagrindiniai komponentai remiasi kovariacijos matrica, kuri savaime atima vidurkį, duomenų perkėlimas visiškai nepakeičia pagrindinių komponentų.
Mitas
Pirmasis pagrindinis komponentas visada fiksuoja visą vertingą informaciją.
Realybė
Pirmasis komponentas fiksuoja tik didžiausią dispersiją išilgai vienos ašies. Jei jūsų duomenys pasiskirstę sferiškai arba juose yra kritinių netiesinių modelių, vienas tiesinis komponentas gali visiškai nepastebėti svarbiausių struktūrų.
Dažnai užduodami klausimai
Kaip konvertuoti singuliarinę reikšmę į pagrindinio komponento dispersiją?
Jei turite vidurkio centruotą duomenų matricą su tam tikru imčių skaičiumi, singuliarinę reikšmę pakeliate kvadratu ir padalijate ją iš imties dydžio atėmus vienetą. Ši matematinė operacija pateikia tikslią kovariacijos matricos savąją reikšmę, kuri parodo dispersiją, kurią užfiksuoja tas konkretus pagrindinis komponentas.
Ar galima atlikti PCA nenaudojant SVD?
Taip, pagrindinius komponentus galima rasti aiškiai apskaičiuojant kovariacijos matricą ir tada randant jos savivektorius taikant klasikinę savivektorių skaidymą. Tačiau šis metodas yra skaitmeniniu požiūriu mažiau stabilus ir labiau linkęs į slankiojo kablelio paklaidas nei SVD metodas, todėl SVD yra pramonės standartas.
Kodėl duomenų centravimas yra toks svarbus pagrindiniams komponentams?
PCA siekia maksimaliai padidinti dispersiją aplink duomenų debesies centrą. Jei duomenų vidurkis nebus perkeltas į pradžios tašką, pirmasis pagrindinis komponentas tiesiog bus nukreiptas nuo pradžios taško link duomenų klasterio centro, todėl nepavyks užfiksuoti vidinės geometrinės dispersijos struktūros.
Kas atsitinka, jei matricos singuliarinė reikšmė yra lygi nuliui?
Nulinė singuliarinė reikšmė reiškia, kad matrica neturi rango ir negali būti invertuojama. Geometriškai tai reiškia, kad tiesinė transformacija bent vieną dimensiją suspaudžia iki visiškai plokščios, sutraukdama tūrį į plokštumą arba liniją.
Ar pagrindiniai komponentai yra tas pats kaip savieji vektoriai?
Jie yra glaudžiai susiję, tačiau skiriasi terminologija. Pagrindiniai komponentai yra faktiniai projektuojami duomenų taškai išilgai naujų ašių, nors daugelis praktikų šnekamojoje kalboje vartoja šį terminą pagrindinėms kryptims, kurios iš tiesų yra kovariacijos matricos savivektoriai, apibūdinti.
Kas geriau tinka vaizdų glaudinimui – PCA ar SVD?
SVD paprastai yra pageidaujamas ir tiesesnis vaizdų glaudinimo metodas, vadinamas žemo rango aproksimacija. Kadangi vaizdas jau yra struktūrizuota pikselių matrica, o ne statistinis nepriklausomų stebėjimų imtis, SVD sutrumpina mažiausiai reikšmingas vienaskaitos reikšmes, kad sklandžiai sumažintų failo dydį.
Kiek pagrindinių komponentų turėčiau laikyti modelyje?
Įprastas metodas yra peržiūrėti skristi diagramą arba apskaičiuoti sukauptą paaiškintą dispersiją naudojant singuliarines vertes. Dauguma duomenų mokslininkų siekia išlaikyti pakankamai komponentų, kad užfiksuotų 80–95 % bendros dispersijos, priklausomai nuo konkretaus projekto triukšmo lygio.
Ar singuliarinės vertės pasikeičia, jei transponuojate matricą?
Ne, matricos transponavimas nekeičia jos singuliarinių reikšmių. Matricos ir jos transponuotos nenulinės singuliarinės reikšmės išlieka visiškai identiškos, nes jų atitinkamų tarpinių sandaugų matricų savosios reikšmės yra visiškai vienodos.
Kuo skiriasi savoji reikšmė ir singuliarinė reikšmė?
Tikrosios reikšmės apibrėžiamos tik kvadratinėms matricoms ir gali būti kompleksiniai skaičiai, rodantys, kaip vektorius keičiasi nekeičiant krypties. Vienaskaitos reikšmės taikomos bet kuriai matricai, visada yra realiosios ir neneigiamos, ir žymi maksimalų vienetinės sferos ištempimą transformacijos metu.
Nuosprendis
Rinkitės pagrindinius komponentus, kai jūsų pagrindinis tikslas yra interpretuoti, vizualizuoti arba sumažinti statistinio duomenų rinkinio ypatybes remiantis dispersija. Rinkitės singuliarines reikšmes, kai reikia spręsti tiesines sistemas, suspausti matricas arba atlikti stabilius skaitinius skaičiavimus, nesijaudinant dėl statistinio išankstinio apdorojimo.