HÁTTÉR
Egy véletlennek köszönhetően szereztem tudomást egy Big Data témához köthető eseményről. Az MTA szervezésében megtartott "A nagyság átka: nagyméretű hálózatok, adatok és szoftverek problémái" tudományos ülésszak tartogatott néhány tanulságos előadást adatbányászok számára is..
KOMMENTÁR
Érdekes itthon a Big Data téma helyzete. Egyrészt fontos vele foglalkozni, hisz kint gyakorlatilag minden más témát kiszorít a BI hírekből, másrészt meg nehéz lelkesedni iránta, mivel a hétköznapok során nem találkozunk ilyen típusú problémákkal. A program azonban volt annyira vonzó, hogy elmenjek.
Nos a Big Data szekciót sikerült lekésnem, maradtak az ún. program slicing (program szeletelés) témájú előadások. Hogy mi is ez pontosan, arra most nem térnék ki, ellenben Gyimóthy Tibor egyik megállapításával részletesebben szeretnék foglalkozni.
A Szegedi Egyetem professzora azzal a megdöbbentő (vagy nem is annyira megdöbbentő) kijelentéssel kezdte előadását, hogy a programok öregszenek. Méghozzá azért, mert folyamatosan hozzáírogatnak a fejlesztők. Igazából persze nem öncélú ez fejlesztgetés, hiszen a folyamatosan változó IT, jogi és gazdasági környezetben jogos elvárás egy szoftvertől, hogy ezen változások közepette is ugyanolyan jól működjenek, mint az átadás pillanatában. Azonban a kutatások szerint, a folyamatos fejlesztéseknek köszönhetően a rendszerrel kapcsolatos hibák száma nemhogy csökken, hanem nő. Ezt az érdekes ellentmondást mutatja az alábbi ábra:
A grafikon szerint a folyamatos fejlesztések során olyan mértékben nő meg a hibák száma, amikor már gazdaságosabb az egész rendszert újra a nulláról kifejleszteni.
Na de miért is érdekes a fenti ábra egy adatbányász számára? Először is foglaljuk össze a fenti anomáliát: a szoftver akkor is öregszik, ha nem nyúlnak hozzá (nem képes megfelelni az újabb és újabb elvárásoknak), de akkor is, ha hozzányúlnak. Igazi csapda helyzet, ami senkinek sem jó hír (kivéve persze a szoftverfejlesztőket).
Nos egy adatbányász modell esetében hasonló jelenséggel találkozunk. Már a modell átadásának pillanatában tudjuk, hogy ez a modell nem lesz örök életű. Ennek sok oka van. Egyrészt a világ változik, ami ellen még egy adatbányász sem tud mit tenni. Márpedig ahogy változik az emberek (ügyfelek) magatartása, úgy csökken egy modell használhatósága. De sokszor akkor is érdemes egy modellhez hozzányúlni, ha a teljesítménye változatlan. Ilyen eset például, amikor rengeteg új adat kerül tárolásra egy adttárházban, éppen azért, hogy később adatbányászati modellekbe beépüljenek. De egy új adatbányászati algoritmus is kukába küldheti a régi modelleket (emlékszik még valaki a pár évvel ezelőtti SVM hypre-ra?).
Szóval egy adatbányászati modellt kell javítani. Ahogy egy szoftvert is. Persze lehet azt mondani, hogy itt az analógia meg is áll, hisz az adatbányászati modellek tényleg javulnak, ellentétben a szoftverekkel. Vagy mégsem? Jó lenne egyszer megvizsgálni, hogy a 10 évvel ezelőtt kifejlesztett churn modellek közül még hány üzemel napjainkban is? Tapasztalataim szerint ezek többsége "érdemei elismerése mellett" nyugdíjazásra kerültek. Az életciklusuk ezeknek a modelleknek ugyanis megdöbbentően hasonlítanak a fenti ábrákhoz. A modelleket egy darabig toldozzák-foldozzák (néha ehhez dilettantizmus is társul), majd egy idő után már nem hisz benne senki, és így nem is használja senki. Az analógia azonban itt tényleg véget ér. Míg egy szoftver jellemzően egy "reménytelen" upgrade ciklusba kerül, ami akkor sem ér véget, amikor már tényleg gazdaságilag veszteséges a dolog, addig a data mining modelleknél ilyen ragaszkodás soha nem volt jellemző - és egy-két upgrade után a süllyesztőkbe kerültek sokszor nemcsak a modellek, hanem az egész adatbányászat is az adott cégnél.
KONKLÚZIÓ
Azt persze nem állítom, hogy csak negatív példák lennének. Nagyon sok helyen sikerült az adatbányászati modellek helyét megtalálni. Azonban ehhez néhány feltételnek teljesülnie kellett:
1. A modellek tényleg értéket teremtettek (és teremtenek folyamatosan)
2. Az elemzők a megrendelői igényeket menedzselték (csak annyit vállaltak, amit be is tudtak tartani)
3. Sikerült egy felhasználói kört kialakítani.
Amennyiben a fenti feltételek teljesülnek, abban az esetben a modellek öregedése lassítható, sőt megállítható. Amiben egy adatbányászati szakértő talán tud segíteni, az egy modell "életkorának" megállapítása, majd tanácsadással a modell öregedésének lassítására/megállítása.