Czyli multi kontoluxtorpeda pisze:Jeśli nie umiesz się skonfrontować z tym, co napisałem to nie zmieniaj tematu na bezsensowny obszar tylko po prostu przestań pisać. Lepiej być tchórzem niż tchórzem i głupcem.
Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmienne
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego 
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
@Tymek, ty naprawdę jesteś jakiś upośledzony.Tymek pisze:Skoro moje posty wykazały tak marną wiedzęto oznacza że teorie Wojtexa były dobre.
A co za tym idzie trzeba przestawić całą dotychczasową wiedzę i podążać trendem Wojtexa.
Praktycznie od samego początku podkreślałem, że informacje, które tu przedstawiam nie są w sprzeczności z wiedzą książkową, a ty ciągle mnie obrażasz i nawet nie udowodnisz, w którym miejscu moje wypowiedzi są z czymkolwiek sprzeczne. Natomiast gdy ja zadaję proste pytania ty milczysz lub odpowiadasz tylko na pojedyncze z nich... Natomiast w obrażaniu to się nie ograniczasz.
Piszesz, że:
Ale co ja mam niby rozumieć? Do czego się odnosisz? Może coś zacytuj...Tymek pisze:Nadal nie umiesz czytać ze zrozumieniem
Z jednej strony narzekasz, że zabiłem ciekawy wątek a z drugiej strony przez cały czas nie napisałeś praktycznie nic wartościowego...
To chyba źle, że nie wskazałeś żadnego źródła potwierdzającego swoje wypowiedzi O_oTymek pisze:Zdziwiło mnie to bo ja wiedzą książkową się nie zasłaniałem i takowych nie przedstawiałem jak to robił oponent
A jeśli jesteśmy już w temacie to wyjaśnij mi ten swój bełkot z ostatniego postu z przed miesiąca i łaskawie przestań szczekać a zacznij używać argumentów (daj dobry przykład i zacznij pisać merytorycznie):
A co ja niby innego napisałem? Podaj mi gdzie widzisz sprzeczność?Tymek pisze:Normalizacja danych wejściowych (wektorów uczących) to sprowadzenie wartości do tego samego przedziału.
A to oznacza całkiem coś innego niż ty zrozumiałeś
Nie uważam, że wiem lepiej, ale póki co nie napisałeś nic co by mogło mnie przekonać do zmiany moich poglądów - ciągle tylko szczekasz, że się mylę, ale w żaden sposób tego nie udowadniasz!Tymek pisze:Nie chcę mi się tłumaczyć coś komuś co i tak ten ktoś uważa że i tak wie lepiej.
Dzięki za ten ogromny wysiłek - 3 strony szczekania i jedno zdanie pseudo-wyjaśnienia (o czym za chwilę)Tymek pisze:Ale ci powiem o co biega z tą normalizacją i zakończę z tobą dyskusję bo nie jesteś nawet warty mojej uwagi.
Najpierw może wyjaśnij: czy wektor 1 i 2 to dwie zmienne i 5 zestawów uczących czy 2 zestawy (wektory) uczące po 5 zmiennych? Pytam bo nie mam pewności względem czego ty normalizujesz...Tymek pisze:Masz wektor 1: [1.34; 1.36; 1.40; 1.39; 1.32]
Masz wektor 2: [1.24; 1.26; 1.30; 1.29; 1.22]
A to ma znaczenie.
że co? Przestrzeń, przedział?! W której ty jesteś klasie?! Skąd ty wziąłeś definicję przedziału? Ale nic, ok, w obu przypadkach różnica między Max i Min to 0.08... Nie ma to nic wspólnego z przestrzenią i przedziałem, ale jeszcze do tego momentu się domyślam o co chodziło... Ale teraz rozumie dlaczego nie potrafię czytać - jak ktoś pisze o wyznaczaniu przestrzeni i nazywa różnicę przedziałem to moja wina, że się nie domyślam o co chodzi...Tymek pisze: jeżeli mamy tylko 2 wektory uczące jak teraz możesz wyznaczyć
ich przestrzeń czyli są w przedziale 0.0 do 0.08
Eureka! Jesteś genialny! Mam tylko proste pytanie skąd wziąłeś wzór na tą "normalizację"? Bo widzisz, ja kilka postów wcześniej podałem konkretne źródło (książka napisana przez profesora), gdzie jest wymienione 5 wzorów na normalizację, ale żaden z nich nie wygląda tak: Xi - XminTymek pisze:czyli po normalizacji będą:
1: [0.02; 0.04; 0.08; 0.07; 0.0]
2: [0.02; 0.04; 0.08; 0.07; 0.0]
Czyli takie same ...
Skąd zaczerpnąłeś termin "ustabilizowania sieci"? Co to w ogóle znaczy? Nawiązujesz do sieci rekurencyjnej czy modeli różniczkowych?Tymek pisze:a więc musisz sprawdzić czy odpowiedź na nie jest taka sama jak nie to nie ustabilizujesz
sieci.
Czyli jeśli dobrze rozumiem to:Tymek pisze:Tak robisz z całym zbiorem uczącym, i testowym. Dzięki normalizacji możesz określić czy twój zbiór
uczący jest prawidłowy
1. mam 100 000 danych uczących (tak wiem, że to jest niewiele, biorąc pod uwagę, że sieć tylko z 300 neuronami, wg. ciebie, może się nadawać tylko do liczenia ceny chleba w sklepie)
2. biorę pierwszy zestaw i porównuję go z pozostałymi 99 999 zestawami czy jest jakiś identyczny zestawy a jeśli tak to czy wzorzec dla niego jest taki sam, tak? Bo jeśli się różni to sieć mi zgłupieje O_o - a słyszałeś o czymś takim jak generalizacja? Celem sieci jest aproksymacja a nie znajdowanie wzoru na chaos... Przecież to normalne, że zmienne będą mogły być w niektórych sytuacjach nawet ze sobą "sprzeczne" - nic na to nie poradzisz... - jednak celem sieci jest uśrednienie wyników...
a co jeśli drugi wektor wynosiłby [0.019; 0.04; 0.08; 0.07; 0.0]? Jaka powinna być różnica we wzorcach?
3. biorę kolejny wektor i znowu porównuję go z pozostałymi 99 998 wektorami...
Ale przecież to będzie jakieś 0.5*N^2 porównań wektorów - teraz rozumiem dlaczego napisałeś o karcie graficznej i technologi CUDA.
Dla większych zestawów to nawet obecne superkomputery by nie podołały...
A może znowu coś źle "przeczytałem" i źle wydedukowałem? Chętnie się dowiem o co ci naprawdę chodziło...
Zastanawiam się również do czego była ci potrzebna w tym przykładzie normalizacja?! Czemu nie mogłeś sobie porównać dwóch oryginalnych wektorów? Co ci one przeszkadzały w oryginale?
A może tobie chodzi o grupowanie danych i sieć Kohonena?! Ale tam również normalizacja nie ma nic wspólnego z Twoim podejściem i częściej szkodzi niż pomaga...
No nie mów, że zmiana takich samych wektorów w taki sam sposób spowoduje taki sam efekt?!? Ponawiam pytanie w której ty jesteś klasie?!Tymek pisze:By ci jeszcze namieszać to możesz sobie określić przedział jako -1 do 1i wtedy musisz odpowiedni te
dane przeliczyć i te dwa wektory też będą takie same
A więc piszesz coś bez wyjaśnienia argumentując, że mogę mieć jakiś argument, który podważy twoje brednie? Napisałem wcześniej o 5 wzorach na normalizację, ale naprawdę intryguje mnie skąd ty wziąłeś swój wzór tj. Xi - XminTymek pisze:Nie chce mi się tłumaczyć tobie dlaczego te wektory wyszły
takie same bo i tak zaraz mi powiesz że nie umiem całkować lub że używam jakiś tam bibliotek albo coś tam
jeszcze.
Piszesz takie głupoty, że do każdego zdania można się przyczepić, ale naturalnie to moja wina i to ja nie umiem czytać. Jak chcesz mnie dalej obrażać do ponawiam prośbę o argumentowanie swoich wypowiedzi - ja potrafię przyznać się do błędu i jak trzeba będzie to to zrobię. Daj mi tylko powód, by to zrobić a nie obrażasz mnie w kółko bez żadnych dowodów, że się mylę...
Naprawdę?Tymek pisze:I teraz naprawdę koniec.
Ostatnio zmieniony 28 kwie 2014, 18:13 przez WojtexWay, łącznie zmieniany 1 raz.
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Czyli jednak masz wiele kont
Mam nadzieję, że wreszcie jakiś mod ci to przyblokuje 
Co do twojego pseudonaukowego bełkotu: to w ten sposób można udowodnić wszystko.
Niestety nie chce mi się analizować twoich wypowiedzi bo oddalasz się bardzo od tego co powinno być.
Przedstawiłem dokładnie wszystko jak powinno być to robione a że masz problem z "byciem bogiem" i
wiesz wszystko najlepiej nie przegadam cię i nawet nie będę próbował. Poczekam na twoją "innowacyjną"
sieć i kilka publikacji jakie zrobisz zanim będziesz miał doktorat. Z dziką rozkoszą przeczytam twoje
artykuły.
A co do reszty to przypomina mi się sentencja i dla tego zaprzestanę:
"Nie dyskutuj z głupim - bo sprowadzi cię do swojego poziomu, a później pokona doświadczeniem"
Co do twojego pseudonaukowego bełkotu: to w ten sposób można udowodnić wszystko.
Niestety nie chce mi się analizować twoich wypowiedzi bo oddalasz się bardzo od tego co powinno być.
Przedstawiłem dokładnie wszystko jak powinno być to robione a że masz problem z "byciem bogiem" i
wiesz wszystko najlepiej nie przegadam cię i nawet nie będę próbował. Poczekam na twoją "innowacyjną"
sieć i kilka publikacji jakie zrobisz zanim będziesz miał doktorat. Z dziką rozkoszą przeczytam twoje
artykuły.
A co do reszty to przypomina mi się sentencja i dla tego zaprzestanę:
"Nie dyskutuj z głupim - bo sprowadzi cię do swojego poziomu, a później pokona doświadczeniem"
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego 
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
I na podstawie czego to wydedukowałeś? Tego, że ktoś mnie broni?! No to gratuluję...Tymek pisze:Czyli jednak masz wiele kontMam nadzieję, że wreszcie jakiś mod ci to przyblokuje
Ja tylko zadaję proste pytania O_o. W dodatku dot. Twoich wypowiedzi.Tymek pisze:Co do twojego pseudonaukowego bełkotu: to w ten sposób można udowodnić wszystko.
Niestety nie chce mi się analizować twoich wypowiedzi bo oddalasz się bardzo od tego co powinno być.
Przedstawiłem dokładnie wszystko jak powinno być to robione a że masz problem z "byciem bogiem" i
wiesz wszystko najlepiej nie przegadam cię i nawet nie będę próbował.
Tak jest, gdy kończą się argumenty i sposoby na obrażenie kogoś - chociaż w twoim wypadku to argumentów nie było żadnych. W realu to bym pewnie jest po głowie dostał - w końcu argument siły jest niepodważalny.Tymek pisze:A co do reszty to przypomina mi się sentencja i dla tego zaprzestanę:
"Nie dyskutuj z głupim - bo sprowadzi cię do swojego poziomu, a później pokona doświadczeniem"
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Każdy sądzi po sobie, więc skoro do takiego myślenia doszedłeś to tylko oznacza jak płytki jesteś.WojtexWay pisze: Tak jest, gdy kończą się argumenty i sposoby na obrażenie kogoś - chociaż w twoim wypadku to argumentów nie było żadnych. W realu to bym pewnie jest po głowie dostał - w końcu argument siły jest niepodważalny.
Prawdę mówiąc czytając twoje teorie w pewnym momencie człowiek zaczyna wątpić w swoją wiedzę.
Jesteś destruktorem intelektów używając pseudo naukowego języka, który jest wstanie podważyć nawet
równanie e=mc2.
Tak więc czekam na twoje rezultaty. Jak tylko opublikujesz swoje artykuły nie zapomnij ich przedstawić.
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego 
-
donpedro112
- Uczestnik

