účelem tohoto příspěvku je poskytnout kompletní a zjednodušené vysvětlení, Analýza Hlavních Komponent, a zejména na odpověď, jak to funguje, krok za krokem, tak, že každý může pochopit a využít, aniž by nutně museli silné matematické zázemí.
PCA je vlastně široce zahrnuty metoda na webu, a tam jsou některé skvělé články o tom, ale jen málo z nich jít rovnou k věci a vysvětlit, jak to funguje bez potápění příliš do technických a „proč“ věci., To je důvod, proč jsem se rozhodl vytvořit svůj vlastní příspěvek, abych ho představil zjednodušeným způsobem.
Než se dostaneme k vysvětlení, tento příspěvek poskytuje logické vysvětlení toho, co PCA dělá v každém kroku a zjednodušuje matematické pojmy, za to, jak standardizace, kovariance, vlastní vektory a vlastní čísla, aniž by se zaměřením na to, jak vypočítat.
co je hlavní analýza komponent?,
Analýza Hlavních Komponent, nebo PCA, je dimenzionality-snížení metodu, která se často používá ke snížení dimenzionality velkých datových souborů, tím, že změní velký soubor proměnných do menšího, že stále obsahuje většinu informací ve velkém sadu.
snížení počtu proměnných datové sady přirozeně přichází na úkor přesnosti, ale trik v redukci dimenzionality je obchodovat s malou přesností pro jednoduchost., Protože menší datové sady jsou jednodušší prozkoumat a vizualizovat a analyzovat data mnohem jednodušší a rychlejší pro algoritmy strojového učení bez cizích proměnných ke zpracování.
abych to shrnul, myšlenka PCA je jednoduchá-snížit počet proměnných datové sady a zároveň zachovat co nejvíce informací.
Vysvětlení, Krok za krokem PCA
Krok 1: Standardizace
cílem tohoto kroku je standardizovat rozsah kontinuální počáteční proměnné tak, aby každý z nich přispívá rovněž k analýze.,
konkrétněji je důvodem, proč je důležité provést standardizaci před PCA, je to, že je velmi citlivá na odchylky počátečních proměnných. To znamená, že pokud existují velké rozdíly mezi rozsahy počáteční proměnné, proměnné s většími rozsahy bude dominovat nad těmi s malými rozsahy (například proměnná, která se pohybuje mezi 0 a 100 bude dominovat nad proměnnou, která se pohybuje mezi 0 a 1), což bude vést ke zkreslené výsledky. Takže transformace dat na srovnatelné váhy může tomuto problému zabránit.,
matematicky to lze provést odečtením průměru a dělením standardní odchylky pro každou hodnotu každé proměnné.
po dokončení standardizace budou všechny proměnné transformovány do stejné stupnice.
Krok 2: Kovarianční Maticové výpočty
cílem tohoto kroku je, aby pochopili, jak proměnné vstupních dat jsou různé od mysli s respektem k sobě, nebo jinými slovy, jestli existuje nějaký vztah mezi nimi., Protože někdy jsou proměnné vysoce korelovány tak, že obsahují nadbytečné informace. Abychom identifikovali tyto korelace, vypočítáme kovarianční matici.
kovarianční matice je symetrická matice p × p (kde p je počet rozměrů), která má jako položky kovariance spojené se všemi možnými páry počátečních proměnných., Například pro 3-dimenzionální datová sada s 3 proměnné x, y a z, kovarianční matice 3×3 matice z:
Od kovarianční proměnné sama se sebou, je jeho rozptyl (Cov(a,a)=Var(a)), v hlavní diagonále (v levém Horním rohu na pravé dolní části) ve skutečnosti máme rozptylů každou původní proměnnou., A od kovariance je komutativní (Cov(a,b)=Cov(b,a)), údaje z kovarianční matice je symetrická podle hlavní diagonály, což znamená, že horní a dolní trojúhelníkové části jsou stejné.
co nám kovariance, které máme jako zápisy matice, říkají o korelacích mezi proměnnými?,
je To vlastně znamení, kovariance, na které záleží.
- je-li pozitivní, pak : dvě proměnné zvýšit nebo snížit dohromady (korelaci)
- je-li záporný pak : Jeden se zvyšuje, když jiné snižuje (Nepřímo spojeny)
Nyní, že víme, že kovarianční matice není větší než stůl, že shrnutí korelací mezi všemi možnými dvojicemi proměnných, pojďme se přesunout k dalšímu kroku.,
Krok 3: Vypočtěte vlastní vektory a vlastní čísla kovarianční matice pro identifikaci hlavních komponent
vlastní Vektory a vlastní čísla jsou lineární algebra pojmy, které musíme vypočítat z kovarianční matice s cílem určit hlavní složky data. Než se dostaneme k vysvětlení těchto pojmů, nejprve pochopíme, co máme na mysli hlavními složkami.
hlavní složky jsou nové proměnné, které jsou konstruovány jako lineární kombinace nebo směsi počátečních proměnných., Tyto kombinace se provádějí tak, že nové proměnné (tj. hlavní komponenty) jsou nekorelované a většina informací v rámci počátečních proměnných je stlačena nebo komprimována do prvních komponent. Takže, nápad je 10-dimenzionální dat, vám dává 10 hlavních komponent, PCA ale snaží se dát maximum informací v první části, pak maximální zbývající informace v druhém a tak dále, dokud se s něčím, jako je uvedeno v suti pozemek pod.,
Organizování informací v hlavních komponent tímto způsobem, bude vám umožní snížit dimenzionalitu bez ztráty mnoho informací, a tím vyřazení komponenty s nízkými informace a s ohledem na zbývající komponenty jako nové proměnné.,
důležitou věc, kterou si uvědomit, je, že hlavní komponenty jsou méně interpretovatelné a nemají žádný skutečný význam, protože jsou konstruovány jako lineární kombinace původních proměnných.
geometricky řečeno, hlavní složky představují směry dat, které vysvětlují maximální množství rozptylu,tj., Vztah mezi rozptylem a informace zde, je to, že čím větší rozptyl provádí linie, tím větší je rozptyl datových bodů po ní, a čím větší je rozptyl podél čáry, tím více informací, které má. Jednoduše řečeno, přemýšlejte o hlavních součástech jako o nových osách, které poskytují nejlepší úhel pro zobrazení a vyhodnocení dat, aby byly rozdíly mezi pozorováními lépe viditelné.
Zaregistrujte se zdarma a získejte další příběhy o vědě o datech, jako je tento.,
Jak PCA Konstrukce Hlavních Komponent
existuje tolik hlavních komponent, jako jsou proměnné v datech, hlavní komponenty jsou konstruovány takovým způsobem, že první hlavní komponenta vysvětluje největší možný rozptyl v datové sadě. Předpokládejme například, že rozptylový graf naší datové sady je uveden níže, můžeme odhadnout první hlavní složku ?, Ano, Je to přibližně čára, která odpovídá fialovým značkám, protože prochází původem a je to čára, ve které je projekce bodů (červené tečky) nejrozšířenější. Nebo, matematicky řečeno, je to linie, která maximalizuje rozptyl (průměr druhých mocnin vzdáleností od předpokládané body (červené tečky) do původu).
druhou hlavní složkou je vypočítána stejným způsobem, s podmínkou, že je nekorelované s (tj. kolmo k) první hlavní komponenta, a že to představuje nejvyšší rozptyl.,
toto pokračuje, dokud nebude vypočítáno celkem hlavních složek p, které se rovnají původnímu počtu proměnných.
Teď, že jsme pochopili, co máme na mysli hlavní komponenty, vraťme se k vlastní vektory a vlastní čísla. Nejprve o nich musíte vědět, že vždy přicházejí ve dvojicích, takže každý eigenvektor má vlastní hodnotu. A jejich počet se rovná počtu rozměrů dat. Například pro 3-dimenzionální datovou sadu existují 3 proměnné, proto existují 3 vlastní vektory se 3 odpovídajícími vlastními hodnotami.,
Bez dalších okolků, je to vlastní vektory a vlastní hodnoty, kteří jsou za všechno kouzlo bylo vysvětleno výše, protože vlastní vektory Kovarianční matice jsou ve skutečnosti směry os tam, kde je nejvíce rozptylu(nejvíce informace) a které nazýváme Hlavní Komponenty. A vlastní čísla jsou pouze koeficienty připojené k vlastní vektory, které dávají množství rozptylu provádí v jednotlivých Hlavních Komponent.
hodnocením vlastních vektorů v pořadí podle jejich vlastních hodnot, nejvyšší až nejnižší, získáte hlavní komponenty v pořadí podle významu.,
Příklad:
předpokládejme, že náš soubor dat je 2-dimenzionální s 2 proměnných x,y a že vlastní vektory a vlastní čísla kovarianční matice jsou následující:
Pokud budeme hodnotit vlastní hodnoty v sestupném pořadí, dostaneme λ1>λ2, což znamená, že vlastní vektor, který odpovídá první hlavní komponenta (PC1) je v1 a jeden, který odpovídá druhá komponenta (PC2) isv2.,
Poté, co hlavní komponenty, spočítat procento rozptylu (informace) připadá na každou komponentu, můžeme rozdělit na vlastní čísla jednotlivých komponent tím, že součet vlastních čísel. Pokud to použijeme na výše uvedeném příkladu, zjistíme,že PC1 a PC2 nesou 96% a 4% rozptylu dat.
Krok 4: příznakový Vektor
Jak jsme viděli v předchozím kroku, výpočet vlastní vektory a jejich objednávání tím, že jejich vlastní hodnoty v sestupném pořadí, nám umožní najít hlavní komponenty v pořadí významnosti., V tomto kroku, co děláme, je, aby si vybrat, zda chcete zachovat všechny tyto komponenty, nebo vyřadit ty menší význam (nízké vlastní hodnoty), a tvoří s ostatní matice vektorů, který nazýváme Funkce vektor.
takže vektor funkcí je jednoduše matice, která má jako sloupce eigenvektory komponent, které se rozhodneme zachovat. To z něj dělá první krok ke snížení dimenzionality, protože pokud se rozhodneme ponechat pouze p eigenvektory (komponenty) mimo n, konečná datová sada bude mít pouze p rozměry.,
Příklad:
Pokračovat v příkladu z předchozího kroku, můžeme buď tvořit příznakový vektor s oběma vektory v1 a v2:
Nebo zrušit vlastní vektor v2, což je jeden z menší význam, a tvoří příznakový vektor v1 pouze:
Vyřazení vlastní vektor v2 bude snížit dimenzionalitu do 1, a následně způsobit ztrátu informace v posledním souboru údajů., Ale vzhledem k tomu, že v2 nesl pouze 4% informací, ztráta nebude proto důležitá a stále budeme mít 96% informací, které nese v1.
Tak, jak jsme viděli v příkladu, je to jen na vás vybrat si, zda chcete zachovat všechny součásti nebo vyřadit ty menší význam, v závislosti na tom, co hledáte. Protože pokud chcete pouze popsat vaše data z hlediska nových proměnných (hlavních komponent), které jsou nekorelované, aniž byste se snažili snížit dimenzionalitu, není třeba vynechávat méně významné komponenty.,
Poslední Krok: Přepracování Dat Podél Hlavních Komponent Osy
V předchozích krocích, na rozdíl od standardizace, nemusíte provádět žádné změny na údaje, stačí vybrat hlavní komponenty a tvoří příznakový vektor, ale vstupních dat zůstává vždy v oblasti původní os (i.e, pokud jde o počáteční proměnné).,
V tento krok, který je poslední, cílem je využít funkce vektor tvořeny pomocí vlastní vektory kovarianční matice, aby přehodnotila data z původní osy pro ty, zastoupené hlavní komponenty (odtud název Analýzy Hlavních Komponent). To lze provést vynásobením transponování původních dat nastavených transponováním vektoru funkcí.
* * *
Zakaria Jaadi je datový vědec a strojového učení technik. Podívejte se na více jeho obsahu o tématech vědy o datech na médiu.
Leave a Reply