Gépi tanulás (Machine Learning)
A Gépi Tanulás a Mesterséges Intelligencia egyik részterülete, melynek célja, hogy olyan algoritmusokat és modelleket alakítsunk ki, melyek lehetővé teszik a gépek számára, hogy adatokból tanuljanak, és előrejelzéseket végezzenek anélkül, hogy ezeknek az explicit logikáját leprogramoznánk.
Miben különbözik a gépi tanulás a sima programozástól?
A hagyományos programozásban a fejlesztő (programozó) explicit leképezi például azt az üzleti logikát, ami alapján döntést szeretnénk hozni. Tehát a programozó kap egy üzleti igényt (input) és erre ír egy programot, ami pontosan azt teszi, amit az igény megfogalmazott.
A Mesterséges Intelligencia esetén nem definiáljuk előre, hogy mi alapján szeretnénk meghozni egy üzleti döntést. Ehelyett olyan adatokat adunk át egy tanuló algoritmusnak, ami alapján az megtanulja a mögöttes üzleti logikát. Tehát a mesterséges intelligencia fejlesztő (Data Scientist) itt adatokat használ inputként, és egy betanított modell lesz a folyamat eredménye.
Milyen típusai vannak a gépi tanulásnak?
Felügyelt tanulás (supervised learning)
A tanulás fázisában az algoritmus olyan adatokat kap, melyeknél tudjuk, hogy az adott megfigyelés milyen osztályba tartozik (célváltozó). Például egy banki tranzakció csalás volt, vagy sem. Így az algoritmus meg tudja tanulni, hogy a többi rendelkezésre álló adatból (bemeneti változók) hogyan tudja kikövetkeztetni a célváltozó értékét.
Az üzleti életben előforduló eseteknél ez az egyik leggyakrabban alkalmazott módszer. Hatalmas előnye, hogy a múltbéli adatokon le is tudjuk tesztelni, hogy a betanított modell mennyire lett pontos.
A felügyelt tanuláson belül a leggyakrabban használt eljárások
-
- regresszió: a célunk egy folytonos szám értékének becslése, például egy tőzsdei árfolyam előrejelzése.
-
- osztályozás: célunk a megfigyelések különböző osztályokba sorolása, mint például:
-
- „Egy adott ügyfél érdeklődik egy adott szolgáltatásunk iránt, vagy nem?”
-
- „Egy adott gyógyszer hatásos lesz-e az adott betegségre vagy sem?”
Tovább tanítás (fine tune)
Ebben az esetben egy már – akár mások által – betanított modellt tanítunk tovább. Jó példa erre a képfelismerés világa, ahol sok modell érhető el, amik már egész jól felismernek tárgyakat. Ezeket a modelleket lehetőségünk van tovább tanítani, hogy a mi specifikusabb igényeinket is kielégítsék.
Felügyelet nélküli tanulás (unsupervised learning)
Az üzleti életben egyik leggyakrabban alkalmazott példa erre a tanulási formára a klaszterezés vagy más néven csoportosítás (például ügyfelek szegmentálása marketing célokra). Itt az eljárás maga próbálja meg csoportosítani az adatokat olyan módon, hogy a hasonló ügyfelek egy csoportba, míg a különböző ügyfelek eltérő csoportokba kerüljenek.
Megerősítéses tanulás (reinforcement learning)
A megerősítéses tanulás folyamán az algoritmus folyamatosan kap újabb adatokat, amelyeket beépít a tudásába és „okosítja” önmagát. Robotikai fejlesztéseknél és a nagy nyelvi modellek (Large Language Model) létrehozásánál gyakran alkalmazott módszer.
Fontos megemlíteni az ajánlórendszereket (recommendation engine) is, melyek általában a fent felsorolt tanulási módszerek közül többet is ötvöznek, hogy összességében egy komplex ajánlási logika kerüljön megvalósításra.
Honnan tudjuk, hogy jól tanulta meg az MI a feladatot?
A mesterséges intelligencia modellek tanításának egyik legfontosabb része a betanított modell ellenőrzése, validálása. Nagyvonalúan azt is mondhatjuk, hogy ennek 2 fő része van:
Statisztikai validálás: amikor különböző statisztikai módszerekkel vizsgáljuk, hogy a modell mennyire pontosan teszi a dolgát. Attól függően, hogy milyen típusú probléma megoldására tanítottuk be a modellünket, más és más módszereket kell alkalmazzunk a működés pontosságának ellenőrzéséhez.
Üzleti validálás: természetesen nem tudunk mindent statisztikákkal ellenőrizni, így kiemelten fontos az üzleti szempontú ellenőrzés is. Olyan kérdésekre keressük ilyenkor a választ, mint pl. “Milyen hatása lesz a teljes üzleti folyamatomra, ha a döntéseim egy részét a fejlesztett modellel fogom meghozni?”
Milyen fő lépésekből áll az MI modell fejlesztés?
Az MI modellek fejlesztését alapvetően 2 részre lehet bontani:
1, Tanuló algoritmusok fejlesztése: ez inkább kutatói munka, amikor valaki egy teljesen új megközelítést próbál létrehozni a gépi tanulás témakörében. Ez lehet egy teljesen új típusú eljárás, vagy egy meglévő eljárás egy újabb változatának létrehozása. Üzleti életben ez a ritkább.
2, Egy létező tanuló algoritmus alkalmazása, annak betanítása / továbbtanítása (fine tune) az üzleti problémához illeszkedő adathalmaz segítségével. Ennek eredményeképp jön létre egy betanított modell, ami az adott üzleti problémára alkalmazható.
Gépi tanulási modellek tanításának főbb lépései
-
- Probléma beazonosítása
- Adatgyűjtés és feldolgozás
- Tréning és Teszt adathalmazokat kialakítása
- Gépi tanulási algoritmus kiválasztása
- Modell betanítása
- Modell kiértékelése
- Modell létesítése és működésének monitorozása
Milyen üzleti kihívások esetén lehet sikerrel alkalmazni a Gépi Tanulást?
A teljesség igénye nélkül felsorolunk néhány alkalmazási területet:
-
- Egészségügy: diagnózis, prognózis támogatása és kezelési tervek kialakítása. Röntgen, CT és MR felvételek kiértékelésénél támogatása.
-
- Pénzügy: Csalás felderítés, Hitelkérelem-elbíráló rendszerek, algoritmikus kereskedés
-
- Telekommunikáció: kereszt értékesítés, hálózat analízis, csalás felderítés
-
- Kereskedelem: személyre szabott marketing, árazás, készlet tervezés
-
- Gyártás: hatékonyság növelése, minőségbiztosítás, meghibásodás előrejelzés
De összességében elmondható, hogy szinte minden iparágban vannak olyan területek, ahol a gépi tanulás a folyamatok optimalizálásában nagy segítséget nyújthat.
Milyen eszközöket használhatunk MI modellek fejlesztésére?
A gépi tanulási modellek fejlesztéséhez manapság a legelterjedtebb programozási nyelv a Python. Szinte minden nagyobb szolgáltató – akár felhőben, akár földi környezetben – biztosít környezetet, ahol Python nyelven lehet ML modelleket fejleszteni.
Emellett ma már számos olyan eszköz is van a piacon, ahol low-code / no-code elvek alapján grafikus felületen keresztül is van lehetőségünk a modellezésre:
-
- Google Vertex
-
- Azure ML
-
- Amazon Sagemaker
-
- IBM Watson
-
- KNIME