Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 19 20 21
Wyślij wiadomość do admina

Przewiń wpisy ↓

Sieci neuronowe w praktyce - prognozowanie losowań MultiMulti

2015-07-10 (17:32)

status ralfek
Data rejestracji: 2009-07-08
Ilość postów: 3863

4876
wpis nr 916 664
[ CZCIONKA SPECJALNA ]

Adalbert nei ma żadnego sposobu, przez cały czas używałsieci które typowały kosmos, przez swoje niezrozumienie co robi sieć neuronowa
2015-07-10 (17:37)

status Yar000
Data rejestracji: 2015-07-07
Ilość postów: 2339

14447
wpis nr 916 666
[ CZCIONKA SPECJALNA ]

Jeszcze raz powtarzam, że zapytałem w kontekście zdrowia.





----



Abstra***ę (to idiotyczne, Multipasko gwiazdkuje mi słowo "a b s t r a h u j ę") od sytuacji z tego wątku, bo tej sytuacji nie znam. Jeśli chodzi o sieci neuronowe to się często zastanawiam co jest nie tak. Osoby posiadające wiedzę w tym zakresie, albo nie wykorzystują swojego potencjału albo neurony są do d ... y.



Przegrywają sądzę, z algorytmami typującymi a opartymi o rozwiązania proste. Piszę o bukmacherce i o dotychczas prezentowanych publicznie programach predykcyjnych.

--- wpis edytowano 2015-07-10 17:42 ---

2015-07-11 (07:48)

status Adalbert
Data rejestracji: 2009-03-19
Ilość postów: 675

4335
wpis nr 916 769
[ CZCIONKA SPECJALNA ]

Dziękuję Yar000 za pamięć.

Udało mi się wykaraskać z problemów zdrowotnych i wszystko jest ok.

Nie pisałem więcej o sieciach neuronowych bo po reakcjach odbiorców tematu doszedłem do wniosku, że po drugiej stronie ekranu są wybitni specjaliści od tego tematu i nic nowego nie wniosę.

Są tu wybitni specjaliści od sieci neuronowych i ich praktycznego zastosowania w temacie prognozowania losowań, którzy chętnie tu na Forum dzielą się swoją wiedzą. I to wszystko z mojej strony.



W innym wątku, który założyłem nie ukrywając się pod nickiem będę zamieszczać skany kuponów, które wysyłam. Nie muszę dodawać, że wysłane liczby są tylko i wyłącznie prognozowane przez sieć neuronową.



Do prognoz wykorzystuje sieć neuronową o nazwie Nonlinear Autoregressive (NAR):







Nie stosuję archaicznych sieci neuronowych, które przytaczane są i proponowane tu na Forum przez innych znawców tematu.



Do sieci podstawiam ostatnie 10 losowań sortowanych multilotka zapisanych w pliku Excela, jedno po drugim wierszami od najstarszego do ostatniego znanego losowania.

Nie stosuję żadnego kodowania archiwalnych losowań bo to nie ma sensu. Dla sieci neuronowej każde losowanie to liczby i czy je podstawię do sieci w postaci tzw. żywych liczb z losowania, czy też zakoduję to nadal to będą liczbami.

Zmieni się tylko zależność pomiędzy nimi, z tej prawdziwej rzeczywistej, do innej zależnej od sposobu kodowania i z mojej praktyki wynika, że nic to nie daje, a wręcz przeciwnie wprowadza dodatkowe szumy w postaci innych zależności wynikających z algorytmy kodowania, jaki się zastosuje.



W praktycznych zastosowaniach sieci neuronowych unika się jakiegokolwiek kodowania zbiory danych wejściowych.



Sieć, którą używam do prognozowania ma następujące parametry:



- feedbackDelay = 1:2, czyli zakładam, że sieć prognozuje max. 2 kolejne losowania

- 1 warstwę ukrytą z liczbą neuronów o jeden większą od liczby archiwalnych losowań (wierszy z zapisanymi archiwalnymi losowaniami w pliku Excela).



