Megosztás a következőn keresztül:


Neurális hálózat típusú regresszió

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Regressziós modellt hoz létre egy neurális hálózati algoritmussal

Kategória: Machine Learning / Modell inicializálása /Regresszió

Megjegyzés

A következőkre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használható a neurális hálózat regressziós modulja a Machine Learning Studio (klasszikus) használatával regressziós modell létrehozásához egy testre szabható neurális hálózati algoritmus használatával.

Bár a neurális hálózatok széles körben ismertek a mély tanuláshoz és az olyan összetett problémák modellezésére, mint a képfelismerés, könnyen a regressziós problémákhoz igazhatók. A statisztikai modellek bármely osztálya lehet neurális hálózat, ha adaptív súlyokat használ, és közelítőleg közelítőleg képes a bemenetek nem lineáris függvényeire. Így a neurális hálózat regressziója olyan problémákhoz alkalmas, amelyekben egy hagyományosabb regressziós modell nem illik a megoldásba.

A neurális hálózat regressziója felügyelt tanulási módszer, ezért címkézett adatkészletre van szükség, amely tartalmaz egy címkeoszlopot. Mivel a regressziós modell numerikus értéket jelez előre, a címkeoszlopnak numerikus adattípusnak kell lennie.

A modellt betaníthatja úgy, hogy a modellt és a címkézett adatkészletet adja meg bemenetként a Modell betanítása vagy a Modell hiperparaméterének hangolása érdekében. A betanított modell ezután felhasználható az új bemeneti példák értékeinek előrejelzésére.

Neurális hálózati regresszió konfigurálása

A neurális hálózatok széles körben testre szabhatók. Ez a szakasz azt ismerteti, hogyan hozhat létre modellt két módszerrel:

  • Neurális hálózati modell létrehozása az alapértelmezett architektúra használatával

    Ha elfogadja az alapértelmezett neurális hálózati architektúrát, a Tulajdonságok panelen állíthatja be a neurális hálózat viselkedését vezérlő paramétereket, például a rejtett réteg csomópontjainak számát, a tanulási sebességet és a normalizálást.

    Ha még nem kezd neurális hálózatokat, kezdje itt. A modul számos testreszabást és modell-finomhangolást támogat a neurális hálózatok mély ismerete nélkül.

  • Egyéni architektúra meghatározása neurális hálózathoz

    Akkor használja ezt a lehetőséget, ha további rejtett rétegeket szeretne hozzáadni, vagy teljesen testre szeretné szabni a hálózati architektúrát, annak kapcsolatait és aktiválási funkcióit.

    Ez a lehetőség akkor a legjobb, ha már ismeri a neurális hálózatokat. A hálózati architektúra meghatározásához a Net# nyelvet használhatja.