- Posty: 2
- Rejestracja: 01 kwie 2011, 23:16
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Witam
W temacie sieci neuronowych nie mam dużego doświadczenia. Chciałem się samodzielnie przekonać jak to działa i czy rzeczywiście jest to takie banalne. Przez ostatnie 2 weekendy męczyłem sieć neuronową danymi z forexa. Z dotychczasowych testów wstępny ogólny wniosek jest taki, że sieci dwu i trzywarstowe z wsteczną propagacją słabo prognozują wartości kursu. Moje najlepsze sieci osiągały minimalne średnie błędy na poziomie 0,0027 - 0,0029 (prognoza wartości eur/usd na danych H1) czyli w zasadzie prognozy bezwartościowe. Poprawy wyników spodziewałbym się przy wprowadzeniu warstwy rekurencyjnej, ale nie mam jak tego zaimplementować. Prawdopodobnie wyniki poprawi również "uogólnienie" danych uczących.
Jak chodzi o normalizację danych wejściowych to najlepsza efektywność uczenia sieci jest wtedy jeżeli dane wejściowe są znormalizowane do wartości w przedziale (0, 10) lub blisko tego.
W temacie sieci neuronowych nie mam dużego doświadczenia. Chciałem się samodzielnie przekonać jak to działa i czy rzeczywiście jest to takie banalne. Przez ostatnie 2 weekendy męczyłem sieć neuronową danymi z forexa. Z dotychczasowych testów wstępny ogólny wniosek jest taki, że sieci dwu i trzywarstowe z wsteczną propagacją słabo prognozują wartości kursu. Moje najlepsze sieci osiągały minimalne średnie błędy na poziomie 0,0027 - 0,0029 (prognoza wartości eur/usd na danych H1) czyli w zasadzie prognozy bezwartościowe. Poprawy wyników spodziewałbym się przy wprowadzeniu warstwy rekurencyjnej, ale nie mam jak tego zaimplementować. Prawdopodobnie wyniki poprawi również "uogólnienie" danych uczących.
Jak chodzi o normalizację danych wejściowych to najlepsza efektywność uczenia sieci jest wtedy jeżeli dane wejściowe są znormalizowane do wartości w przedziale (0, 10) lub blisko tego.
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Wsteczna propagacja to tylko sposób na wydajne obliczenie pochodnej po każdej zmiennej (wadze) w każdej warstwie, więc biorąc to pod uwagę trochę dziwnie brzmi to zdanie. Chyba, że chodziło Ci o uczenie metodą gradientową (a nie np. algorytmami genetycznymi), ale to akurat jest drugorzędna kwestia i nie ma większego znaczenia na efekt prognozy.donpedro112 pisze:Z dotychczasowych testów wstępny ogólny wniosek jest taki, że sieci dwu i trzywarstowe z wsteczną propagacją słabo prognozują wartości kursu.
Co do samej prognozy to główne znaczenie będzie tu miał wybór odpowiednich zmiennych wejściowych oraz wzorca - w tym wypadku wartość kursu. Niestety prognoza czystej ceny nie jest zadaniem prostym.
Pomijając kwestię, że...
Natomiast większa ilość warstw nie oznacza lepszego działania sieci, za to znacznie trudniej nauczyć taką sieć. Zazwyczaj robi się to w ten sposób, że uczy się sieć z 1 warstwą ukrytą a następnie dodaje kolejną warstwę itd.Tego co nieprzewidywalne z definicji nie da się przewidzieć
Dlaczego tak uważasz? Czy błąd był liczony z uwzględnieniem normalizacji czy nie? Poza tym na którym zestawie osiągnąłeś taki błąd? Na danych uczących, walidacyjnych czy testujących?donpedro112 pisze:Moje najlepsze sieci osiągały minimalne średnie błędy na poziomie 0,0027 - 0,0029 (prognoza wartości eur/usd na danych H1) czyli w zasadzie prognozy bezwartościowe
Zwiększenie liczby neuronów/warstw doprowadzi do poprawienia błędu - nawet do 0.0
Natomiast w handlu dokładna prognoza ceny nie jest rzeczą kluczową - wystarczy informacja czy cena wzrośnie, spadnie czy nie zmieni się znacząco...
Dlaczego tak uważasz i dlaczego "nie masz tego jak zaimplementować"?donpedro112 pisze:Poprawy wyników spodziewałbym się przy wprowadzeniu warstwy rekurencyjnej, ale nie mam jak tego zaimplementować.
Sieci rekurencyjne w cale nie muszą być lepsze od tradycyjnych sieci jednokierunkowych. Różnice są minimalne a za to z sieciami rekurencyjnymi jest znacznie więcej zachodu - m.in. w przypadku uczenia gradientowego są znacznie bardziej "wymagające" (w przypadku uczenia algorytmami heurystycznymi np. algorytmami genetycznymi już nie) oraz duże znaczenie ma kolejność wprowadzanych danych (wymagają wprowadzania danych po kolei, tzn. nie można wymieszać danych).
Jedyna różnica między zwykłą MLP a siecią rekurencyjną jest taka, że masz dodatkowe zmienne w postaci poprzednich sygnałów tj. takie skumulowane poprzednie wejścia. Równie dobrze możesz sobie dołożyć więcej zmiennych wejściowych ze starszych okresów.
Co masz na myśli?donpedro112 pisze:Prawdopodobnie wyniki poprawi również "uogólnienie" danych uczących.
To bardzo ciekawa konkluzja. Na jakiej podstawie do tego doszedłeś? Czemu normalizacja do przedziału (0,1) lub (0,0.001) lub (0,100) miałyby być gorsze?donpedro112 pisze:Jak chodzi o normalizację danych wejściowych to najlepsza efektywność uczenia sieci jest wtedy jeżeli dane wejściowe są znormalizowane do wartości w przedziale (0, 10) lub blisko tego.
A druga sprawa to czy uwzględniłeś ilość zmiennych wejściowych do danego neuronu oraz przedział normalizowanych zmiennych przy wstępnym losowaniu wag dla danego neuronu?
Bo jeśli wagi są stosunkowo duże + znormalizowane zmienne są stosunkowo duże + ilość zmiennych wejściowych jest stosunkowo duża to przy najpopularniejszych typach funkcji aktywacji (sigmoidalna i bipolarna) pochodna dla praktycznie każdej zmiennej w takim neuronie będzie bliska 0 (czyli sieć będzie bardzo źle się uczyć - jeśli w ogóle).
-
donpedro112
- Uczestnik

