Dela via


Komponent för neural nätverksregression

Skapar en regressionsmodell med hjälp av en neural nätverksalgoritm

Kategori: Maskininlärning/Initiera modell/regression

Komponentöversikt

I den här artikeln beskrivs en komponent i Azure Machine Learning-designern.

Använd den här komponenten för att skapa en regressionsmodell med hjälp av en anpassningsbar neural nätverksalgoritm.

Även om neurala nätverk är allmänt kända för att användas i djupinlärning och modellering av komplexa problem som bildigenkänning, är de enkelt anpassade till regressionsproblem. Alla klasser av statistiska modeller kan kallas för ett neuralt nätverk om de använder anpassningsbara vikter och kan ungefärliga icke-linjära funktioner för sina indata. Därför passar neural nätverksregression för problem där en mer traditionell regressionsmodell inte passar en lösning.

Neural nätverksregression är en övervakad inlärningsmetod och kräver därför en taggad datauppsättning, som innehåller en etikettkolumn. Eftersom en regressionsmodell förutsäger ett numeriskt värde måste etikettkolumnen vara en numerisk datatyp.

Du kan träna modellen genom att ange modellen och den taggade datamängden som indata till Träna modell. Den tränade modellen kan sedan användas för att förutsäga värden för de nya indataexemplen.

Konfigurera neural nätverksregression

Neurala nätverk kan anpassas i stor utsträckning. I det här avsnittet beskrivs hur du skapar en modell med två metoder:

  • Skapa en neural nätverksmodell med hjälp av standardarkitekturen

    Om du accepterar standardarkitekturen för neurala nätverk använder du fönstret Egenskaper för att ange parametrar som styr beteendet för det neurala nätverket, till exempel antalet noder i det dolda lagret, inlärningshastighet och normalisering.

    Börja här om du är nybörjare på neurala nätverk. Komponenten stöder många anpassningar, samt modelljustering, utan djup kunskap om neurala nätverk.

  • Definiera en anpassad arkitektur för ett neuralt nätverk

    Använd det här alternativet om du vill lägga till extra dolda lager eller helt anpassa nätverksarkitekturen, dess anslutningar och aktiveringsfunktioner.

    Det här alternativet är bäst om du redan är lite bekant med neurala nätverk. Du använder net#-språket för att definiera nätverksarkitekturen.

Skapa en neural nätverksmodell med hjälp av standardarkitekturen

  1. Lägg till komponenten Neural Network Regression i pipelinen i designern. Du hittar den här komponenten under Maskininlärning, Initiera, i kategorin Regression .

  2. Ange hur du vill att modellen ska tränas genom att ange alternativet Skapa träningsläge .

    • Enskild parameter: Välj det här alternativet om du redan vet hur du vill konfigurera modellen.

    • Parameterintervall: Välj det här alternativet om du inte är säker på de bästa parametrarna och vill köra en parametersvepning. Välj ett intervall med värden att iterera över, och Tune Model Hyperparameters itererar över alla möjliga kombinationer av de inställningar som du angav för att fastställa de hyperparametrar som ger optimala resultat.

  3. I specifikationen för dolt lager väljer du Fullständigt anslutet skiftläge. Det här alternativet skapar en modell med hjälp av standardarkitekturen för neurala nätverk, som för en regressionsmodell för neurala nätverk har följande attribut:

    • Nätverket har exakt ett dolt lager.
    • Utdataskiktet är helt anslutet till det dolda lagret och det dolda lagret är helt anslutet till indataskiktet.
    • Antalet noder i det dolda lagret kan anges av användaren (standardvärdet är 100).

    Eftersom antalet noder i indataskiktet bestäms av antalet funktioner i träningsdata kan det i en regressionsmodell bara finnas en nod i utdataskiktet.

  4. För Antal dolda noder anger du antalet dolda noder. Standardvärdet är ett dolt lager med 100 noder. (Det här alternativet är inte tillgängligt om du definierar en anpassad arkitektur med net#.)

  5. För inlärningshastighet skriver du ett värde som definierar det steg som tas vid varje iteration, före korrigering. Ett större värde för inlärningshastigheten kan leda till att modellen konvergerar snabbare, men den kan överskrida lokal minima.

  6. För Antal inlärnings-iterationer anger du det maximala antalet gånger som algoritmen bearbetar träningsfallen.

  7. För Momentum skriver du ett värde som ska tillämpas under inlärningen som vikt på noder från tidigare iterationer.

  8. Välj alternativet Blanda exempel för att ändra ordning på ärenden mellan iterationer. Om du avmarkerar det här alternativet bearbetas ärenden i exakt samma ordning varje gång du kör pipelinen.

  9. För Slumptalsutsäde kan du ange ett värde som ska användas som frö. Det är användbart att ange ett startvärde när du vill säkerställa repeterbarhet för körningar av samma pipeline.

  10. Anslut en träningsdatauppsättning och träna modellen:

    • Om du ställer in Läget Skapa tränareEnskild parameter ansluter du en taggad datauppsättning och komponenten Träna modell .

    • Om du anger Skapa träningsläge till Parameterintervall ansluter du en taggad datauppsättning och tränar modellen med hjälp av Tune Model Hyperparameters.

    Kommentar

    Om du skickar ett parameterintervall till Train Model används endast standardvärdet i listan med enskilda parametrar.

    Om du skickar en enskild uppsättning parametervärden till komponenten Tune Model Hyperparameters ignoreras värdena när det förväntar sig ett intervall med inställningar för varje parameter och använder standardvärdena för eleven.

    Om du väljer alternativet Parameterintervall och anger ett enda värde för valfri parameter används det enskilda värdet som du angav under hela svepet, även om andra parametrar ändras över ett värdeintervall.

  11. Skicka pipelinen.

Resultat

När träningen är klar:

  • Om du vill spara en ögonblicksbild av den tränade modellen väljer du fliken Utdata i den högra panelen i komponenten Träna modell . Välj ikonen Registrera datauppsättning för att spara modellen som en återanvändbar komponent.

Nästa steg

Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.