Neurális hálózati modell létrehozása az alapértelmezett architektúra használatával

  1. Adja hozzá a Neurális hálózati regresszió modult a studióban található kísérlethez (klasszikus). Ezt a modult a RegresszióMachine Learninginicializálása szakaszban találja.

  2. Az Oktatói mód létrehozása lehetőség beállításával jelezze, hogyan szeretné betanítni a modellt.

    • Egyetlen paraméter: Válassza ezt a lehetőséget, ha már tudja, hogyan szeretné konfigurálni a modellt.

    • Paramétertartomány: Válassza ezt a lehetőséget, ha nem biztos a legjobb paraméterekben. Ezután adjon meg egy értéktartományt, és használja a Modell hiperparaméterek hangolása modult a kombinációk iterálására, és keresse meg az optimális konfigurációt.

  3. A Rejtett réteg specifikációja mezőben válassza a Teljes mértékben csatlakoztatott eset lehetőséget. Ez a beállítás egy modellt hoz létre az alapértelmezett neurális hálózati architektúrával, amely egy neurális hálózati regressziós modell esetében a következő attribútumokkal rendelkezik:

    • A hálózat pontosan egy rejtett réteggel rendelkezik.
    • A kimeneti réteg teljesen csatlakoztatva van a rejtett réteghez, a rejtett réteg pedig teljesen a bemeneti réteghez.
    • A rejtett réteg csomópontjainak számát a felhasználó állíthatja be (az alapértelmezett érték 100).

    Mivel a bemeneti réteg csomópontjainak számát a betanítási adatok jellemzőinek száma határozza meg, a regressziós modellben csak egy csomópont lehet a kimeneti rétegben.

  4. A Rejtett csomópontok száma mezőbe írja be a rejtett csomópontok számát. Az alapértelmezett egy rejtett réteg 100 csomóponttal. (Ez a lehetőség nem érhető el, ha egyéni architektúrát határoz meg a Net# használatával.)

  5. A Tanulás a javítás előtt adjon meg egy értéket, amely meghatározza az egyes iterációk lépését. A tanulási sebesség nagyobb értéke gyorsabb konvergálhat, de túlterhelést okozhat a helyi minimumok esetében.

  6. A Tanulási iterációk száma beállításnál adja meg, hogy az algoritmus legfeljebb hányszor dolgozza fel a betanítási eseteket.

  7. A kezdeti tanulási súlyozáshoz írjon be egy értéket, amely meghatározza a csomópont súlyozását a tanulási folyamat elején.

  8. A The the foga mezőben adjon meg egy értéket, amely a tanulás során a korábbi iterációk csomópontjainak súlyozásaként lesz alkalmazva.

  9. A Normalizáló típusaként válasszon egyet a következő módszerek közül a funkciók normalizálására:

    • Rögzítési normalizáló: A betűzése egyenlő méretű csoportokat hoz létre, majd normalizálja az egyes csoportokban található összes értéket, hogy el legyen osztva a csoportok teljes számmal.

    • Gauss-normalizáló: A Gauss-normalizálás az egyes funkciók értékeit úgy skálázja át, hogy az átlagérték 0, a variancia pedig 1. Ez az egyes jellemzők átlagának és varianciájának számítása, majd minden példánynál a átlagérték kivonása és a variancia négyzetgyöke (a szórás) osztása.

    • Min-Max normalizer: A minimális normalizálás lineárisan újraméretez minden jellemzőt a [0,1] intervallumra.

      A [0,1] intervallumra való átméretezés úgy történik, hogy az egyes funkciók értékeit úgy osztjuk meg, hogy a minimális érték 0 legyen, majd osztjuk el az új maximális értékkel (ami az eredeti maximális és minimális értékek közötti különbség).

    • Ne normalizáljon: Nem történik normalizálás.

  10. Válassza a Példák osztása lehetőséget az esetek sorrendjének az iterációk közötti módosítása érdekében. Ha nem választja ki ezt a beállítást, az esetek feldolgozása a kísérlet minden futtatásakor pontosan ugyanabban a sorrendben történik.

  11. A Véletlenszám-kezdőérték mezőben igény szerint be is írhatja a kezdőértékként használni szükséges értéket. A kezdőérték megadása akkor hasznos, ha biztosítani szeretné az ismételhetőséget ugyanazon kísérlet futtatásai között.

  12. Válassza az Ismeretlen kategorikus szintek engedélyezése lehetőséget az ismeretlen értékek csoportosításának létrehozásához. Előfordulhat, hogy a modell kevésbé pontos az ismert értékek esetében, de jobb előrejelzéseket biztosít az új (ismeretlen) értékekről.

    Ha nem választja ki ezt a beállítást, a modell csak a betanítás adataiban szereplő értékeket tudja elfogadni.

  13. Csatlakozás betanító datset és az egyik képzési modult:

    Figyelmeztetés

    Ha paramétertartományt ad át a Modell betanítása számára, az csak az első értéket használja a paramétertartományok listájában.

    Ha egyetlen paraméterérték-készletet ad át a Modell hiperparaméterek hangolása modulnak, és az egyes paraméterekhez egy beállítástartományt vár, az figyelmen kívül hagyja az értékeket, és az alapértelmezett értékeket használja a tanuló számára.

    Ha a Paramétertartomány lehetőséget választja, és egyetlen értéket ad meg bármely paraméterhez, akkor a rendszer az Ön által megadott egyetlen értéket használja a teljes tartományban, még akkor is, ha más paraméterek változnak egy értéktartományban.

  14. Futtassa a kísérletet.

Egyéni architektúra meghatározása

  1. Adja hozzá a neurális hálózat regressziós modulját a kísérlethez.

  2. Az Oktatói mód létrehozása lehetőség beállításával jelezze, hogyan szeretné betanítni a modellt.

    • Egyetlen paraméter: Válassza ezt a lehetőséget, ha már tudja, hogyan szeretné konfigurálni a modellt.

    • Paramétertartomány: Válassza ezt a lehetőséget, ha nem biztos a legjobb paraméterekben. Ezután adjon meg egy értéktartományt, és használja a Modell hiperparaméterek hangolása modult a kombinációk iterálására, és keresse meg az optimális konfigurációt.

  3. A Rejtett réteg specifikációja mezőben válassza az Egyéni definíciós szkript lehetőséget. Ezt a lehetőséget akkor kell választania, ha egyéni neurális hálózati architektúrát szeretne definiálni a Net#-nyelv használatával.

  4. Miután kiválasztotta az Egyéni definíciós szkript lehetőséget, megjelenik a Neurális hálózat definíciója szövegmező. A Net#-szkriptek beillesztésével egyéni architektúrát definiálhat a neurális hálózathoz, beleértve a rejtett rétegek számát, azok kapcsolatait és speciális beállításokat, például a rétegek közötti leképezéseket.

  5. A Tanulás a javítás előtt adjon meg egy értéket, amely meghatározza az egyes iterációk lépését. A tanulási sebesség nagyobb értéke gyorsabb konvergálhat, de túlterhelést okozhat a helyi minimumok esetében.

  6. A Tanulási iterációk száma beállításnál adja meg, hogy az algoritmus legfeljebb hányszor dolgozza fel a betanítási eseteket.

  7. A kezdeti tanulási súlyozáshoz írjon be egy értéket, amely meghatározza a csomópont súlyozását a tanulási folyamat elején.

  8. A The the foga mezőben adjon meg egy értéket, amely a tanulás során a korábbi iterációk csomópontjainak súlyozásaként lesz alkalmazva.

  9. A Normalizáló típusaként válasszon egyet a következő módszerek közül a funkciók normalizálására:

    • Rögzítési normalizáló: A betűzés egyenlő méretű csoportokat hoz létre, majd az egyes csoportokban található összes értéket normalizálja a csoportok teljes számának osztása alapján.

    • Gauss-normalizáló: A Gauss-normalizálás az egyes funkciók értékeit úgy skálázja át, hogy az átlagérték 0, a variancia pedig 1. Ez az egyes jellemzők átlagának és varianciájának számítása, majd minden példánynál a átlagérték kivonása és a variancia négyzetgyöke (a szórás) osztása.

    • Min-Max: A min-max normalizálás lineárisan újraskálizálja az összes jellemzőt a [0,1] intervallumra.

      A [0,1] intervallumra való átméretezés úgy történik, hogy az egyes funkciók értékeit úgy osztjuk meg, hogy a minimális érték 0 legyen, majd osztjuk el az új maximális értékkel (ami az eredeti maximális és minimális értékek közötti különbség).

    • Ne normalizáljon: Nem történik normalizálás.

  10. Az ismétlések közötti esetek sorrendjének beállítását a Példák sorrendje beállítás kiválasztásával módosíthatja. Ha nem választja ki ezt a beállítást, az esetek feldolgozása pontosan ugyanabban a sorrendben történik a kísérlet minden futtatásakor.

  11. Véletlenszerű szám kezdőértékeként begépelhet egy értéket, amely kezdőértékként használható. A kezdőérték megadása akkor hasznos, ha ugyanazon kísérlet minden futtatása során meg szeretné ismételhetőnek lenni.

  12. Jelölje be az Ismeretlen kategorikus szintek engedélyezése lehetőséget, hogy az ismeretlen értékekhez csoportosítást hozzon létre. A tesztadatkészletben minden ismeretlen érték ehhez az ismeretlen kategóriához lesz leképezve. Ezzel a beállítással a modell kevésbé lesz pontos az ismert értékek esetében, de jobb előrejelzéseket ad az új (ismeretlen) értékekről.

    Ha nem választja ki ezt a beállítást, a modell csak a betanítás adataiban szereplő értékekre tud előrejelzéseket tenni.

  13. Csatlakozás betanító datset és az egyik képzési modult:

    Figyelmeztetés

    Ha paramétertartományt ad át a Modell betanítása számára, az csak az első értéket fogja használni a paramétertartományok listájában.

    Ha egyetlen paraméterérték-készletet ad át a Modell hiperparaméterek hangolása modulnak, és az egyes paraméterekhez egy beállítástartományt vár, az figyelmen kívül hagyja az értékeket, és a tanuló alapértelmezett értékeit használja.

    Ha a Paramétertartomány lehetőséget választja, és egyetlen értéket ad meg bármely paraméterhez, a rendszer ezt az egyetlen értéket fogja használni a teljes átvizsgálás során, még akkor is, ha más paraméterek változnak egy értéktartományban.

  14. Futtassa a kísérletet.

Results (Eredmények)

A betanítás befejezése után:

  • A modell paramétereinek összegzését és a betanításból tanult jellemzősúlyokat és a neurális hálózat egyéb paramétereit a jobb gombbal a Train Model (Modell betanítása) vagy a Tune Model Hyperparameters (Modell hiperparaméterek hangolása) kimenetére kattintva, majd a Visualize (Képi megjelenítés) lehetőséget választva láthatja.

  • A betanított modell pillanatképének mentéshez kattintson a jobb gombbal a Betanított modell kimenetére, és válassza a Mentés betanított modellként lehetőséget. Ez a modell nem frissül ugyanazon kísérlet egymást követő futtatásaikor.

  • Ha keresztellenőrzést szeretne végezni egy címkézett adathalmazon, csatlakoztassa a nem képezett modellt a Modell keresztellenőrzése hez.

Példák

Az algoritmus kísérletekben való használatára vonatkozó példákért tekintse meg az alábbi mintákat a Azure AI Gallery:

  • Több regressziós algoritmus összehasonlítása: Több regressziós algoritmus használatát mutatja be, és összehasonlítja azok eredményeit.

A kísérletek további segítséget nyújtanak a Net# szolgáltatásban. A kísérletek kapcsolódnak egymáshoz, és az alapszintűtől a speciális konfigurációkig haladnak:

Technikai megjegyzések

Ez a szakasz az implementáció részleteit, a tippeket és a gyakori kérdésekre adott válaszokat tartalmazza.

További információ a Netről #

A Machine Learning Studio (klasszikus) használatával testre szabhatja egy neurális hálózati modell architektúráját a Net#-nyelv használatával. A Net# nyelv által támogatott testreszabások a következők:

  • A rejtett rétegek számának és az egyes rétegekben lévő csomópontok számának megadása
  • Rétegek közötti leképezések megadása
  • Konvolúciók és súlymegosztó csomagok definiálása
  • Az aktiválási függvény kiválasztása

A neurális hálózati modellt a gráf szerkezete határozza meg, amely a következő attribútumokat tartalmazza:

  • A rejtett rétegek száma
  • Az egyes rejtett rétegek csomópontjainak száma
  • A rétegek összekapcsolása
  • Melyik aktiválási függvényt használja?
  • Súlyok a gráféleken

Fontos

A felhasználó a gráf általános szerkezetét és az aktiválási függvényt is meg tudja adni. Az éleken azonban nem lehet megadni a súlyokat, és a neurális hálózat bemeneti adatokon való betanítása során meg kell tanulni.

A hálózat alapértelmezései általában a következőek:

  • Az első réteg mindig a bemeneti réteg.
  • Az utolsó réteg mindig a kimeneti réteg.
  • A kimeneti rétegben a csomópontok számának egyenlőnek kell lennie az osztályok számával.

Bármilyen számú köztes réteget definiálhat (ezeket rejtett rétegeknek is nevezik, mert a modell tartalmazza őket, és nincsenek közvetlenül végpontként elérhetővé téve).

A Net# referencia-útmutatója ismerteti a szintaxist, és minta hálózati definíciókat biztosít. Ismerteti, hogyan használhatja a Net# használatával rejtett rétegeket, és határozza meg, hogyan kommunikálnak egymással a különböző rétegek.

Az alábbi szkript auto például a kulcsszót használja, amely automatikusan beállítja a funkciók számát a bemeneti és kimeneti rétegekhez, és az alapértelmezett értékeket használja a rejtett réteghez.

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

További példákat a Guide to the Net# Neural Networks Specification Language (Útmutató a Net# neurális hálózatok specifikációs nyelvhez) tartalmaz.

Tipp

A neurális hálózatok számos hiperparaméter és egyéni hálózati topológiák bevezetése miatt számítási szempontból költségesek lehetnek. Bár sok esetben a neurális hálózatok jobb eredményeket hoznak, mint más algoritmusok, az ilyen eredmények eléréséhez jelentős mennyiségű, hiperparamétereket átfedő (iterációkat) kell használni.

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
Rejtett réteg specifikációja Lista Neurális hálózati topológia Teljesen csatlakoztatott eset Adja meg a rejtett réteg vagy rétegek architektúráját
A kezdeti tanulási súlyok >=double. Epsilon Float 0.1 A csomópont súlyozásának megadása a tanulási folyamat elején
Tanulási sebesség [double. Epsilon;0.01] Float 0.005 A tanulási folyamat egyes lépési méretének megadása
A 3. [0.0;1.0] Float 0,0 Adja meg a korábbi iterációkból származó csomópontok tanulása során alkalmazandó súlyozást
Neurális hálózat definíciója Bármelyik StreamReader Az "Egyéni definíciós szkript" kiválasztásakor minden sorba írjon be egy érvényes szkriptkifejezést az egyéni neurális hálózat rétegeinek, csomópontjainak és viselkedésének meghatározásához
A normalizáló típusa Lista Normalizálási módszer Min-Max normalizáló A tanulási példákra alkalmazni kívánt normalizálási típus kiválasztása
Rejtett csomópontok száma Bármelyik Sztring 100 Írja be a rejtett rétegben lévő csomópontok számát. Több rejtett réteg esetén írjon be egy vesszővel elválasztott listát.
Tanulási iterációk száma >=1 Egész szám 100 Iterációk számának megadása tanulás közben
Példák az osztásra Bármelyik Logikai true Ezzel a lehetőséggel módosíthatja a példányok sorrendjét a tanulási iterációk között
Véletlenszerű szám kezdőszáma Bármelyik Egész szám Adjon meg egy numerikus kezdőértéket, amely véletlenszerű szám generáláshoz használható. Hagyja üresen az alapértelmezett kezdőérték használatát.

Ez a paraméter nem kötelező
Ismeretlen kategorikus szintek engedélyezése Bármelyik Logikai true Jelezze, hogy létre kell-e hoznunk egy további szintet az ismeretlen kategóriákhoz. Ha a tesztadatkészlet olyan kategóriákat tartalmaz, amelyek nincsenek jelen a betanítás adatkészletében, akkor a rendszer erre az ismeretlen szintre leképezi őket.

Kimenetek

Név Típus Description
Nem korlátozott modell ILearner interfész Nem korlátozott regressziós modell

Lásd még

Regresszió
A–Z modullista