Jak wybrać optymalną liczbę ukrytych czynników w nieujemnym rozkładzie macierzy?


16

Biorąc pod uwagę macierz , Faktoryzacja macierzy nieujemnej (NMF) znajduje dwie nieujemne macierze i ( tzn. ze wszystkimi elementami ) do reprezentowania rozłożonej macierzy jako:Vm×nH k × n0Wm×kHk×n0

VWH,

na przykład wymagając, aby nieujemne i zminimalizowały błąd rekonstrukcjiHV - W H 2 .WH

VWH2.

Czy istnieją powszechne praktyki szacowania liczby k w NMF? Jak można na przykład zastosować w tym celu weryfikację krzyżową?


Nie mam żadnych cytatów (właściwie przeprowadziłem szybkie wyszukiwanie w Google Scholar i nie znalazłem żadnego), ale uważam, że krzyżowa walidacja powinna być możliwa.
ameba mówi Przywróć Monikę

2
Czy możesz mi powiedzieć więcej szczegółów na temat przeprowadzania weryfikacji krzyżowej dla NMF? Wartości K dla Normy Frobeniusa będą zawsze zmniejszać się wraz ze wzrostem liczby K.
Steve Sailer

Po co robisz NMF? Czy ma reprezentować w przestrzeni o niższych wymiarach (bez nadzoru), czy ma przedstawiać zalecenia (nadzorowane). Jak duże jest twoje ? Czy musisz wyjaśnić pewien procent wariancji? Możesz zastosować CV po zdefiniowaniu obiektywnych wskaźników. Zachęcam do przemyślenia zastosowania i znalezienia sensownej metryki. VVV
ignorant

Odpowiedzi:


10

Aby wybrać optymalną liczbę ukrytych czynników w nieujemnym rozkładzie macierzy, użyj weryfikacji krzyżowej.

Jak pisałeś, celem NMF jest znalezienie niskiego wymiaru i ze wszystkimi nieujemnymi elementami minimalizującymi błąd rekonstrukcji . Wyobraź sobie, że pomijamy jeden element , np. , i wykonujemy NMF uzyskanej macierzy z jedną brakującą komórką. Oznacza to znalezienie i minimalizujących błąd rekonstrukcji dla wszystkich brakujących komórek:WHVWH2VVabWH

ijab(Vij[WH]ij)2.

Po wykonaniu tej czynności możemy przewidzieć pominięty element , obliczając i obliczyć błąd prognozyMożna powtórzyć tę procedurę, pomijając wszystkie elementy jeden po drugim, i zsumować błędy prognozowania dla wszystkich i . Spowoduje to ogólną wartość PRESS (przewidywana rezydualna suma kwadratów) która będzie zależeć od . Mam nadzieję, że funkcja będzie miała minimum, które można wykorzystać jako „optymalne” .Vab[WH]ab

eab=(Vab[WH]ab)2.
VababE(k)=abeabkE(k)k

Zauważ, że może to być kosztowne obliczeniowo, ponieważ NMF musi być powtarzane dla każdej pominiętej wartości, a także może być trudne do zaprogramowania (w zależności od tego, jak łatwo wykonać NMF z brakującymi wartościami). W PCA można obejść ten problem, pomijając pełne rzędy (co znacznie przyspiesza obliczenia), zobacz moją odpowiedź w Jak przeprowadzić weryfikację krzyżową dla PCA w celu ustalenia liczby głównych składników? , ale nie jest to możliwe tutaj.V

Oczywiście obowiązują tutaj wszystkie zwykłe zasady walidacji krzyżowej, więc można pominąć wiele komórek na raz (zamiast tylko jednej) i / lub powtórzyć procedurę tylko dla niektórych losowych komórek zamiast zapętlać wszystkie komórki. Oba podejścia mogą pomóc przyspieszyć proces.

Edycja (marzec 2019 r.): Zobacz ten bardzo ładny ilustrowany opis autorstwa @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex używa https://github.com/kimjingu/nonnegfac-python dla NMF z brakującymi wartościami.


4