- Posty: 2
- Rejestracja: 01 kwie 2011, 23:16
Re: Wykorzystanie Sztucznych Sieci Neuronowych na FX - zmien
Testowane sieci posługiwały się metodą gradientową. Próbowałem również proste metody, które można zaliczyć do algorytmów genetycznych (losowy dobór poprawek wag i akceptacja tych poprawek, które zmniejszają błąd sieci - mniej efektywne niż met. gradientowa)
(bardziej zaawansowane heurystyki i algorytmy genetyczne - nie stosowałem, bo ciężko jest napisać na szybko takie skrypty). Stosowałem sieci 3 warstwowe, 8 wejść, 6 neuronów w warstwie ukrytej, 1 neuron wyjściowy, funkcja aktywacji unipolarna a w warstwie wyjściowej - liniowa.
Minimalny średni błąd sieci - chodziło mi o odchylenie prognozy generowanej przez sieć od wzorca. Błąd liczony był w zbiorze uczącym. Mierne efekty uczenia sieci zniechęciły mnie do pisania skryptów na zestawy danych walidacyjnych czy też testujących.
Próbowałem różne przedziały normalizacji, najszybciej sieć się stabilizowała właśnie w przedziale 0-10 ale być może jest to efekt wstępnego losowania wag - na to nie zwracałem uwagi.
W zastosowaniach prognoz przebiegów czasowych właśnie sieci rekurencyjne osiągają lepsze efekty. Sieci tworzę na bazie arkusza kalkulacyjnego, a tam formuły iteracyjne działają z dużymi problemami, już nie mówiąc o czasie uczenia.
"Uogólnienie" danych - miałem na myśli uogólnienie danych wzorca, tzn. odejście od konkretnej wartości wzorca, ale łatwiejsze do nauczenia przez sieć jako wzorzec - rodzaj zmiany wartości: wzrost, spadek, konsolidacja. Z tym wiązałoby się możliwa zmiana funkcji aktywacji warstwy wyjściowej na funkcję sigmoidalną unipolarną.
Zgadzam się z sugestią, że jednym z kluczowych elementów jest właściwy dobór i opracowanie danych wejściowych, i chyba nad tym teraz popracuję, jak będzie jakiś weekend wolny.
(bardziej zaawansowane heurystyki i algorytmy genetyczne - nie stosowałem, bo ciężko jest napisać na szybko takie skrypty). Stosowałem sieci 3 warstwowe, 8 wejść, 6 neuronów w warstwie ukrytej, 1 neuron wyjściowy, funkcja aktywacji unipolarna a w warstwie wyjściowej - liniowa.
Minimalny średni błąd sieci - chodziło mi o odchylenie prognozy generowanej przez sieć od wzorca. Błąd liczony był w zbiorze uczącym. Mierne efekty uczenia sieci zniechęciły mnie do pisania skryptów na zestawy danych walidacyjnych czy też testujących.
Próbowałem różne przedziały normalizacji, najszybciej sieć się stabilizowała właśnie w przedziale 0-10 ale być może jest to efekt wstępnego losowania wag - na to nie zwracałem uwagi.
W zastosowaniach prognoz przebiegów czasowych właśnie sieci rekurencyjne osiągają lepsze efekty. Sieci tworzę na bazie arkusza kalkulacyjnego, a tam formuły iteracyjne działają z dużymi problemami, już nie mówiąc o czasie uczenia.
"Uogólnienie" danych - miałem na myśli uogólnienie danych wzorca, tzn. odejście od konkretnej wartości wzorca, ale łatwiejsze do nauczenia przez sieć jako wzorzec - rodzaj zmiany wartości: wzrost, spadek, konsolidacja. Z tym wiązałoby się możliwa zmiana funkcji aktywacji warstwy wyjściowej na funkcję sigmoidalną unipolarną.
Zgadzam się z sugestią, że jednym z kluczowych elementów jest właściwy dobór i opracowanie danych wejściowych, i chyba nad tym teraz popracuję, jak będzie jakiś weekend wolny.

