Linjär regressionskomponent
I den här artikeln beskrivs en komponent i Azure Mašinsko učenje designer.
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 utfall 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 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 linjen och mäta fel. Regression refererar helt enkelt till 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 på högdimensionella, glesa datauppsättningar som saknar komplexitet.
Azure Mašinsko učenje 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 utfall 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 logistisk regression med flera etiketter kan ett exempel till exempel tilldelas till flera olika etiketter. (Detta skiljer sig från uppgiften att förutsäga flera nivåer inom en enskild klassvariabel.)
Den här typen av regression stöds inte i Azure Mašinsko učenje. Om du vill förutsäga flera variabler skapar du en separat elev 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 med minst kvadrater 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 ingående. 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ärningsfrekvensen och så vidare. Det här alternativet stöder också användning av en integrerad parametersvepning.
Vanliga minsta kvadrater är en av de vanligaste teknikerna inom linjär regression. Till exempel är minsta kvadrat 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 anpassa en regressionsmodell med olika alternativ:
Anpassa en regressionsmodell med vanliga minsta kvadrater
För små datauppsättningar är det bäst att välja vanliga minsta rutor. Detta bör ge liknande resultat som Excel.
Skapa en regressionsmodell med hjälp av online gradient descent
Gradient descent är en bättre förlustfunktion för modeller som är mer komplexa eller som har för lite träningsdata med tanke på antalet variabler.
Skapa en regressionsmodell med vanliga minsta kvadrater
Lägg till komponenten Linjär regressionsmodell i pipelinen i designern.
Du hittar den här komponenten i kategorin Mašinsko učenje. Expandera Initiera modell, expandera Regression och dra sedan komponenten Linjär regressionsmodell till din pipeline.
I listrutan Egenskaper i listrutan Lösningsmetod väljer du Vanliga minsta rutor. Det här alternativet anger den beräkningsmetod som används för att hitta regressionslinjen.
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-regularisering för Mašinsko učenje
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.
För slumptalsutsäde kan du ange ett värde för att ange den slumptalsgenerator som används av modellen.
Att använda ett startvärde är användbart om du vill behålla samma resultat i olika körningar av samma pipeline. Annars är standardvärdet att använda ett värde från systemklockan.
Lägg till komponenten Träna modell i pipelinen och anslut en märkt datauppsättning.
Skicka pipelinen.
Resultat för modell med vanliga minsta kvadrater
När träningen är klar:
- Om du vill göra förutsägelser ansluter du den tränade modellen till komponenten Poängsätta modell tillsammans med en datamängd med nya värden.
Skapa en regressionsmodell med hjälp av online gradient descent
Lägg till komponenten Linjär regressionsmodell i pipelinen i designern.
Du hittar den här komponenten i kategorin Mašinsko učenje. Expandera Initiera modell, expandera Regression och dra komponenten Linjär regressionsmodell till din pipeline
I listrutan Lösningsmetod i fönstret Egenskaper väljer du Online Gradient Descent som beräkningsmetod som används för att hitta regressionslinjen.
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 parametersvepning.
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 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.
För Inlärningshastighet anger du den inledande inlärningshastigheten för stochastic gradient descent optimizer.
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.
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.
Kommentar
Kom ihåg att använda samma normaliseringsmetod för nya data som används för bedömning.
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-regularisering för Mašinsko učenje
Välj alternativet Minska inlärningsfrekvensen om du vill att inlärningsfrekvensen ska minska allt eftersom iterationerna fortskrider.
För slumptalsutsäde kan du ange ett värde för att ange den slumptalsgenerator som används av modellen. Att använda ett startvärde är användbart om du vill behålla samma resultat i olika körningar av samma pipeline.
Träna modellen:
Om du ställer in Läget Skapa tränare på Enskild 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.
Skicka pipelinen.
Resultat för online gradient descent
När träningen är klar:
- Om du vill göra förutsägelser ansluter du den tränade modellen till komponenten Poängsätta modell tillsammans med nya indata.
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Mašinsko učenje.