A gépi tanulás, a mesterséges intelligencia egy részhalmaza, magában foglalja az algoritmusok és statisztikai modellek használatát, amelyek lehetővé teszik a számítógépek számára, hogy kifejezett utasítások nélkül hajtsanak végre feladatokat, ehelyett mintákra és következtetésekre támaszkodva. Ezen a területen számos algoritmust fejlesztettek ki különféle típusú problémák kezelésére, kezdve az osztályozástól és a regressziótól a klaszterezésig és a dimenziócsökkentésig. Az alábbiakban a gépi tanulásban leggyakrabban használt és legszélesebb körben használt algoritmusokat tárgyalom, mindegyikre átfogó magyarázatot adva.
1. Lineáris regresszió
A lineáris regresszió az egyik legegyszerűbb és legalapvetőbb algoritmus a gépi tanulásban. Prediktív modellezésre használják, és egy függő változó és egy vagy több független változó közötti kapcsolat modellezésére lineáris megközelítést alkalmaz. Ha csak egy független változó van, akkor egyszerű lineáris regressziónak nevezzük, ha pedig több független változó van, akkor többszörös lineáris regressziónak nevezzük.
A lineáris regresszió elsődleges célja az adatpontokon keresztül a legjobban illeszkedő egyenes megtalálása. Ezt a vonalat a következő egyenlet ábrázolja:
ahol a függő változó,
a független változók,
az elfogás,
a független változók együtthatói, és
a hiba kifejezés.
A lineáris regressziót széles körben használják egyszerűsége és értelmezhetősége miatt. Különösen hasznos olyan forgatókönyvekben, ahol a változók közötti kapcsolat megközelítőleg lineáris. Előfordulhat azonban, hogy nem teljesít jól nemlineáris adatokkal, vagy ha összetett kapcsolatok vannak a változók között.
2. Logisztikai regresszió
Neve ellenére a logisztikus regressziót inkább osztályozásra használják, mint regressziós problémákra. Akkor alkalmazható, ha a függő változó kategorikus. A logisztikus regresszió azt a valószínűséget jelzi előre, hogy egy adott bemenet egy adott kategóriába tartozik. Az algoritmus a logisztikus függvényt, más néven szigmoid függvényt használja egy bináris függő változó modellezésére:
ahol annak a valószínűsége, hogy a függő változó
a független változók ismeretében egyenlő 1-gyel
.
A logisztikai regressziót széles körben használják bináris osztályozási problémákban, például spam-észlelésben, hitelpontozásban és orvosi diagnózisban. Ez kiterjeszthető a többosztályos osztályozásra olyan technikákkal, mint az egy-mindegy vagy a softmax regresszió.
3. Döntési fák
A döntési fák egy nem paraméteres, felügyelt tanulási módszer, amelyet osztályozásra és regresszióra használnak. A modell egy fastruktúra formájában készült, ahol minden belső csomópont egy attribútumon végzett tesztet, minden ág a teszt eredményét, és minden levélcsomópont egy osztálycímkét vagy egy folytonos értéket képvisel.
A döntési fa felépítésének folyamata magában foglalja a legjobb szolgáltatás kiválasztását az adatok felosztásához az egyes csomópontokon. Ez általában olyan kritériumok alapján történik, mint a Gini-szennyeződés vagy az információnyereség (entrópia). A döntési fák könnyen értelmezhetők, és képesek numerikus és kategorikus adatokat is kezelni. Azonban hajlamosak a túlillesztésre, különösen összetett fák esetén.
4. Vector Machines (SVM) támogatása
A Support Vector Machines hatékony és sokoldalú felügyelt tanulási modellek, amelyeket mind osztályozási, mind regressziós feladatokhoz használnak. Különösen hatékonyak a nagy dimenziós terekben, és ismertek a lineáris és nemlineáris adatok kezelésében nyújtott robusztusságukról.
Az SVM alapötlete egy olyan hipersík megtalálása, amely a legjobban szétválasztja az adatokat különböző osztályokba. A nem lineárisan elválasztható adatok esetében az SVM a kerneltrükknek nevezett technikát használja, hogy az adatokat egy magasabb dimenziós térré alakítsa át, ahol lineárisan elválaszthatóvá válik. A gyakori kernelek közé tartozik a lineáris, polinomiális és radiális bázisfüggvény (RBF).
Az SVM-eket széles körben használják olyan alkalmazásokban, mint a képosztályozás, a bioinformatika és a szöveges kategorizálás.
5. K-Legközelebbi szomszédok (KNN)
A K-Nearest Neighbors egy egyszerű, példányalapú tanulási algoritmus, amelyet osztályozásra és regresszióra használnak. Előrejelzéseket készít az alapján legközelebbi képzési példák a funkciótérben. Az osztályozáshoz a legközelebbi szomszédok többségi osztályát választjuk, míg a regresszióhoz a legközelebbi szomszédok átlagát vagy mediánját használjuk.
A KNN nem paraméteres és lusta, ami azt jelenti, hogy nem tesz feltételezéseket a mögöttes adateloszlásról, és nem igényel képzést. Ez azonban számítási szempontból költséges lehet, különösen nagy adatkészletek esetén, mivel ki kell számítani a távolságot a tesztpéldány és az összes betanítási példány között.
6. Naiv Bayes
A Naive Bayes valószínűségi algoritmusok családja, amely Bayes tételén alapul, és az osztálycímkével ellátott jellemzőpárok függetlenségét feltételezi. E "naiv" feltevés ellenére a Naive Bayes osztályozók sikeresek voltak különböző alkalmazásokban, különösen a szövegosztályozásban és a levélszemét-szűrésben.
Az algoritmus kiszámítja az egyes osztályok utólagos valószínűségét a bemeneti jellemzők alapján, és kiválasztja a legnagyobb valószínűségű osztályt. A Naive Bayes számításilag hatékony és jól működik nagydimenziós adatokkal, bár teljesítménye romolhat, ha a függetlenségi feltételezést megsértik.
7. Random Forest
A Random Forest egy olyan együttes tanulási módszer, amely több döntési fát szerkeszt a képzés során, és kiadja az egyes fák osztályainak módját (osztályozás) vagy átlagos előrejelzését (regresszió). Ez a zsákolás (bootstrap aggregation) kiterjesztése, és a döntési fákkal kapcsolatos túlillesztési problémát kezeli.
A Random Forest a véletlenszerűséget úgy vezeti be, hogy minden egyes fához kiválaszt egy véletlenszerű részhalmazt, ami növeli a diverzitást és csökkenti a fák közötti korrelációt. Ez egy robusztus modellt eredményez, amely jól teljesít különféle típusú adatokon, és kevésbé hajlamos a túlillesztésre.
8. Gradient Boosting Machines (GBM)
A Gradient Boosting Machines egy másik olyan együttes technika, amely szekvenciálisan építi fel a modelleket. Ellentétben a Random Foresttel, amely önállóan építi fel a fákat, a GBM minden fát úgy készít, hogy kijavítsa az előzőek hibáit. Ezt úgy érjük el, hogy az új fát a veszteségfüggvény negatív gradiensére illesztjük.
A GBM rendkívül hatékony mind az osztályozási, mind a regressziós feladatokban, és számos nyerő megoldás alapja volt a gépi tanulási versenyeken. Azonban érzékeny a paraméterek hangolására, és számításigényes lehet.
9. Neurális hálózatok
A neurális hálózatok az emberi agy által ihletett modellek osztálya, amelyek csomópontok (neuronok) egymással összekapcsolt rétegeiből állnak. Képesek bonyolult nemlineáris kapcsolatok modellezésére, és a gépi tanulás számos közelmúltbeli fejlesztésének élvonalába tartoznak.
A neurális hálózat legegyszerűbb formája az előrecsatolt neurális hálózat, ahol az adatok egy vagy több rejtett rétegen keresztül áramlanak a bemeneti rétegből a kimeneti rétegbe. Minden kapcsolathoz tartozik egy súlyozás, és a hálózat megtanulja ezeket a súlyokat az előrejelzések hibájának minimalizálása érdekében.
A neurális hálózatok a mély tanulás alapját képezik, olyan architektúrákkal, mint a konvolúciós neurális hálózatok (CNN-ek) és az ismétlődő neurális hálózatok (RNN-ek) kép- és szekvenciaadatokhoz.
10. Klaszterezési algoritmusok
A fürtözési algoritmusokat a felügyelet nélküli tanulás során használják a hasonló adatpontok csoportosítására. A leggyakoribb klaszterezési algoritmusok közé tartozik:
- K-Means klaszterezés: Ez az algoritmus felosztja az adatokat klasztereket az egyes klasztereken belüli szórás minimalizálásával. Egyszerű és hatékony nagy adatkészletek esetén, de előzetesen meg kell adni a klaszterek számát.
- Hierarchikus klaszterezés: Ez a módszer a klaszterek hierarchiáját építi fel alulról felfelé (agglomeratív) vagy felülről lefelé (megosztó) megközelítéssel. Nem szükséges megadni a klaszterek számát, de számítási szempontból drágább.
- DBSCAN (zajjal rendelkező alkalmazások sűrűség-alapú térbeli klaszterezése): Ez az algoritmus azokat a pontokat csoportosítja, amelyek szorosan egymás mellett vannak, és az alacsony sűrűségű régiókban lévő pontokat kiugró értékként jelöli meg. Különösen hasznos a különböző formájú és méretű klaszterek azonosítására.
A gépi tanulás algoritmusának megválasztása a probléma természetétől, az adatok jellemzőitől és a kívánt eredménytől függ. Minden algoritmusnak megvannak a maga erősségei és korlátai, és ezeknek az árnyalatoknak a megértése fontos a hatékony modellépítéshez. Ahogy a gépi tanulás területe folyamatosan fejlődik, új algoritmusokat és technikákat fejlesztenek ki, amelyek tovább bővítik az adattudósok és a gépi tanulással foglalkozó szakemberek rendelkezésére álló eszköztárat.
További friss kérdések és válaszok ezzel kapcsolatban EITC/AI/GCML Google Cloud Machine Learning:
- Miért használják gyakran a regressziót prediktorként?
- Relevánsak-e a Lagrange-szorzók és a kvadratikus programozási technikák a gépi tanulásban?
- Alkalmazható-e egynél több modell a gépi tanulási folyamat során?
- Képes-e a gépi tanulás a forgatókönyvtől függően kiválasztani a használandó algoritmust?
- Mi a legegyszerűbb módja a legalapvetőbb didaktikus MI-modell betanításának és telepítésének a Google AI Platformon egy ingyenes próbaverzió/próbaverzió és egy grafikus felhasználói felületű konzol segítségével, lépésről lépésre egy teljesen kezdő számára, programozási háttérrel nem?
- Hogyan lehet gyakorlatilag betanítani és telepíteni egy egyszerű AI-modellt a Google Cloud AI Platformon a GCP konzol grafikus felületén keresztül egy lépésről lépésre bemutató útmutatóban?
- Mi a legegyszerűbb, lépésről lépésre történő eljárás az elosztott AI-modell betanításának gyakorlására a Google Cloudban?
- Mi az első modell, amin lehet dolgozni, és van néhány gyakorlati javaslat a kezdéshez?
- Az algoritmusok és előrejelzések emberi adatokon alapulnak?
- Melyek a természetes nyelvi feldolgozási modell létrehozásának főbb követelményei és legegyszerűbb módszerei? Hogyan lehet ilyen modellt létrehozni a rendelkezésre álló eszközökkel?
További kérdések és válaszok az EITC/AI/GCML Google Cloud Machine Learningben