Spektrální shlukování

Techniky spektrálního shlukování používají spektrum ( vlastní čísla ) matice podobnosti dat k provedení redukce rozměrů před shlukováním v prostorech nižších rozměrů. Matice podobnosti je uvedena jako vstup a skládá se z kvantitativních odhadů relativní podobnosti každé dvojice bodů v datech.

Při aplikaci na segmentaci obrazu je spektrální shlukování známé jako shlukování vlastností založené na segmentaci .

Algoritmy

Daný výčetný soubor datových bodů, podobnostní matice může být definována jako symetrická matice , kde prvky představují míru podobnosti mezi datovými body s indexy a . Obecným principem spektrálního shlukování je použití standardní metody shlukování (takových metod je mnoho, metoda k-means je diskutována níže ) na významných vlastních vektorech Kirchhoffovy matice matice . Existuje mnoho různých způsobů, jak definovat Kirchhoffovu matici, která má různé matematické interpretace, takže shlukování bude mít také různé interpretace. Významné vlastní vektory jsou ty, které odpovídají několika nejmenším vlastním hodnotám Kirchhoffovy matice, s výjimkou vlastních čísel 0. Pro efektivitu výpočtu jsou tyto vlastní vektory často počítány jako vlastní vektory odpovídající některým z největších vlastních čísel funkce Kirchhoffovy matice.

Jednou z technik pro spektrální shlukování je algoritmus normalizované sekce (nebo algoritmus Shi-Malik ) navržený Jiambo Shi a Jitendra Malik [1] , široce používaná metoda pro segmentaci obrazu . Algoritmus rozdělí body do dvou množin na základě vlastního vektoru odpovídajícího druhému největšímu vlastnímu číslu symetricky normalizované Kirchhoffovy matice dané vzorcem

kde je diagonální matice

Matematicky ekvivalentní algoritmus [2] používá vlastní vektor odpovídající největší vlastní hodnotě normalizované Kirchhoffovy matice náhodné procházky . Algoritmus Meil–Shi byl testován v kontextu difúzních map , u kterých bylo zjištěno, že mají spojitost s výpočetní kvantovou mechanikou [3] .

Další možností je použití Kirchhoffovy matice dané výrazem

spíše než symetricky normalizovaná Kirchhoffova matice.

Rozdělení lze provést různými způsoby, jako je výpočet mediánu složek druhého nejmenšího vlastního vektoru a umístění všech bodů do , jejichž složky v jsou větší než , zbytek bodů je umístěn do . Algoritmus lze použít pro hierarchické shlukování postupným rozdělením podmnožin podobným způsobem.

Pokud matice podobnosti ještě nebyla zkonstruována algebraicky, lze účinnost spektrálního shlukování zlepšit, pokud se řešení odpovídajícího problému - hledání vlastních čísel - provádí metodou bez matic (bez explicitní manipulace nebo dokonce výpočtu matice podobnosti), jako je Lanczosův algoritmus .

U grafů velké velikosti je druhá vlastní hodnota (normalizované) Kirchhoffovy matice grafu často špatně podmíněná , což vede k pomalé konvergenci iterativních metod hledání vlastních hodnot. Předběžná úprava je klíčovou technikou pro zlepšení konvergence, například v bezmaticové metodě LOBPCG . Spektrální shlukování bylo úspěšně aplikováno na velké grafy nejprve rozpoznáním struktury síťové komunity a poté shlukováním komunity [4] .

Spektrální shlukování úzce souvisí s nelineární redukcí dimenzionality a techniky redukce dimenzionality, jako je lokálně lineární vnoření, lze použít ke snížení chyby způsobené šumem nebo odlehlými hodnotami v pozorováních [5] .

Svobodný software pro implementaci spektrálního shlukování je dostupný ve velkých open source projektech, jako je Scikit-learn [6] , MLlib pro shlukování založené na pseudovlastních hodnotách pomocí metody power iterace [7] , jazyk R [8] .

Vztah s k - znamená

Problém k -means s nelineárním jádrem je rozšířením problému k -means, ve kterém jsou vstupní body mapovány nelineárně do vysokorozměrného prostoru funkcí pomocí funkce jádra . Problém váženého k -means s nelineárním jádrem tento problém dále rozšiřuje tím, že určuje váhu pro každý shluk jako hodnotu nepřímo úměrnou počtu prvků shluku,

Nechť je matice normalizovaných koeficientů pro každý bod libovolného shluku, kde , if , a 0 jinak. Nechť je matice jádra pro všechny body. Problém váženého k -means s nelineárním jádrem s n body a k shluky je definován jako problém maximalizace

za podmínek

Ve stejnou dobu . Kromě toho existuje omezení na koeficienty

,

kde je vektor jednotek.

Úkol lze převést na

Tento problém je ekvivalentní problému spektrálního shlukování, když je omezení na uvolněné. Konkrétně problém vážených k -means s nelineárním jádrem může být přeformulován jako problém spektrálního shlukování (rozdělení grafu) a naopak. Výstupem algoritmu jsou vlastní vektory, které nesplňují omezení pro proměnné indikátoru definované vektorem . Proto je nutné následné zpracování vlastních vektorů, aby úlohy byly ekvivalentní [9] . Transformace problému spektrálního shlukování na vážený problém k -means s nelineárním jádrem výrazně snižuje výpočetní náklady [10] .

Opatření pro porovnávání shlukování

Ravi Kannan, Santosh Vempala a Adrian Wetta [11] navrhli bikriteriální měřítko pro určení kvality shlukování. Říkají, že shlukování je (α, ε)-shlukování, pokud vodivost každého shluku je alespoň α a váha mezishlukových hran nepřesahuje ε zlomek hmotnosti všech hran v grafu. Ve stejném článku také zvažují dva aproximační algoritmy.

Viz také

Poznámky

  1. Shi, Malik, 2000 .
  2. Meilă, Shi, 2001 , str. 873–879.
  3. Scott, Therani, Wang, 2017 , str. 1-17.
  4. Zare, Shooshtari, Gupta, Brinkman, 2010 , str. 403.
  5. Arias-Castro, Chen, Lerman, 2011 , str. 1537–1587
  6. 2.3. Clustering - dokumentace scikit-learn 0.20.2 . Získáno 28. června 2017. Archivováno z originálu 15. května 2015.
  7. Clustering – API založené na RDD – Dokumentace Spark 2.4.0 . Získáno 28. června 2017. Archivováno z originálu 3. července 2017.
  8. CRAN - Package kernlab . Získáno 28. června 2017. Archivováno z originálu 27. června 2017.
  9. Dhillon, Guan, Kulis, 2004 , str. 551–556.
  10. Dhillon, Guan, Kulis, 2007 , str. 1-14.
  11. Kannan, Vempala, Vetta, 2000 , str. 497–515.

Literatura