Według mojej wiedzy istnieją dwa dobre kryteria: 1) współczynnik korelacji kopenetycznej i 2) porównanie resztkowej sumy kwadratów z danymi losowymi dla zestawu rang (być może jest na to nazwa, ale nie pamiętam)

  1. Współczynnik korelacji kopenetycznej: Powtarzasz NMF kilka razy na rangę i obliczasz, jak podobne są wyniki. Innymi słowy, jak stabilne są zidentyfikowane klastry, biorąc pod uwagę, że początkowe ziarno jest losowe. Wybierz najwyższą wartość K, zanim spadnie współczynnik kopenetyczny.

  2. RSS względem danych losowych W przypadku dowolnej metody redukcji wymiarów zawsze występuje utrata informacji w porównaniu do danych oryginalnych (oszacowanych przez RSS). Teraz wykonaj NMF w celu zwiększenia K i oblicz RSS z oryginalnym zestawem danych i losowym zestawem danych. Porównując RSS w funkcji K, RSS zmniejsza się wraz ze wzrostem K w oryginalnym zestawie danych, ale w mniejszym stopniu dotyczy to losowego zestawu danych. Porównując oba zbocza, w miejscu przecięcia powinna znajdować się litera K. Innymi słowy, ile informacji możesz sobie pozwolić na utratę (= najwyższe K), zanim znajdziesz się w hałasie.

Mam nadzieję, że byłem wystarczająco jasny.

Edycja: Znalazłem te artykuły.

1.Jean-P. Brunet, Pablo Tamayo, Todd R. Golub i Jill P. Mesirov. Wykrywanie metagenów i wzorców molekularnych za pomocą faktoryzacji macierzy. W Proceedings of the National Academy of Sciences of the USA, 101 (12): 4164-4169, 2004.

2.Attila Frigyesi i Mattias Hoglund. Nieujemna faktoryzacja macierzy do analizy złożonych danych dotyczących ekspresji genów: identyfikacja klinicznie istotnych podtypów nowotworów. Cancer Informatics, 6: 275–292, 2008.


Nie jest jasne, dlaczego RSS losowych danych powinien być niższy niż RSS obliczony z oryginalnymi danymi, gdy K jest mały? Co do reszty, rozumiem, że losowy RSS powinien zmniejszać się wolniej niż w oryginalnych Danych.
Malik Koné

1

W faktoryzacji NMF parametr (zauważyć R w większości literatura) jest stopień zbliżania V i jest wybrany tak, że K < min ( m , n ) . Wybór parametru określa reprezentację twoich danych V w całościowej bazie złożonej z kolumn W ; W I  ,  i = 1 , 2 , , k . W rezultacie szeregi macierzy W i H mają górną granicękrVk<min(m,n)VWwi , i=1,2,,kWH i produkt W H jest niski stopień zbliżanie V ; takżeco najwyżej k . Zatem wybór k < min ( m , n ) powinien stanowić zmniejszenie wymiarów, w którym V może być generowane / rozciągane z wyżej wymienionych wektorów bazowych.kWHVkk<min(m,n)V

Dalsze szczegóły można znaleźć w rozdziale 6 tej książki S. Theodoridis i K. Koutroumbas.

Po zminimalizowaniu wybranej funkcji kosztu w odniesieniu do i H , optymalny wybór k ( wybrany empirycznie przez pracę z różnymi podprzestrzeniami cech) powinien dać V , przybliżenie V , z cechami reprezentatywnymi dla początkowej macierzy danych V . WHkVVV

Praca z różnych funkcji podrzędnych przestrzeni w tym sensie, że liczbę kolumn w W , jest liczba wektorów bazowych w NMF sub-przestrzeni. I empirycznie pracy z różnymi wartościami k jest równoznaczne z pracy z różnych miejsc o obniżonej wymiarowości fabularnych.kWk


4
k

kk

2
Twoje wyjaśnienie faktoryzacji NMF ma całkowity sens, ale początkowe pytanie dotyczyło szczególnie powszechnych praktyk szacowania k. Teraz napisałeś, że można wybrać k „empirycznie” (dobrze) „pracując z różnymi podprzestrzeniami funkcji”. Nie jestem pewien, czy rozumiem, co oznacza „praca z różnymi podprzestrzeniami funkcji”. Czy możesz to rozwinąć? Jak z nimi pracować? Jaki jest przepis na k? O to właśnie chodzi w pytaniu (przynajmniej tak, jak je rozumiałem). Z przyjemnością cofnę moją opinię!
ameba mówi Przywróć Monikę

2
k

1
k
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.