Gépi tanulási modell betanítása

Befejeződött

A gépi tanulási modellek betanításához gépi tanulási algoritmust kell illeszteni a betanítási adatokhoz annak érdekében, hogy egy elfogadhatóan pontos függvényt határozhasson meg, amely alkalmazható a funkcióira, és kiszámítsa a megfelelő címkéket. Ez fogalmilag egyszerű ötletnek tűnhet; de egy olyan modell betanításának tényleges folyamata, amely pontos előrejelzéseket készít az új adatokról, nem csak a betanított adatokról, kihívást jelenthet, és iteratív megközelítést igényel a modellek ismételt betanítása és kiértékelése több algoritmus és paraméter használatával.

Betanítási és érvényesítési adatok

A gépi tanulási modellek betanításának gyakori módszere az adatok véletlenszerű felosztása részhalmazokra betanítás és ellenőrzés céljából. Ezután a betanítási adatkészlettel elfér egy algoritmus és egy modell betanítása, majd tesztelheti, hogy a modell milyen jól teljesít a visszatartott érvényesítési adatokkal. Ez segít biztosítani, hogy a modell megfelelően általánosuljon – vagyis pontos előrejelzéseket hoz létre olyan betanításokhoz, amelyeken nem képezték be.

Feljegyzés

Azok a modellek, amelyek jól előrejelezik azokat az adatokat, amelyeken betanítást végeztek, de nem működnek jól az új adatokkal, a betanítási adatokra túlképezettnek minősülnek.

Általában be kell tanítania a modellt az adatok körülbelül 70%-ával, és körülbelül 30%-ot vissza kell tartania az ellenőrzéshez.

Gépi tanulási algoritmusok

Számos gépi tanulási algoritmus létezik, amelyek különböző algoritmustípusokba vannak csoportosítva a megoldandó gépi tanulási probléma típusa alapján. A gépi tanulási keretrendszerek többsége több algoritmust tartalmaz a regresszióhoz és a besoroláshoz, valamint a nem felügyelt gépi tanulási problémák, például a fürtözés algoritmusait.

Miután azonosította a megoldandó modell létrehozásához használni kívánt probléma típusát, több ilyen típusú algoritmus közül választhat. Az egyes típusokon belül több algoritmus közül is választhat, amelyek gyakran különböző matematikai műveleteken alapulnak. A besorolási algoritmusok készletén belül például a következő típusú algoritmusok találhatók:

  • Logisztikai regressziós algoritmusok, amelyek iteratív módon alkalmaznak logisztikai függvényeket egy 0 és 1 közötti érték kiszámításához, amely az egyes lehetséges osztályok valószínűségét jelöli, és optimalizálják a függvény együtthatóit az előrejelzett osztály és a tényleges ismert címkeérték közötti különbségek alapján.
  • Faalapú függvények, amelyek meghatároznak egy döntési fát, amelyben egy adott jellemzőt figyelembe kell venni; és az érték alapján egy másik funkciót is figyelembe kell venni, és így tovább, amíg meg nem határozunk egy megfelelő osztálycímkét.
  • Több technikát kombináló algoritmusok az optimális prediktív függvény megtalálásához.

A "legjobb" algoritmus az adatoktól függ, és általában iteratív próbaverziót és hibát igényel a meghatározáshoz.

Hiperparaméterek

A gépi tanulási algoritmus paraméterei azok az adatfunkciók (és címkék), amelyeken be van tanítva. Emellett a legtöbb gépi tanulási algoritmus hiperparamétereket is biztosít, amelyekkel befolyásolhatja az algoritmus működését. A hiperparaméterek lehetővé teszik az olyan dolgok szabályozását, mint a modellben engedélyezni kívánt véletlenszerűség szintje (így általánosítja, de továbbra is elfogadhatóan pontos előrejelzéseket készít), az optimális modell megtalálásához végrehajtott iterációk számát (lehetővé téve a túlillesztés és a betanítási idő optimalizálását), a famodellben figyelembe vett ágak számát, és más algoritmusspecifikus tényezők.

Modell illesztése

Ahhoz, hogy ténylegesen betanítsa a modellt, el kell illesztenie az algoritmust az adatokhoz. Az ehhez használt szintaxis és adatformátumok a gépi tanulási keretrendszerekben eltérőek lehetnek, de az elv mindig ugyanaz. Felügyelt gépi tanulás esetén az algoritmust az ismert címkék alapján illesztheti a funkciókhoz. A nem felügyelt gépi tanuláshoz meg kell adnia a funkciókat, és az algoritmus megkísérli elkülöníteni őket különálló fürtökre.

Az alábbi példa egy logisztikai regressziós modell betanításának elindításához használt kódot mutatja be a Spark MLlib-keretrendszer használatával. A betanítási adatok adatkeretként vannak megadva, amelyben a címkék egész számértékeket tartalmazó oszlopban találhatók, és a megfelelő jellemzők egyetlen vektorként (tömbként) jelennek meg. Ebben a példában két hiperparaméter (maxIter és regParam) is meg lett adva.

from pyspark.ml.classification import LogisticRegression

lr = LogisticRegression(labelCol="label", featuresCol="features", maxIter=10, regParam=0.3)
model = lr.fit(training_df)