TSM - Hogyan használtuk a gépi tanulást a szokásaink közötti kapcsolat előrejelzésére?
Adrian Căliman - Megoldásépítész @ PitechPlus
A mesterséges intelligencia, a gépi tanulás és a mély tanulás ezek a "hívószavak", amelyek széles alkalmazhatóságukkal elkápráztatnak bennünket: a lenyűgöző képosztályoktól vagy a fordítás hihetetlen fejlődésétől kezdve a rákos sejtek előrejelzéséig.
Ha elolvassa ennek az új, egyáltalán nem új területnek a történetét, valószínűleg elgondolkodik azon, hogy miért látjuk ezt a hype-ot csak nemrégiben. Ennek oka, hogy az elmúlt években a mesterséges intelligencia-alkalmazások legtöbb alapja nagyon könnyen elérhetővé vált:
Dátum: BIG adatok. Az internetes adatok növekedése exponenciális. Elértünk egy pontot, ahol kétnaponta annyi adatot állítunk elő, amennyit az idők kezdetétől 2000-ig előállítottunk. Ki gondolta volna?
Feldolgozási teljesítmény: gépi tanulás (ML), különösen a mély tanulás, sok adattal együtt, nagy feldolgozási teljesítmény szükségességét eredményezi. Moore törvénye, miszerint a számítási teljesítmény körülbelül kétévente megduplázódik, és hogy a videokártya GPU-k nagyon hatékonynak bizonyultak az ML alkalmazások feldolgozásában, azt jelenti, hogy most megfizethető hardverekkel rendelkezünk, amelyek felhasználhatók erőteljes alkalmazások létrehozására.
Cégünkben bárki eltöltheti önálló tanulási idejét a szoftveres ismeretek elsajátításához vagy elmélyítéséhez. Miután megértettük a gépi tanulás mögött meghúzódó elméletet, ezt az időt a valós problémák megoldására akartuk felhasználni.
Az ML alkalmazás létrehozásának részével kapcsolatos egyik tévhitem az volt, hogy a modell tényleges fejlesztése és oktatása az egész folyamat jelentős része. A valóságban a leghosszabb ideig tartó rész az adatok összegyűjtése és strukturált formává alakítása.
Ábra. 1 - Google Machine Learning Crash Course - Az alkalmazás lépéseinek arányai
Hogyan lehet megtalálni a legmegfelelőbb adatsort
Bár sok adat elérhető (még ingyen is), gyakran strukturálatlan és sok zajt tartalmaz, és az adatok a legfontosabb tényezők a sikeres ML algoritmusban. Első pillantásra, miután észrevette, hogy az első lépés olyan nagy és fontos, de nem feltétlenül alkalmas technikásabb személyek számára, úgy tűnt, hogy akadályunk van abban, hogy lehetővé tegyük számunkra az ML modell gyors működését. Később rendkívüli információforrást fedeztem fel a kaggle.com oldalon. A Kaggle több mint 50 000 nyilvános adatsort tartalmaz, amelyeket kutatók, szakemberek vagy hétköznapi emberek szolgáltatnak a legkülönfélébb területeken. Így, ha sikerült egy érdekes készletet találnunk, amelynek ideális esetben csak megfelelő mennyiségű formázásra és feldolgozásra van szüksége ahhoz, hogy használatra készek legyenek, jelentősen csökkenthetnénk az adatgyűjtéssel töltött időt.
Az AI és az ML mellett mi a leggyakoribb divatszó, amit sajnos hallunk ebben az időszakban? COVID-19. Tehát úgy gondoltuk, hogy jó ötlet lenne új képességeinket gyakorolni és segítő kezet nyújtani az új világjárvány világszerte gyakorolt hatásának jobb megértéséhez.
Az egyik olyan adatcsoport, amelyet a legfontosabb kritériumok ellenőriztem, a COVID-19 egészséges táplálkozás adatkészlete volt. Ez az adatkészlet a világ 170 országában különböző típusú élelmiszerek fogyasztási szokásait tartalmazza csv fájlok formájában. Tartalmazza az egyes országok teljes népességét és a COVID-19 statisztikákat is - a megerősített esetek, halálozások és gyógyulások számát. Az élelmiszercsoportokra, a tápértékekre, az elhízásra és az alultápláltságra vonatkozó adatok az ENSZ Élelmezési és Mezőgazdasági Szervezetétől (FAO) állnak rendelkezésre.
Az adathalmaz feltöltőjének feladata egyszerű: megtudni, hogy az étkezési szokások hogyan befolyásolják a COVID-19 statisztikákat. Az egészséges étkezési szokások előnyt jelentenek az országoknak a koronavírus elleni küzdelemben?
Az egyetlen hátránya ennek az adatkészletnek az, hogy az ML szempontjából meglehetősen kicsi. Hasonló problémák esetén több ezer vagy több rekord szükséges a pontosabb eredmények érdekében. Mivel azonban világszerte nincs több ezer vagy tízezer ország, ez jó kiindulópont annak az általános hipotézisnek a teszteléséhez, miszerint van összefüggés az étel és a koronavírus között.
A tervünk az volt, hogy megválaszoljuk, ha vannak olyan jellemzők, amelyek közvetlenül befolyásolják a COVID-19 által okozott halálozások százalékos arányát az egyes országokban. A terv két különböző megközelítést tartalmaz:
ML algoritmus - Adatok elemzése és olyan jellemzők azonosítása, amelyek összefüggést mutatnak a halálozások számával. Ezek alapján egy olyan gépi tanulási modell létrehozása és felügyelt képzése, amely e jellemzők alapján meg tudja jósolni a halálozások százalékát. Ha az előrejelzések elég pontosak, az azt jelenti, hogy összefüggés van közöttük.

