Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
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
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.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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.
Csatlakozás betanító datset és az egyik képzési modult:
Ha az Oktató létrehozása módot egyparaméteresre, használja a Modell betanítása módot.
Ha az oktatói mód létrehozásaparamétertartományt ad meg, használja a Modell hiperparaméterek hangolása gombra.
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.
Futtassa a kísérletet.
Egyéni architektúra meghatározása
Adja hozzá a neurális hálózat regressziós modulját a kísérlethez.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Csatlakozás betanító datset és az egyik képzési modult:
Ha a Create trainer mode (Oktató létrehozása) módot Single Parameter (Egyparaméteres) beállításra beállította, használja a Train Model (Modell betanítása) módot.
Ha az Oktató létrehozása módotParamétertartományra, használja a Modell-hiperparaméterek hangolása gombra.
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.
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:
- Mély neurális hálózatok – példa (A. rész)
- Példa mély neurális hálózatokra (B. rész)
- Mély neurális hálózatok – példa (C. rész)
- Mély neurális hálózatok – példa (D. rész)
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 |