Komponent för linjär regression

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

Använd den här komponenten för att skapa en linjär regressionsmodell för användning i en pipeline. Linjär regression försöker upprätta en linjär relation mellan en eller flera oberoende variabler och ett numeriskt resultat, eller beroende variabel.

Du använder den här komponenten för att definiera en linjär regressionsmetod och sedan träna en modell med hjälp av en märkt datauppsättning. Den tränade modellen kan sedan användas för att göra förutsägelser.

Om linjär regression

Linjär regression är en vanlig statistisk metod, som har antagits inom maskininlärning och förbättrats med många nya metoder för att passa in linjen och mäta fel. Regression syftar helt enkelt på förutsägelse av ett numeriskt mål. Linjär regression är fortfarande ett bra val när du vill ha en enkel modell för en grundläggande förutsägelseuppgift. Linjär regression tenderar också att fungera bra med högdimensionella, glesa datauppsättningar som saknar komplexitet.

Azure Machine Learning stöder en mängd olika regressionsmodeller, förutom linjär regression. Termen "regression" kan dock tolkas löst och vissa typer av regression som tillhandahålls i andra verktyg stöds inte.

  • Det klassiska regressionsproblemet omfattar en enda oberoende variabel och en beroende variabel. Detta kallas enkel regression. Den här komponenten stöder enkel regression.

  • Flera linjär regression omfattar två eller flera oberoende variabler som bidrar till en enda beroende variabel. Problem där flera indata används för att förutsäga ett enda numeriskt resultat kallas även multivariat linjär regression.

    Komponenten Linjär regression kan lösa dessa problem, liksom de flesta andra regressionskomponenter.

  • Regression med flera etiketter är uppgiften att förutsäga flera beroende variabler i en enda modell. I till exempel logistisk regression med flera etiketter kan ett exempel tilldelas till flera olika etiketter. (Detta skiljer sig från uppgiften att förutsäga flera nivåer inom en enda klassvariabel.)

    Den här typen av regression stöds inte i Azure Machine Learning. Om du vill förutsäga flera variabler skapar du en separat learner för varje utdata som du vill förutsäga.

I åratal har statistiker utvecklat allt mer avancerade metoder för regression. Detta gäller även för linjär regression. Den här komponenten stöder två metoder för att mäta fel och passa regressionslinjen: vanlig metod för minsta kvadrat och gradient descent.

  • Gradient descent är en metod som minimerar mängden fel i varje steg i modellträningsprocessen. Det finns många variationer på gradient descent och dess optimering för olika inlärningsproblem har studerats i stor utsträckning. Om du väljer det här alternativet för Lösningsmetod kan du ange en mängd olika parametrar för att styra stegstorleken, inlärningshastigheten och så vidare. Det här alternativet stöder också användning av en integrerad parameterrensning.

  • Vanliga minsta kvadrater är en av de vanligaste teknikerna inom linjär regression. Minsta kvadrat är till exempel den metod som används i Analysis Toolpak för Microsoft Excel.

    Vanliga minsta kvadrater refererar till förlustfunktionen, som beräknar felet som summan av avståndets kvadrat från det faktiska värdet till den förutsagda linjen, och passar modellen genom att minimera kvadratfelet. Den här metoden förutsätter en stark linjär relation mellan indata och den beroende variabeln.

Konfigurera linjär regression

Den här komponenten stöder två metoder för att passa en regressionsmodell med olika alternativ:

Skapa en regressionsmodell med vanliga minsta kvadrater

  1. Lägg till komponenten Linear Regression Model (Linjär regressionsmodell) i din pipeline i designern.

    Du hittar den här komponenten i kategorin Machine Learning . Expandera Initiera modell, expandera Regression och dra sedan komponenten Linjär regressionsmodell till din pipeline.

  2. I fönstret Egenskaper går du till listrutan Lösningsmetod och väljer Vanliga minsta kvadrater. Det här alternativet anger beräkningsmetoden som används för att hitta regressionslinjen.

  3. I L2-regulariseringsvikt anger du det värde som ska användas som vikt för L2-regularisering. Vi rekommenderar att du använder ett värde som inte är noll för att undvika överanpassning.

    Mer information om hur regularisering påverkar modellanpassning finns i den här artikeln: L1 och L2 Regularization for Machine Learning

  4. Välj alternativet Inkludera skärningspunkt, om du vill visa termen för skärningspunkten.

    Avmarkera det här alternativet om du inte behöver granska regressionsformeln.

  5. För slumptalsutsöndr kan du välja att ange ett värde för att ange slumptalsgeneratorn som används av modellen.

    Att använda ett startvärde är användbart om du vill behålla samma resultat för olika körningar av samma pipeline. Annars är standardvärdet att använda ett värde från systemklockan.

  6. Lägg till komponenten Train Model (Träna modell) i din pipeline och anslut en märkt datauppsättning.

  7. Skicka pipelinen.

Resultat för vanlig modell med minsta kvadrat

När träningen är klar:

  • Om du vill göra förutsägelser ansluter du den tränade modellen till komponenten Score Model (Poängsätt modell ) tillsammans med en datauppsättning med nya värden.

Skapa en regressionsmodell med online-gradient descent

  1. Lägg till komponenten Linear Regression Model (Linjär regressionsmodell) i din pipeline i designern.

    Du hittar den här komponenten i kategorin Machine Learning . Expandera Initiera modell, expandera Regression och dra komponenten Linjär regressionsmodell till din pipeline

  2. I listrutan Lösningsmetod i fönstret Egenskaper väljer du Online Gradient Descent som beräkningsmetod för att hitta regressionslinjen.

  3. För Skapa träningsläge anger du om du vill träna modellen med en fördefinierad uppsättning parametrar eller om du vill optimera modellen med hjälp av en parameterrensning.

    • Enskild parameter: Om du vet hur du vill konfigurera det linjära regressionsnätverket kan du ange en specifik uppsättning värden som argument.

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

  4. För Inlärningstakt anger du den inledande inlärningsfrekvensen för optimeraren för stokastisk gradient descent.

  5. För Antal träningsepoker anger du ett värde som anger hur många gånger algoritmen ska iterera genom exempel. För datauppsättningar med ett litet antal exempel bör det här antalet vara stort för att uppnå konvergens.

  6. Normalisera funktioner: Om du redan har normaliserat de numeriska data som används för att träna modellen kan du avmarkera det här alternativet. Som standard normaliserar komponenten alla numeriska indata till ett intervall mellan 0 och 1.

    Anteckning

    Kom ihåg att använda samma normaliseringsmetod för nya data som används för bedömning.

  7. I L2-regulariseringsvikt anger du det värde som ska användas som vikt för L2-regularisering. Vi rekommenderar att du använder ett värde som inte är noll för att undvika överanpassning.

    Mer information om hur regularisering påverkar modellanpassning finns i den här artikeln: L1 och L2 Regularization for Machine Learning

  8. Välj alternativet Minska inlärningstakt om du vill att inlärningsfrekvensen ska minska när iterationerna fortskrider.

  9. För slumptalsutsöndr kan du välja att ange ett värde för att ange slumptalsgeneratorn som används av modellen. Att använda ett startvärde är användbart om du vill behålla samma resultat för olika körningar av samma pipeline.

  10. 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 för online gradient descent

När träningen är klar:

Nästa steg

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