A gépi tanulási modell megközelítése
Az első lépés az adatkészlet feltárása és adataink elemzése volt. A Python volt az első választásunk a programozási nyelv számára, mivel a numpy és a pandas csomagok sok "out of the box" eszközt kínálnak az adatok megtekintésére és feldolgozására.
Miután elemeztük, hány rekord van, mi a minimum, a maximális érték, az átlagérték és a kvantilis százalék, ötletet alkottunk az adatok konzisztenciájáról.
Néhány rendellenességet azonban azonosítottunk:
Az adatok nem teljesek. Néhány sorból hiányoznak az elhízás, a megerősített, a halálesetek, a helyreállított és az aktív oszlop értékei
Ezután létrehoztunk egy mátrixot, amely leírja az összes jellemző oszlop közvetlen matematikai összefüggését. Noha nincs szorosan összefüggő jellemző, négy olyan tulajdonságot azonosítottunk, amelyek közvetlen összefüggésben vannak a Halálok oszloppal (az 1 értéke erős korrelációt jelent):
Elhízás = 0,32
Gabonafélék a sör kivételével = - 0,28
Példák: Árpa, gabonafélék, kukorica, köles, zab, rizs és termékek
Állati termékek = 0,26
Állati termék bármely származékos anyag
Példák: marhahús, vaj, tejszín stb.
Növényi termékek = - 0,26
Példák: alma, banán, bab, gyümölcs, grapefruit, szőlő
(bor nélkül), mogyoróvaj, mogyoró (hámozott), méz stb.
Ezekhez az értékekhez megterveztünk egy hisztogramot, hogy megtekinthessük az adateloszlást, és lássuk, normális vagy ferde-e. Az állati termékek, az elhízás és a növényi termékek eloszlása megközelítőleg normális, a gabonafélék - a sört kivéve - viszont elterjedtek (3. ábra).
Ezután az adatok normalizálását tűztük ki célul normális eloszlás elérése érdekében, és a rekordokat hiányzó értékekkel kezeltük. Kilenc olyan rekordot azonosítottunk, amelyek több oszlopban sem voltak teljes információk, különösen a Halálok oszlopban nem voltak értékek. Mivel ez az oszlop elengedhetetlen a kutatásunkhoz, úgy döntöttünk, hogy kizárjuk a hiányzó információkat tartalmazó iratokat.
A sör nélküli gabonafélék lejtős eloszlásának megoldása érdekében a modell létrehozásakor a Z-Score és Log méretezési módszereket alkalmazzuk. A méretezési művelet eredményeinek megtekintésével láthatjuk, hogy az adatok helyesen kerülnek terjesztésre, ezáltal javítva a modell hatékonyságát.
Ugyanakkor frissíteni fogjuk a Halálok oszlop értékeit, hogy a jellemzőknél megfelelőbb tartományba kerüljön.
Az adatok feldolgozása után elértük a teljes funkciókat, amelyeket rendszerint 160 országban osztottak szét. Folytattuk az adatok 90% -os edzésadatokra és 10% tesztadatokra való felosztását, így 144 edzésrekordot és 16 rekordot kaptunk a modell pontosságának értékeléséhez.
Egy klasszikus lineáris regressziós modellt választottunk, amelyet a TensorFlow és a Keras segítségével valósítottunk meg. A modell teljesítményének értékeléséhez a RootMeanSquaredError szolgáltatást használták fő értékként.
Észrevettük, hogy 12 korongból álló 64 korszak elegendő a modell konvergenciájához. Most már működőképes modellünk van, amely felhasználja az állati termékek, a sörön kívüli gabonafélék, az elhízás és a növényi termékek bevitelét a koronavírus okozta halálozási arány előrejelzésére.
5. ábra - RMSE haladás a modellképzés során
Következtetés és a következő lépések
Az első következtetés, amelyet levonhatunk: egyértelműen van összefüggés ezen jellemzők és az előre jelzett eredmény - a halálozások százalékos aránya között.
A sör és a zöldségtermékek kivételével a gabonafélék szintén közvetlen negatív összefüggést mutatnak. Ezen jellemzők értékének növelése csökkenti a halálozások százalékos arányát. Másrészt az állati termékek növekedésének, amely nem jár együtt a növényi termékekben, közvetlen pozitív korrelációja van, ami a halálozások magasabb százalékához vezet.
Más szavakkal, azokban az országokban, ahol a lakosság nagyobb százaléka fogyaszt gabonaféléket és növényi termékeket, általában alacsonyabb a koronavírus okozta halálozások aránya.
Bár ez kivételes felfedezés, javítani kell rajta. A következő lépések ezen fő jellemzők egyes alkategóriáinak megvizsgálása és a legnagyobb hatást gyakorló élelmiszer-típusok pontosabb meghatározása lesz. A kihívás az adatok összegyűjtése lesz a részletesség ezen szintjén, az ML modell készen áll az újrafelhasználásra ugyanazokkal a fent leírt fő lépésekkel.
További részleteket megtudhat a következtetések levonásához használt kódról.