- cross-validation
- kaggle
- machine learning
Voltam ugyebár ezen a Champs Scalar Coupling nevű versenyen. Menet közben volt néhány “ahaaa” pillanat, amikor rádöbbentem valamire, és amit jó lett volna tudni verseny elején. Úgy érzem ezeket érdemes összeszedni, hasznos lehet azok számára, akik első Kaggle versenyükre készülnek.
De mielőtt belevágnánk, egy fontos megjegyzés: minden verseny más, nagyon. Nincs egységes recept. És persze én sem vagyok veterán, másoknak más lehetett a tapasztalata. Na de akkor vágjunk bele.
Cross-Validation mindenek felett
Számomra a legnagyobb tanulság volt, hogy a jó kereszt-validáció nagyon nehéz. Ezt egyébként már sokan mondták, de olvasni és megtapasztalni egész más.
Én a verseny utolsó pillanatáig azt hittem, hogy a CV (Cross-Validation) stratégiám jó. De kiderült, hogy nem volt tökéletes, csak amíg kis pontossággal becsült a modell, addig nem volt gond. A kereszt validáció azért fontos, hogy meg lehessen állapítani a modellről, hogy mennyire képes generalizálni, azaz mennyire működik jól ismeretlen adatokon.
Éppen ezért érdemes minél hamarabb, minél több becslést beküldeni, mert így a teszt adathalmazról és a készülő modellről is szerzünk információt.
A kaggle.com egy közösségi oldal
Egy másik fontos tapasztalat, hogy rengeteg hasznos információ, trükk, ötlet, stb… található a verseny fórumában és a publikus notebookookban (kernelekben). Én tulajdonképpen úgy értem el a “bronz” eredményt, ami amúgy egyáltalán nem egy nagy szám, hogy semmi mást nem csináltam, csak próbáltam minél több dolgot kipróbálni majd beépíteni az elérhető anyagokból.
Eltérő modellek kellenek
Végül pedig egy közismert dolog, a “kiátlagolás” tényleg nagyon hatékony eszköz. A saját modellem pontszáma -1.7 volt (a kisebb szám a jobb). Ezt kevertem -1.3 és -1.5 pontos becslésekkel, és a végeredmény -1.9 körüli eredmény lett, tehát sokkal jobb, mint bármelyik külön komponense.
Éppen ezért nagyon megtérül, ha nem csak egy modellt építünk, hanem minél többet. Egy GBM, egy neurális háló, stb, stb… Akkor is sokat fognak hozzátenni a végeredményhez, ha külön-külön nem annyira erősek.
Én ennyi tanáccsal tudtam szolgálni, végül két linket osztanék meg, korábbi nyertesekkel készült interjúk. Érdemes elolvasni, mit mondtak, tudhatnak valamit, elvégre győztek :)
"Bestfitting"-gel készült interjú, 2018-ban Kaggle #1
Abhishek Thakur interjú, Competition Grandmaster, Kernel Grandmaster és Discussion Grandmaster
Zárásként még annyit, hogy én elképesztően jól éreztem magam a verseny közben, végre valami olyannal foglalkozhattam amiért 110%-ig lelkesedni tudtok. És közben rengeteget tanultam. Mindenkinek csak ajánlani tudom, hogy belevágjon.