Algorytmem trenującym sieci jest dość powolny algorytm Bayesian (Bayesian regulation backpropagation) z funkcją optymalizacji wag i biasu podobną do Levengerg-Marquardt, ale uzupełnioną o funkcję minimalizacji średnich błędów kwadratowych.



Poniżej przedstawiam główny kod programu bez kodów funkcji wywoływanych w programie. Musiałbym skopiować chyba kilkaset funkcji zaimplementowanych w Matlabie, a to nie miałoby sensu.



Kod programu:



clc

clear all

close all



baza=xlsread('Archiwalne wyniki MM.xls','Sortowane');

dane=baza(:,5:24);

ile_losowan_archiwalnych=10;

inp=dane(end-ile_losowan_archiwalnych:end-1,:);

out=dane(end-(ile_losowan_archiwalnych-1):end-1,:);



% Solve an Autoregression Time-Series Problem with a NAR Neural Network

% Script generated by Neural Time Series app to MultiMulti predcition

% This script assumes this variable is defined:

% out - feedback time series.



T = tonndata(out,false,false);



% Choose a Training Function

% 'trainlm' is usually fastest.

% 'trainbr' takes longer but may be better for challenging problems.

% 'trainscg' uses less memory.



trainFcn = 'trainbr'; % Bayesian regulation



% Create a Nonlinear Autoregressive Network



feedbackDelays = 1:2;

hiddenLayerSize = ile_losowan_archiwalnych+1;

net = narnet(feedbackDelays,hiddenLayerSize,'open',trainFcn);



% Choose Feedback Pre/Post-Processing Functions

% Settings for feedback input are automatically applied to feedback output

% nnprocess



net.input.processFcns = {'removeconstantrows','mapminmax'};



% Prepare the Data for Training and Simulation

% The function PREPARETS prepares timeseries data for a particular network,

% shifting time by the minimum amount to fill input states and layer states.

% Using PREPARETS allows you to keep your original time series data unchanged, while

% easily customizing it for networks with differing numbers of delays, with

% open loop or closed loop feedback modes.



[x,xi,ai,t] = preparets(net,{},{},T);



% Setup Division of Data for Training, Validation, Testing



net.divideFcn = 'dividerand'; % Divide data randomly

net.divideMode = 'time'; % Divide up every value

net.divideParam.trainRatio = 70/100;

net.divideParam.valRatio = 15/100;

net.divideParam.testRatio = 15/100;





% Choose a Performance Function



net.performFcn = 'mse'; % Mean squared error



% Choose Plot Functions



net.plotFcns = {'plotperform','plottrainstate','plotresponse', ...

'ploterrcorr', 'plotinerrcorr'};



% Train the Network



[net,tr] = train(net,x,t,xi,ai);



% Test the Network



y = net(x,xi,ai);

e = gsubtract(t,y);

performance = perform(net,t,y)



% Recalculate Training, Validation and Test Performance



trainTargets = gmultiply(t,tr.trainMask);

valTargets = gmultiply(t,tr.valMask);

testTargets = gmultiply(t,tr.testMask);

trainPerformance = perform(net,trainTargets,y)

valPerformance = perform(net,valTargets,y)

testPerformance = perform(net,testTargets,y)



% view the Network

% view(net)



% Plots

% Uncomment these lines to enable various plots.

% figure, plotperform(tr)

% figure, plottrainstate(tr)

% figure, plotresponse(t,y)

% figure, ploterrcorr(e)

% figure, plotinerrcorr(x,e)



% Closed Loop Network

% Use this network to do multi-step prediction.

% The function CLOSELOOP replaces the feedback input with a direct

% connection from the outout layer.



netc = closeloop(net);

[xc,xic,aic,tc] = preparets(netc,{},{},T);

yc = netc(xc,xic,aic);

perfc = perform(net,tc,yc)



% Multi-step Prediction

% Sometimes it is useful to simulate a network in open-loop form for as

% long as there is known data T, and then switch to closed-loop to perform

% multistep prediction. Here The open-loop network is simulated on the known

% output series, then the network and its final delay states are converted

% to closed-loop form to produce predictions for 5 more timesteps.



[x1,xio,aio,t] = preparets(net,{},{},T);

[y1,xfo,afo] = net(x1,xio,aio);

[netc,xic,aic] = closeloop(net,xfo,afo);

[y2,xfc,afc] = netc(cell(0,5),xic,aic);



% Further predictions can be made by continuing simulation starting with

% the final input and layer delay states, xfc and afc.



% Step-Ahead Prediction Network

% For some applications it helps to get the prediction a timestep early.

% The original network returns predicted y(t+1) at the same time it is given y(t+1).

% For some applications such as decision making, it would help to have predicted

% y(t+1) once y(t) is available, but before the actual y(t+1) occurs.

% The network can be made to return its output a timestep early by removing one delay

% so that its minimal tap delay is now 0 instead of 1. The new network returns the

% same outputs as the original network, but outputs are shifted left one timestep.



nets = removedelay(net);

[xs,xis,ais,ts] = preparets(nets,{},{},T);

ys = nets(xs,xis,ais);

stepAheadPerformance = perform(net,ts,ys)



% Deployment

% Change the (false) values to (true) to enable the following code blocks.

% See the help for each generation function for more information.



if (false)

% Generate MATLAB function for neural network for application deployment

% in MATLAB scripts or with MATLAB Compiler and Builder tools, or simply

% to examine the calculations your trained neural network performs.



genFunction(net,'myNeuralNetworkFunction');

y = myNeuralNetworkFunction(x,xi,ai);

end



if (false)

% Generate a matrix-only MATLAB function for neural network code

% generation with MATLAB Coder tools.



genFunction(net,'myNeuralNetworkFunction','MatrixOnly','yes');

x1 = cell2mat(x(1,:));

xi1 = cell2mat(xi(1,:));

y = myNeuralNetworkFunction(x1,xi1);

end

if (false)

% Generate a Simulink diagram for simulation or deployment with.

% Simulink Coder tools.



gensim(net);

end



% prognoza kolejnych losowań (max. 2 losowania)



prognoza=round(cell2mat(ys(end)))';

wybrane=unique(prognoza)

[a,b]=ismember(wybrane, dane(end,:));

ile1=sum(a)

kolejne=1;

for liczba=1:size(wybrane,2)

if ismember(wybrane(1,liczba),out(end,:))

do_skreslenia(1,kolejne)=wybrane(1,liczba)

kolejne=kolejne+1;

end

end



[a,b]=ismember(do_skreslenia, dane(end,:));

ile1=sum(a)
2015-07-11 (14:27)

status Yar000
Data rejestracji: 2015-07-07
Ilość postów: 2339

14447
wpis nr 916 885
[ CZCIONKA SPECJALNA ]

Adalbert,



cieszę się, że wykaraskałeś się z choroby. Zawsze, publiczne świadectwo osób, które się nie poddały i zwalczyły chorobę, dodaje otuchy pozostałym chorym. Czekającym na takie wiadomości i oczekującym wskazówek, w jaki sposób i co jeszcze można zastosować aby zwyciężyć.





Twój tok myślenia zaprezentowały tutaj w temacie a dotyczący SN, jest skuteczny Zaprezentowane w innym wątku dowody, zamykają usta



Nie znam się na SN ale bardzo się cieszę, że są twórcy, którzy wiedzą jak korzystać z tej zdobyczy nauki. Piszą na ten temat, opisują, odpisują na zapytania, komentują.



Serce roście , że da się!

2015-07-11 (15:04)

status Yar000
Data rejestracji: 2015-07-07
Ilość postów: 2339

14447
wpis nr 916 901
[ CZCIONKA SPECJALNA ]

"Zaprezentowany".
2015-07-11 (23:14)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 2100

13559
wpis nr 917 022
[ CZCIONKA SPECJALNA ]

@Adalbert

napisałeś:

"Nie stosuję żadnego kodowania archiwalnych losowań bo to nie ma sensu. Dla sieci neuronowej każde losowanie to liczby i czy je podstawię do sieci w postaci tzw. żywych liczb z losowania, czy też zakoduję to nadal to będą liczbami.""



Oczywiście, że będą liczbami, ale ważne jest jak sieć "zinterpretuje" te liczby.

Jeżeli sieci podasz etykiety kulek jako wartości rzeczywiste (żywe jak to nazywasz), sieć będzie się uczyła oprócz tych wartości także np różnicę matematyczną między nimi.

Kulka o etykiecie 20 będzie większa (np cięższa, o większej średnicy, lub cokolwiek innego, co można porównać) od kulki o etykiecie 19 o 1 (czyli o różnicę 20-19) i tego sieć się też nauczy - a tego bardzo nie chcemy.

Załóżmy, że na tym samym neuronie wejściowym pojawia się b. często kulka 10 a następnie kulka 14. Sieć nauczy się tej kombinacji, ale nauczy się także różnicy 14-10, i gdy nagle pojawi się kulka 20, sieć da odpowiedź 20 + (14 - 10) = 24 - a to źle, bo np kulka 20 pojawia się b. często z kulką 67 na innym neuronie wejściowym.



Podsumowując: wprowadzając kulki jako wartości rzeczywiste wprowadzasz dodatkową cechę, która "zmyli" sieć.



Pozdrawiam i życzę dużo zdrowia

PS

Polecam przeczytać:

Timothy Masters "Sieci neuronowe w praktyce Programowanie w języku C++", rozdział pt. "Przygotowanie danych wejściowych".
2015-07-12 (00:10)

status ralfek
Data rejestracji: 2009-07-08
Ilość postów: 3863

4876
wpis nr 917 030
[ CZCIONKA SPECJALNA ]

Popieram Lottonautę, wielokrotnie wytykaliśmy Adalbertowi błąd w myśleniu, nie ze złośliwości ale dobrej woli.



Tak jak zostało napisane - w takiej sieci ona się uczy zależności matematycznych, które nie istnieją. Ona nie bada wypadalności w takim projekcie, tylko zależności mat. których nie ma.



najprostszy element sieci działa tak: sygnał * waga * funkcja aktywacji = wynik (sygnał nowy)

(znawcy sieci wybaczcie super uproszczenie, to na poczet edukacyjny)

załóżmy fcje aktywacji liniową =1



Załóżmy uproszczenie sieci do badania losowania, gdzie losuje się jedną z kul z nadrukiem 1-10, w archiwum mamy wylosowane kiedyś kule o nadrukach:



2,4,5,9,1



No więc uczmy sieć.

Mówimy jej:



hej siecio, masz tutaj:

sygnał=2

waga = 1 (bo pierwszyraz uczymy),

z tego moja siecio ma wyjść 4! (wylosowana w następnym losowaniu kula)



sieć myśli (2 * 1 *1 = 2, a więc muszę zmienić wagę na 2, czyli 2*2*1=4 bingo nauczyłam się!)



I TERAZ pytanie



Jaki proces fizyczny matematyczny, duchowy czy inny odpowiada za to, że (kula nr.2)*2*1 = (kula nr. 4) ??



bo ja takiego procesu nie znam

Lottonauta też nie



A Adalbert od lat idzie w zaparte.



Powiecie sobie no dobra to sieć jest do niczego, i to NIEPRAWDA bo sieć potrafi liczyć to gdzie są zależności matematyczne, DOWÓD



jest sobie funkcja mat. y = x / 2.



sieć ma na początku jak poprzednio wage = 1, a funkcje aktywacji liniowa



siec dostaje do nauki:

x=2 y=1

x=3 y=3/2

x=4 y=2



uczę sieć mówię jej:

masz sygnał tutaj 2, masz pokazać na wyjściu 1!

sieć myśli (2*1*1=2.. coś tu nie gra, zmienię wagę na 1/2 może wyjdzie - 2*1/2*1 = 1 bingo!)

sieć podaje poprawnie 1 jako wynik, mówię sieci ej chwila a inne punkty? masz tutaj 3 na wejściu masz pokazać 3/2 na wyjściu!

sieć myśli (ok,sprawdźmy czy już znam wyniki - 3*1/2*1 =3/2 ale jaja! udalo się wiec nie muszę zmieniać wagi)



sieć potrafi dla KAŻDEGO x wykonać działania y=x/2 !!!! zad.dom sprawdźcie sami



I tutaj SEDNO



wróćmy do kulek



sieć już umie z nadruku 2 wymyślić nadruk 4(tzn kulki no)

mówię sieci, ej ty ale masz działać zawsze czyli teraz z kulki 4 zrób kulkę 5:

sieć myśli (4*2*1=8, cholibka przesrane, musze zmienić wagę ale wtedy poprzednie lsoowanie sie rozwali.. ojtam zmienie sobie na 1,5 wagę nikt nie zauważy.. 4*1,5*1=6.. kurde to nie 5 jak chcieli ale blisko)



teraz sieć działa tak



2 -> 2,5

4 -> 6



realne losowania



2 -> 4

4 -> 5



Nie wiem jak Wy ale ja nie znam KULI nr. 2,5 (DWA I PÓŁ)



dobranoc



--- wpis edytowano 2015-07-12 00:14 ---

2015-07-12 (01:45)

status Adalbert
Data rejestracji: 2009-03-19
Ilość postów: 675

4335
wpis nr 917 032
[ CZCIONKA SPECJALNA ]

Witam

Przenoszę tutaj zamieszczanie zeskanowanych kuponów,

żeby nie skakać po dwóch różnych tematach.

W dzisiejszych dwóch losowaniach znacznie niższe wygrane,

ale zwrócił się koszt wysłania zakładów.

W pierwszym losowaniu o 14:00:

2x 3/5 -> 8 zł

1x 3/5 z Plusem -> 80 zł

Zysk: 88 zł - 20 zł= 68 zł



W drugim losowaniu niższa wygrana:

3x 4/5 -> 60 zł

1x 3/5 -> 4 zł

Zysk: 64 zł -20 zł = 44 zł



Razem zysk (dzisiejsze losowania) 112 zł



Skany kuponów:

Losowanie o 14:00







Losowanie o 21:40



--- wpis edytowano 2015-07-12 01:51 ---

2015-07-12 (08:31)

status willi
Data rejestracji: 2006-05-25
Ilość postów: 4417

2042
wpis nr 917 040
[ CZCIONKA SPECJALNA ]

Cześć Wojtek



Cieszę się ,że jesteś cały i zdrowy.Jestem zainteresowany piąteczkami.

Jeżeli masz ochotę ,to zajrzyj do mnie.Składanie piątek może dać dobrą kasę

Grając za taka samą kwotę 20-40 zł można ugrać coś więcej





Pozdrawiam
2015-07-12 (09:30)

status merti
Data rejestracji: 2011-12-25
Ilość postów: 4460

13301
wpis nr 917 046
[ CZCIONKA SPECJALNA ]

Poproszę o jakieś linki do gotowych programów sieci neuronowych, może być nawet na stronie www, jestem ciekaw jak wyjdzie z kodowaniem...
2015-07-12 (10:15)

status spook
Data rejestracji: 2010-11-17
Ilość postów: 1960

12741
wpis nr 917 056
[ CZCIONKA SPECJALNA ]

Witaj Adalbert po dłuuuższej przerwie

Mam do Ciebie 2 pytania.



Czy przy pomocy dostępnych programów i funkcji w bash-u można napisać zaawansowany skrypt, działający na wzór sieci? W bashu trochę piszę, jak na razie średnio zaawansowane skrypty, więc łatwo byłoby mi mod. skrypt, obserwując jego skuteczność.



#2

Czy próbowałeś połączyć selekcję liczb sieciami neuronowymi z numerologią- tzn. sieciami wygenerować trochę więcej liczb, a ostatecznie zredukować ich ilość zależnościami numerologicznymi; takie połączenie wiedzy czysto mat. z paranauką



Pozdrawiam.
2015-07-12 (10:32)

status Kajetan
Data rejestracji: 2015-04-16
Ilość postów: 276

14378
wpis nr 917 057
[ CZCIONKA SPECJALNA ]

tzn. sieciami wygenerować trochę więcej liczb

spook



Ja tu widzę 12/16 a to

prawdopodobieństwo zdarzenia : 1 do 438 863



Padły najmniej płatne układy jakie można sobie wyobrazić

np. spisując liczby z kuponów pierwsze trzy rzędy od góry do dołu mamy

11/12 a po zredukowaniu powtarzających się mamy 9/10.



25 9 52 39 16 63 40 21 35 70



Adalbert ,jakim sposobem zakreśliłeś na skanie trafione liczby,

przecież nie ręcznie.



2015-07-12 (10:48)

status spook
Data rejestracji: 2010-11-17
Ilość postów: 1960

12741
wpis nr 917 063
[ CZCIONKA SPECJALNA ]

Kajetan



Może ja będę 1 i odp. odnośnie sposobu zakreślenia liczb. W gimpie np. jest taka opcja- zaznaczenie eliptyczne > rysyj wg. zaznaczenia.

Pzdr.
2015-07-12 (10:53)

status spook
Data rejestracji: 2010-11-17
Ilość postów: 1960

12741
wpis nr 917 065
[ CZCIONKA SPECJALNA ]

Kajetan



A odnośnie mojego wpisu "wygenerować więcej liczb" - chodziło mi o to, żeby powiększyć zbiór liczb o takie, które mają sporą szansę wypaść ale prawdopodobieństwo ich wystąpienia nie musi być bliskie 100%

--- wpis edytowano 2015-07-12 10:54 ---

2015-07-12 (10:57)

status Kajetan
Data rejestracji: 2015-04-16
Ilość postów: 276

14378
wpis nr 917 067
[ CZCIONKA SPECJALNA ]

Dzięki spook za odpowiedź.

Jeśli chodzi o te gimpy to jestem nieukiem lecz wiem że każdy zbór

z większej ilości liczb

i mający więcej trafionych

to większa ilość rozpisów czyli suma sumarum jest bardziej pod górkę
2015-07-12 (11:02)

status spook
Data rejestracji: 2010-11-17
Ilość postów: 1960

12741
wpis nr 917 069
[ CZCIONKA SPECJALNA ]

Kajetan



A widzisz.. niezupełnie o to mi chodziło-sieciami wygenerować bezpieczniej trochę więcej liczb a potem przy pomocy numerologii zredukować do tych "astrologicznie predystynowanych"
2015-07-12 (11:19)

status Kajetan
Data rejestracji: 2015-04-16
Ilość postów: 276

14378
wpis nr 917 075
[ CZCIONKA SPECJALNA ]

U Wojtka sieci generują dobrze na podanych przykładach

skanów z 10 i 11 lipca lecz jest jedno ale...zawsze z opóźnieniem czasowym.

Te wczorajsze dały 8/16 a z opóźnieniem 12/16.

Podobnie poprzednie skany najpierw 3 /10

a z opóźnieniem 7/8.

No i kto to pisał o opóźnieniach czasowych...zgadnij

2015-07-12 (11:29)

status ralfek
Data rejestracji: 2009-07-08
Ilość postów: 3863

4876
wpis nr 917 081
[ CZCIONKA SPECJALNA ]

nie liczą się wybrane skany wklejone



tylko bilans długotrwałej gry



ile wynosi?
2015-07-12 (11:46)

status Kajetan
Data rejestracji: 2015-04-16
Ilość postów: 276

14378
wpis nr 917 084
[ CZCIONKA SPECJALNA ]

Errata ,

jeszcze raz sprawdziłem ,jednak z opóźnieniem czasowym padło 13/17

co jeszcze bardziej zdumiewa gdyż jest to

prawdopodobieństwo 1 do 2 684 810

a tak nędzne trafienia 3x 4/5 1x 3/5
2015-07-12 (12:38)

status Ken
Data rejestracji: 2012-09-01
Ilość postów: 2921

13557
wpis nr 917 106
[ CZCIONKA SPECJALNA ]

>Adalbert ,jakim sposobem zakreśliłeś na skanie trafione liczby,

>przecież nie ręcznie.



Kajetan,

Jak zakreśli się trafione liczby przed skanowaniem to gimp jest raczej zbędny
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 ... 19 20 21
Wyślij wiadomość do admina