Classification típusú döntéseknél néha jobb eredményt hozhat az eljárásom RF-hez képest (validálás alatt). Erről majd tervezek blogolni részletesen pontos számokkal, csak sok munka, később lesz.
Megoldásom erőssége:
- nonparametrikus (zéró)
- extrém kevés adatnál is működik (akár egyetlen adatpont)
- extrém nagy adatnál is működik és nincs letörési pont a tanulási folyamatnál ahogy növeljük a tanító adatot, mint sok más algó esetén (neurális háló nem törik le, de ott meg robban el a tanulási idő a backpropagation miatt, ami egy nagyon csúnya megoldás optimum kereséshez IMHO, illetve NN-nél nem megismerhető az optimális idegi struktúra, így rengeteg a hiperparaméter és ezért rémálom az optimalizálása)
- bármekkora dimenziójú bemenetre alkalmazható könnyedén
- minimális memória lábnyom
- érzéketlen a skálára, csak úgy mint RF, vagyis nem kell normalizálni az értékeket a tanításhoz
- rendkívül gyors, még script nyelveken is, O(n) alatt fut
- egyetlen globál optimum van amit mindig megtalál, ezért nem ragad meg lokál optimumon
- mindig garantált a konvergálás az optimumhoz
- teljesen determinisztikus, nincs szükség RNG-re
Megjegyzés:
- feature selection kell, de ez RF algón kívül mindenhol kell tudtommal, és ez azért nem hátrány, mert csak 1-szer kell a kiválasztási procedura, utána alkalmazható
Ha lesz időm, később írok még róla vagy csinálok egy videót, ha jelzitek hogy érdekes a téma.
- sinexton blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
> ha jelzitek hogy érdekes a téma.
Egyértelmű, köszi!
(sub)
- A hozzászóláshoz be kell jelentkezni
-Van valami elerheto implementaciod hozza? (pythonhoz ertek pl., de mas nyelv is jo)
-A tanito adathalmaz sorrendjere is determinisztikus? (sima dontesi fanal pl. ugy emlekszem, mas lesz a strukturaja)
Azert osszessegeben az, hogy minel jobb eredmenyt adjon, az fontosabb feltetel majdnem minden masnal.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Van implementációm. A megnyitásán még gondolkodok. Eddig két új gépi algót fejlesztettem, egyik egy clustering, másik ez ami regresszió. Mindkettő teljesen nonparametrikus. Ez kritikus, mert a parametrikussal keresnénk az optimumot. De eleve kellenek a paraméterek hozzá. De az optimális paramétereket nem lehet könnyen meghatározni. Tehát ellentmondás. Persze gyakorlatban meg lehet, de nem elég hatékonyan.
A tanító adat sorrendje mindegy, ez szintén további előny. Tehát nem az van, hogy máshogy rendezve az adatot más eredményt ad. Habár az sem gond és ez természetes. RF-nél is más sorrendet ad természetesen, ha seed-et használunk, akkor is. Ez az eljárásból következik.
Igen, a jobb eredmény a fontos. Csak rengeteg munka és még nem akarom elkiabálni, mert nem végeztem az ellenőrzéssel. Két dolog van:
1) Mindent überel annak a fontossága, hogy a validációs folyamatnak hibamentesnek kell lennie. Mert ha hibás eredményeket kapunk, de nem tudunk róla hogy hibás, az értelmetlenné teszi. Tehát ennek a biztosítása van folyamatban.
2) Ha biztosítva lett a validációs folyamat hiba mentessége (rengeteg auto teszttel és kód audittal illetve manuális alapos ellenőrzésekkel), akkor az algók összehasonlításánál vizsgálni kell a statisztikai erőt. Ezt hipotézis teszttel.
Ezek vannak hátra. Az algóm matematikailag elegáns és rengeteg olyan deficittől mentes, mely más algóknál jelen van. Nagyon sok okos és trükkös eljárás van, azok is nagyon szépek és hasznosak. Csak a paraméterek meghatározásának szükségessége nagyon magas falat emel.
Neurális hálók ezért agyrém. Hiába futtatunk kereszt validációt, egy idő után az adat lesz kevés hozzá, mert a hipermaraméterek kombinációs tere túl nagy. Így mindig nagy esély van a túltanításra. Vagy ha kiküszöböljük a túltanítást, akkor meg garantált, hogy távolabbra kerülünk az optimumtól. Vagy ez, vagy az.
Ha lesz időm, majd bővítem az infót.
- A hozzászóláshoz be kell jelentkezni
És igen, a legfontosabb a jobb eredmény, mert csak akkor van előre lépés. Habár ez úgy is teljesülhet, hogy csak valamilyen peremfeltételeken belül. Pl extrém kevés adatnál jobb, vagy extrém soknál. Vagy kisebb dimenziójú tereknél stb. Már ott is van értelme.
- A hozzászóláshoz be kell jelentkezni
Implementáció, lehetőleg Furorban engem is érdekelne.
- A hozzászóláshoz be kell jelentkezni
Kivancsi vagyok, de azert eleg szkeptikus is. Az egyik legfontosabb, hogy nezd meg milyen eredmenyt (loss-t) ad a tanulasi adaton tanitott modell a tesztadatokon. Meg ha nem is lesz mindennel jobb a modszer, akkor is megeri publikalni, ha van valamilyen elonye, ujdonsaga.
- A hozzászóláshoz be kell jelentkezni
Köszi, ez miatt gondolkodnék akár a publikáción, mert egy újfajta optimum keresést nyit szerintem. Természetesen minden benne van a pakliban. Az is hogy már kitaposták amit találtam. Erre mondta Terence Tao, hogy kellene egy olyan AI-t fejleszteni matematikai publikációkban való keresésre, mely meg tudja érteni egy részét és értelmileg tud hasonló témákat összegyűjteni. Deep is the rabbit hole...
Természetsen a loss-t mérem, de több fajta módon. Class-nél f1 loss, reg-nél RMSE stb.
Classification és regressziós elemzéseknél is mérem. Sokszor megveri RF-et, csak nem akarom elkiabálni, nehogy hibás legyen a validációm egy rejtett ponton.
Illetve sok magas minőségű gyűjtött, real life adatom van, melyeket évek óta húztam össze rengeteg helyről. Olaj áraktól kezdve a sürgősségi szobákban megjelenő emberek száma adott napontól a hipermarketben vásárlók szám, doktor látogatási száma, banki kölcsön mértéke a személy paramétere alapján, egyetemi felvételi pontszám alakulás hozott eredményekhez, gejzír kilövellési ideje stb. Ezeken mind tesztelek.
Illetve generálok szintetikus adatot adott zaj szinttel adott dimenzióban. Minden jó ami elérhető és rálátást ad a működésre újabb szemszögből.
- A hozzászóláshoz be kell jelentkezni
Az a sok adat honnan van? Kaggle?
- A hozzászóláshoz be kell jelentkezni
Nem, onnét majdnem egy sem. Sok kutatás eredménye. Több év munkája. Nem dokumentáltam le őket, csak a fájlnév mutatja, mert erre már nincs idő. Így néz ki:
Classification: 28 db (Orvosi adatok műtét sikerességéről, stb)
Regression: 63 db
Forecast: 304 (itt vízállások és csapadékok is vannak, havi, éves stb)
Nekem ez relatíve soknak számít, mert nehéz összeszedni ennyit normál minőségben.
Ha szükséged van rá, szívesen adok.
- A hozzászóláshoz be kell jelentkezni
Egyerlore nem, de koszi. Altalaban generalok adatot, vagy publikus helyrol szerzett adatokat hasznalok.
- A hozzászóláshoz be kell jelentkezni
Még annyi, hogy természetesen nem training loss-t nézek, hanem mindig test loss-t, lehet nem voltam világos. Sokszor one-sample validációt csinálok ha kevés az adatsor (pl 27 db), és ilyenkor egyet emelek ki tesztnek. Majd újra kiemelek 1-et véletlenszerűen. Forgatni is lehet.
És több test loss-t összesítek.
- A hozzászóláshoz be kell jelentkezni
Érdekelne, köszi!
- A hozzászóláshoz be kell jelentkezni
Engem is erdekel a tema! Elore is koszi!
- A hozzászóláshoz be kell jelentkezni
Esetleg az algoritmusról is írhatnál nagy vonalakban, ami persze nem árulja el konkrétan a titkos részeket, ha lehetséges.
- A hozzászóláshoz be kell jelentkezni
Dolgozok rajt. Hogy mennyit tudok róla majd írni, az még eldöntendő.
- A hozzászóláshoz be kell jelentkezni
Köszönöm azoknak, akik ide írtak. Visszajelzésnek írom, hogy alkalmazásra kerül a matematikai eljárásom egy projektben, így egyelőre nem nyitom meg.
- A hozzászóláshoz be kell jelentkezni
Koszi, hogy irtal! Ez igy korrekt.
Valami benchmark eredmenyt azert megosztanal rola? Engem leginkabb az MNIST-en elert eredmenye erdekelne nagyon, de ha ez is titkos, azt is elfogadom. Meg persze, ha arra a problemakorre pont nem idealis, azt is.
A strange game. The only winning move is not to play. How about a nice game of chess?
- A hozzászóláshoz be kell jelentkezni
Ha lesz időm, megpróbálok mutatni az RF modellel összehasonlított eredményt. MINST db-t ismerem, nagyon érdekes lenne elvégezni. Sajnos rengeteg munkám van és ebbe szorítok bele mindent. Ha lesz infó, írok.
- A hozzászóláshoz be kell jelentkezni