Komponent för neural nätverksregression

Skapar en regressionsmodell med hjälp av en algoritm för neuralt nätverk

Kategori: Machine Learning/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 algoritm för neuralt nätverk.

Även om neurala nätverk är allmänt kända för djupinlärning och modellering av komplexa problem, till exempel bildigenkänning, är de enkelt anpassade till regressionsproblem. Alla klasser av statistiska modeller kan kallas neurala nätverk om de använder anpassningsbara vikter och kan uppskatta 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 får plats i en lösning.

Regression av neurala nätverk ä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 datauppsättningen som indata till Träningsmodell. Den tränade modellen kan sedan användas för att förutsäga värden för de nya indataexemplen.

Konfigurera regression för neuralt nätverk

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 modell för neuralt nätverk 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 inte har använt neurala nätverk tidigare. 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 ganska bekant med neurala nätverk. Du använder språket Net# för att definiera nätverksarkitekturen.

Skapa en modell för neuralt nätverk med hjälp av standardarkitekturen

  1. Lägg till komponenten Neural Network Regression i din pipeline i designern. Du hittar den här komponenten under Machine Learning, 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 parameterrensning. Välj ett värdeintervall att iterera över, så itererar Tune Model Hyperparameters ö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 ärende. 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 skiktet 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. I 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ärningstakt anger du ett värde som definierar det steg som tas vid varje iteration, före korrigering. Ett större värde för inlärningsfrekvensen kan göra att modellen konvergerar snabbare, men den kan överskrida lokal minima.

  6. För Antal iterationer för inlärning 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 en vikt på noder från tidigare iterationer.

  8. Välj alternativet Blanda exempel för att ändra ordningen 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öndr kan du ange ett värde som ska användas som startvärde. 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 anger Skapa träningsläge till Enskild parameter ansluter du en taggad datauppsättning och komponenten Träna modell .

    • Om du ställer in Skapa träningslägeParameterintervall ansluter du en taggad datauppsättning och tränar modellen med hjälp av Tune Model Hyperparameters.

    Anteckning

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

    Om du skickar en enda uppsättning parametervärden till komponenten Tune Model Hyperparameters ignoreras värdena när en uppsättning inställningar för varje parameter förväntas, och standardvärdena för learner används.

    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 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.