-
Data: 2010-09-09 14:08:27
Temat: Re: rzadkie dane do układu równań liniowych
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 9 Wrz, 12:11, bartekltg <b...@g...com> wrote:
> Mówiłem to ostatnio, mialem to raz jeszcze napisać
> w odpowiedzi ktorą powolitku pisze dla drugiej odnogi wątku,
> ale wspomne o tym teraz: moze jednak zatrudnijcie jakiegos
> matematyka/numeryka.
Żałuję, ale to nie przejdzie z dwóch powodów:
1) nie ma funduszy choćby na przeciętne wynagrodzenie
2) bardzo specyficzne wymagania co do poufności
> Cormen nie jest podręcznikiem do numerkow;)
Ale Cormena najłatwiej trawię. W Cormenie jest
probabilistyczny algorytm mnożenia macierzy
bolowskich, może to nasunie jakieś rozwiązanie.
> Nazywasz dwie macierze ta samną literką? To sie nie dogadamy;)
> Nazwijmy B=A^t*A.
>
> B rzeczywiscie jest gęsta, ale A jest rzadka.
Teraz wszystko jasne.
> Dla przypomnienia, zagadnienie jest n*N n>N (n=1000N)
> N=K*M.
> A ma n*K niezerowych elementow.
Zgadza się
> Nie kazda metoda zminimalizowania norm(Ax-b)
> opiera sie na operacjach na maczierzy B.
Świetnie, tego szukam.
> Jest druga 'szkolna' metoda, przez rozklad QR.
>
> A=QR
> R=[R_1; 0]
> liczymy Q^t *b, powstaly wektor obcianmy
> no N wspolrzednych (wektor w) i rozwiazujemy
> uklad trojkatny
>
> R_1 x = w.
>
> Jako zalazek do poszukiwan:http://en.wikipedia.org/wiki/Numerical_me
thods_for_linear_least_squar...
>
> QR jest czasem lepsze, bo "operujemy na A" a nie na "A kwadarat".
Dokładnie czegoś takiego potrzebuję.
> Uwarunkowanie!
> No, ta metoda (ani SVD) do tego zagadnienia tez sie nie specjalnie nie
> nadadza.
Hmmmm
> > On 6 Wrz, 17:33, bartekltg <b...@g...com> wrote:> Ile jest wektorów?
powiedzmy n >> N.
> > A jeśli N jest równe milion? :)
>
> Hmm, to ciezko bedzie:) Skąd wezmiesz 8 pata(10^15) bajtow dysku:)
Nawet 10^15 by nie starczyło :)
> > Oryginalny wektor ma niecałe 100 wartości ze małego zbioru
> > liczb całkowitych, np. <-7,+7>. Wektor ten będzie mapowany
> > przy pomocy nieliniowej funkcji w dużo większy wektor
> > zero-jedynkowy o takich własnościach jak napisałem - tylko
> > jedna jedynka w każdej części.
>
> A nie działa to dlagtego, ze jest ladnie losowo i na kazdą
> z grup przypada 'tele samo wektora'?
Całkiem możliwe.
> Są algorytmy 'iteracyjne', w tym 'randomizowane'.
> mozna pojsc w tym kierunku, zwlaszcza, ze dane
> naplywają stopniowo.
>
> Mozna 'na raz' optymalizować wiecej niz jeden skladnik
> wektora wspolczynnikow x, ale na oko nie jest to oplacalne.
Można próbować gradientów sprzężonych, ale to się
skończy ogromną ilością iteracji...
> Uzywamy wlasciwie tylko mnozenia przez rzadką A
> (musisz ja zapisać rozsadnie, aby nie iterowc po zerach).
> ilosc potrzebnych interacji to juz inna sprawa, jesli masz
> gigabajty, to nie spodziewaj sie szybko wyniku;)
Jeśli nie da się szybko, to będę musiał zrobić inne mapowanie
wektorów, nie będzie wyjścia.
> Powinno sie wygoglac bardziej zaawansowane tego typu metody,
> poszukaj po least squares, sparse, moze cos o iterowaniu i wariacje.
>
> Zupelnie inna metoda. Reszta r=Ax-b spełnia dla optymalnego x
> A^t * r =0.
> Uklad rownan mozemy zapisać lacznie jako
> [ I A] [x]
> [ A^t 0 ] [r]
> =
> [b]
> [0]
>
> I -macierz jednostkowa. Zagadnienie jest znacznie wieksze,
> ale macierz jest nadal rzadka (rzedu n*(2*K+1) elementow ).
> Jesli K jest małe, jakaś sprytniejsza metoda iteracyjna rozwiazywania
> rownan liniowych da wynik szybko (pewnei precondicioner by sie
> przydal)
Hmmmm wygląda sensownie. W pamięci tylko dane, a dane dadzą
się skompresować 1000 krotnie. Może to dobry kierunek.
> Zaletą jest, ze (w wersji bez prec.) nie trzymamy w pamieci zadnej
> macierzy,
> tylko iterowany wektor (rozmiar n+N). A mnozenie, jesli odpowqiednio
> zapiszesz swoją macierz (wektory z pomiarow), zajmuje tylko tyle
> czasu,
> ile jest niezerowych elementow.
Będę musiał to sprawdzić.
> Bardzo mozliwe, ze w tym przypadku da sie zastosowac albo wymyslic
> jakis prosty (aby dal sie w biegu liczyc, byl oparty na A etc, aby nie
> trzymac
> duzej macierzy w pamieci) precondiconer, przez co mozemy dostać
> przyzwoite
> rozwiązania przy niewielkiej ilosci iteracji. Ale to juz na dłuzsze
> głowkowanie.
> Zaletą metod iteracyjnych bedize tez to, ze jesli dojdą nowe wektory
> (skladniki A)
> to juz mamy obliczony wczesniej przyzwoity punkt startowy.
Ta zaleta się nie przyda, przy nowym mapowaniu nieliniowym wszystkie
całkowicie się zmienia i metoda musi liczyć na nowo :)
> Przy okazji, Y. Saad na swojej stronie wystawił wielka ksiązke do
> matod iteracyjnych:)
Ok, dzięki może to dobry ślad :)
> pozdrawiam
również
Następne wpisy z tego wątku
- 09.09.10 14:50 Mariusz Marszałkowski
- 09.09.10 15:43 bartekltg
- 09.09.10 16:46 Mariusz Marszałkowski
- 09.09.10 17:07 bartekltg
- 09.09.10 17:49 Mariusz Marszałkowski
- 09.09.10 18:17 bartekltg
- 09.09.10 19:00 Mariusz Marszałkowski
- 09.09.10 19:02 Wit Jakuczun
- 09.09.10 19:04 Wit Jakuczun
- 14.09.10 18:31 Mariusz Marszałkowski
- 15.09.10 01:52 bartekltg
- 15.09.10 19:42 Mariusz Marszałkowski
- 15.09.10 19:57 bartekltg
- 16.09.10 01:08 Mariusz Marszałkowski
- 16.09.10 05:11 bartekltg
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=