eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingmatlab taki wydajny?Re: matlab taki wydajny?
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    s.nask.pl!news.nask.org.pl!goblin2!goblin1!goblin.stu.neva.ru!postnews.google.c
    om!a5g2000yqi.googlegroups.com!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: matlab taki wydajny?
    Date: Fri, 5 Feb 2010 13:58:52 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 85
    Message-ID: <7...@a...googlegroups.com>
    References: <5...@a...googlegroups.com>
    <hj1kmo$lt3$1@solani.org>
    <3...@v...googlegroups.com>
    <hj1qkn$6a9$1@solani.org>
    <6...@e...googlegroups.com>
    <hj1st9$qrf$1@news.onet.pl>
    <5...@2...googlegroups.com>
    <hj2c9j$7u5$1@news.onet.pl> <hkc9r4$ndj$1@news.interia.pl>
    <6...@l...googlegroups.com>
    <2...@f...googlegroups.com>
    <7...@n...googlegroups.com>
    NNTP-Posting-Host: 82.210.189.188
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1265407132 9692 127.0.0.1 (5 Feb 2010 21:58:52 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 5 Feb 2010 21:58:52 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: a5g2000yqi.googlegroups.com; posting-host=82.210.189.188;
    posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2)
    Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729),gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:184718
    [ ukryj nagłówki ]

    On 5 Lut, 18:17, Mariusz Marszałkowski <m...@g...com> wrote:
    > Mam parametry wejsciowe x_i i np. jeden parametr wyjsciowy y.
    > Nastepnie rozszerzam parametry wejsciowe o jeden dodatkowy
    > przez poddanie nieliniowej funkcji kazdej kombinacji funkcja( x_i ,
    > x_j ).
    > Jesli mam 50 parametrow wejsciowych, to wychodzi 2500 kombinacji.
    > WIec trzeba 2500 razy ulozyc uklad rownan normalnych, kazdy
    > rozwiazac i podac kombinacje x_i, x_j ktora daje najlepsze
    > dopasowanie.
    > To co zwraca funkcja( x_i , x_j ) traktujemy jako 51-szy parametr.

    Nie trzeba za kazdym razem ukladac calego zagadnienia...

    > > Tego ta funkcja nie zrobi. Jesli jednak dopuszczasz, aby w
    > > rozwiazaniu
    > > byly wszytkie, to niepotrzebne beda mialy maly wspolczynnik i tyle
    >
    > To też dobra metoda, szczegolnie jesli do glownej przekatnej doda
    > sie pewne liczby wieksze od zera.

    ?

    > Raczej parametr * funkcja( x_i , x_j )

    Czyli to cały czas liniowe zagadneinie najmnieszych kwadratow.
    Bawienie sie w nieliniowe solvery tylko dodanarzut.

    > > Miliardy wierszy to gigabajty.
    >
    > Niestety to moja zmora. Z reguly brakuje dobrych danych przy
    > data minning. Moje dane nie mieszcza sie na 10 nowoczesnych
    > dyskach. A moze jakas baza danych ma zaimplementowana
    > regresje liniowa dla wielu parametrow? Jakis odpowiednik
    > excelowskiego reglinp?

    To wcale nie jest tak duzo danych jak na zadanie, ktore chesz
    rozwiazac. Przyjrzyj sie dokladnie zagadnieniu. Jesli nie macie
    problemu z tym, ze rozwiazujesz to rownaniem normalnym
    (uwarunkowanie etc) to jedyne co musisz zrobic z danymi
    to policzyc pewna ilosc iloczynow skalarnych.
    1225 <x_i,x_j>, 50 <x_i, y>
    125000< x_i, f(x_j,x_k) > i 2500<y,f(x_i,x_j)>

    Jesli bys chciel dodac wiecej niz tylko jedna,
    'nieliniowa funkcja od tabelek' dojdzie cos rzedu
    3mln elementow(chyba, ze .. dluzsza historia;).

    Wszytko liczysz w jednym przebiegu odczytywania danych,
    nastepnie bawisz sie jedynie z _malymi_ obiektami (51x51)
    X.' * X i X.' * y ( X.' -transponowane X).

    Samo policzenie tych iloczynow jest wiekszym problemem.
    Zajmie to na nowym komputerze cos rzedu wieksze kilka godzin
    na miliard danych:)
    Sumowac tez trzeba sprytnie (albo odpowiednio podwyzszajac
    przecyzje, lepiej sprytnie, nieco to zalezy od danych).

    Dobrym pomyslem jest tez zastanowienie sie, czy iloscny skalarnego
    mniej istotnych par nie mozna przyblizac, szacowan np za pomoca
    znacznie mniejszego podwektora Wtedy i zagadnienie uwzgledniajace
    52 parametry na zwyklym PC.

    Moze potrzebujecie matematyka z delikatnym zamilowaniem do
    numerkow? :-)

    > > Matlab nie musi byc wtedy najlepszym
    >
    > Hmmm, dziwne, powinien miec opcje ze macierz lezy na
    > dysku w pliku tekstowym albo binarnym. To raczej
    > zwykla rzecz ze dane leza na dysku a w pamieci sa
    > tylko "zmienne algorytmu".

    To znacznie zwieksza czas. I chyba nie ma za czestych zastosowan.
    Zobacz, ile czasu zajeloby mnozenie 2 macierzy kwadratowych
    zajmujacych wiekszaosc Twojego ramu. Strzelmy 20000x20000
    (3GB). 1000 razy dluzej niz 2000x2000.
    Z drugiej storny gugiel sugeruje, ze cos wie o mnozeniu macierzy
    na dyskach. Jednak podejrzewam, ze i tak raczej uzywa sie tego do
    macierzy rzadkich (jakies guglowskie pozycjonowanie etc).

    Twoje zagadnienie jest prostrze, programik czyta, mnozy, dodaje, goto
    start;)

    pozdrawiam
    bartekltg

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: