Sziasztok!
Ismét segítséget kérek, ég a pofám... )-::
Van egy predikciós eljárásom, egész jól működik már. Ehhez kéne
egy olyan torzító függvény, ami 0.01 és 0.99 között gyakorlatilag
lineáris és 0.01 és -0.1 között kvázi 0.0 valamint 0.99 és 1.1
között kvázi 1.0
A határok nem teljesen merevek, de valami ilyesmi jó lenne.
Előre is köszönöm a tippeket.
- 5232 megtekintés
Hozzászólások
Aki kerdez, buta, aki nem, az is marad.
(a kerdesre nem tudok valaszolni)
- A hozzászóláshoz be kell jelentkezni
nem mintha érteném a problémát, gondolom abs()-ekkel (tehát nem deriválható) megoldást gyorsat te is fel tudsz írni
a sima függvények lassúak? mármint van egy csomó ami erre hasonlít, atan, a normális eloszlás, törtfv, http://en.wikipedia.org/wiki/Sigmoid_function , stb, amiket eléggé torzítva azaz pár szorzással, összeadással meg eltolni ahova kell, a kívánt alakra lehet gyúrni
- A hozzászóláshoz be kell jelentkezni
http://en.wikipedia.org/wiki/Generalised_logistic_curve
Ez talán idomítható az igényeidre...
- A hozzászóláshoz be kell jelentkezni
ahh, épp ezt kerestem :)
- A hozzászóláshoz be kell jelentkezni
Ez valami olyasmit csinál, de a Jóisten sem tudja beállítani
a paramétereket. )-:.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
pelda, c1 fuggveny (egyszer biztos folytonosan diffhato):
x <= 0.01 : 0.01*exp(100*(x-0.01))
0.01 <= x <= 0.99 : x
0.99 <= x : 1-0.01*exp(100*(0.99-x))
altalanosabban: ha w=0.01, akkor:
x <= w : w*exp(x/w-1)
w <= x <= 1-w : x
1-w <= x : 1-w*exp(1/w-1-x/w)
- A hozzászóláshoz be kell jelentkezni
+0.9
tuti en nem ertem a problemat, de ez trivinek tunik:
x < 0.01 => f(x) = 0
0.01 <= x <= 0.99 => f(x) = x
0.99 < x => f(x) = 1
- A hozzászóláshoz be kell jelentkezni
nem folytonos, az a baj...
- A hozzászóláshoz be kell jelentkezni
Teny, de nem is volt kikotes, hogy az legyen. Viszont 0.01 es 0.99 kozott legalabb linearis :)
- A hozzászóláshoz be kell jelentkezni
patch:
x < 0.01 => f(x) = 0.01 (majdnem 0)
0.01 <= x <= 0.99 => f(x) = x
0.99 < x => f(x) = 0.99 (majdnem 1)
Ez jo gyors, csak van egy torese..
Amugy neuralis halokhoz szoktak meg ilyen fuggvenyeket hasznalni, ott az arctg es a sigmoid a szokasos (izles szerint felszorozva/eltolva).
--
Always remember - correlation does not imply causation.
Since realising this, my life has been so much better.
- A hozzászóláshoz be kell jelentkezni
egy teljesen (vegtelenszer) folytonos konstrukcio: legyen:
es3(x)=erf(x*sqrt(pi)/2+x**3*pi/12)
(ahol erf() az a mezei error function, szinte minden prog nyelv tudja alapbol).ekkor a fuggvenyed:
es3(2*x-1)/2+0.5
de ez inkabb csak olyan 0.05 ... 0.95 kozott kozel linearis. a konstrukcio folytathato a vegtelensegig (amig a fenti w -> 0 hataresetben is kaphato [0,x,1] fuggvenyt megkapjuk) ugyhogy tisztan paratlan foku polinomokat teszunk az erf() hasaba, de megfelelo" egyutthatokkal. 5odfokura mar szerintem eleri a 0.01-es hatart, csak ki kene szamolni az egyutthatokat ami faraszto ;]
- A hozzászóláshoz be kell jelentkezni
egy jobb:
es5(x)=erf(x*sqrt(pi)/2+x**3*pi/12+x**5*(pi/240+pi*sqrt(pi)/60))
- A hozzászóláshoz be kell jelentkezni
b * arc tg (c * x + d)?
- A hozzászóláshoz be kell jelentkezni
egy primitív megközelítés:
|x|-el ugye könnyű kb-ra felírni: ( |x| - |x-1| + 1 ) / 2
|x| pedig ugye sqrt(x*x), hogy ez deriválható legyen görbítsük meg: sqrt(x*x + a), tehát
'a' nullához tarva egyre hegyesebb lesz, a=2-nél pedig épp az 1/x szép gömbölyű hiperbolája -45 fokkal elforgatva
- A hozzászóláshoz be kell jelentkezni
(upsz rossz topic)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
A szemet által javasolt fv (http://en.wikipedia.org/wiki/Generalised_logistic_curve)
együtthatóit keresgélem HRS-sel, szépen alakulgat.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
mi az a hrs? mi a gond a picivel fentebbi "kép"-pel? (a két pici számot olyan picire veszed amennyire hegyesnek akarod, a határok is (0 és 1) is jól látszik hol kell belőni)
az ilyen tipikus sigmoidoknál általában (pl neurális háló meg bármi) szinte tökmindegy hogy a sokadik deriváltja milyen, nagyjából legyen ilyen alakja és gyorsan számolható legyen szokott szempont lenni
- A hozzászóláshoz be kell jelentkezni
A HRS az ez [ http://hup.hu/node/65898 ] és ennek egy nem
diszkrét változatával hangolom az együtthatókat. Amit mondtál
azzal gondolom nincs semmi baj, de elkezdtem már nézegetni a
fentebb preferált fv-t és lassan kész is vagyok vele, az átlagos
hiba már bőven 1 % alatt van, nekem ez már elég jó.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Ezeket az együtthatókat kaptam:
A=-0.4026;
K=+1.4060;
B=+2.3345;
n=+0.9651;
M=-0.1812;
Q=+4.6784;
Kicsit nem szimmetrikus, no, de sebaj.
Aki tud jobbat az szóljon. A függvény folytonos kell hogy legyen,
ezt nem hangsúlyoztam az elején, bocsánat.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
jobbat? mi alapján? azt írtad 1% hibán belül van, ahhoz mi hogy közelítsünk? ;)
- A hozzászóláshoz be kell jelentkezni