Zastanawiam się tylko, czy ktoś tam wie o implementacji rozkładu wartości osobliwej (SVD) w Javie dla dużych, rzadkich macierzy? Potrzebuję tej implementacji do ukrytej analizy semantycznej (LSA).Implementacja Java rozkładu pojedynczej wartości dla dużych rzadkich macierzy
Próbowałem pakietów z UJMP i JAMA, ale dławią się, gdy liczba wierszy> = 1000 i col> = 500. Jeśli ktoś może wskazać mi psuedocode lub coś tam, byłoby to bardzo doceniane.
Odpowiedź w [innym pytaniu] (http://stackoverflow.com/questions/1750463/singular-value-discomposition-implementation), która była prawie taka sama, była próba [Colt] (http: //acs.lbl .gov/~ hoschek/colt /). –
Cóż, kod dla klasy SingularValueDecomposition w obu Colt i JAMA są prawie identyczne. co więcej, kod działa tylko wtedy, gdy m> n (liczba wierszy jest większa niż liczba kolumn). także, myślę, że algorytmy nie są zoptymalizowane dla rzadkich macierzy. – jake
Stan m> n nie przeszkadza mi. w rzeczywistości dla mnie 99,99% czasu, m> n, zawsze będzie miało miejsce (wiersze reprezentują słowa i cols oznaczają dokumenty). po prostu to ograniczenie nie jest jasno udokumentowane. – jake