Linjär regression

Skapar en linjär Regressions modell

Kategori: Machine Learning/initiera modell/regression

Anteckning

Gäller för: Machine Learning Studio (klassisk)

Det här innehållet gäller endast Studio (klassisk). Liknande dra-och släpp moduler har lagts till i Azure Machine Learning designer. Mer information i den här artikeln är att jämföra de två versionerna.

Översikt över modul

Den här artikeln beskriver hur du använder modulen linjär regression i Azure Machine Learning Studio (klassisk) för att skapa en linjär Regressions modell för användning i ett experiment. Linjär regression försöker upprätta en linjär relation mellan en eller flera oberoende variabler och ett numeriskt resultat, eller en beroende variabel.

Du använder den här modulen för att definiera en linjär Regressions metod och sedan träna en modell med hjälp av en etikettad data uppsättning. Den tränade modellen kan sedan användas för att göra förutsägelser. Alternativt kan den ej tränade modellen skickas till en kors validerings modell för kors validering mot en etikettad data uppsättning.

Mer om linjär regression

Linjär regression är en gemensam statistisk metod som har antagits i maskin inlärning och förbättrats med många nya metoder för att anpassa linjen och mäta fel. I den mest grundläggande meningen refererar regression 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ägande uppgift. Linjär regression tenderar också att arbeta bra på högdimensionella, glesa data uppsättningar som saknar komplexitet.

Azure Machine Learning Studio (klassisk) stöder flera olika Regressions modeller, förutom linjär regression. Termen "regression" kan dock tolkas löst och vissa typer av regressioner som tillhandahålls i andra verktyg stöds inte i Studio (klassisk).

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

  • Flera linjära regressioner 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 multivarierad linjär regression.

    Den linjära Regressions modulen kan lösa de här problemen, som kan de flesta av de andra Regressions modulerna i Studio (klassisk).

  • Regression med flera etiketter är uppgiften att förutsäga flera beroende variabler i en enda modell. I multilabel-regressionen kan ett exempel tilldelas flera olika etiketter. (Detta skiljer sig från uppgiften att förutsäga flera nivåer inom en enskild klass variabel.)

    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 elev för varje utdata som du vill förutsäga.

I år har statistiker utvecklat avancerade metoder för regression. Detta gäller även för linjär regression. Den här modulen stöder två metoder för att mäta fel och passar Regressions linjen: vanliga minsta kvadratmetoden och tonings brantaste.

  • Tonings brantaste är en metod som minimerar mängden fel i varje steg i modell inlärnings processen. Det finns många variationer i gradient-brantaste och dess optimering för olika inlärnings problem har för stor ATS. Om du väljer det här alternativet för lösnings metoden kan du ange en rad olika parametrar för att kontrol lera steg storleken, inlärnings hastigheten och så vidare. Det här alternativet stöder även användning av en integrerad parameter svepning.

  • Vanliga minsta kvadratmetoden är en av de oftast använda teknikerna i linjär regression. Till exempel är minsta kvadratmetoden den metod som används i Analysis ToolPak för Microsoft Excel.

    Vanliga minsta kvadratmetoden avser funktionen förlust, som beräknar fel som summan av kvadraten av avståndet från det faktiska värdet till den förväntade linjen, och passar modellen genom att minimera kvadratvärdet. 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 modulen stöder två metoder för att anpassa en Regressions modell, med olika alternativ:

Skapa en Regressions modell med minsta möjliga kvadratmetoden

  1. Lägg till modulen linjär Regressions modell för ditt experiment i Studio (klassisk).

    Du hittar den här modulen i kategorin Machine Learning . Expandera initiera modell, expandera regression och dra sedan modulen linjär Regressions modell till experimentet.

  2. I rutan Egenskaper går du till List rutan lösnings metod och väljer vanliga minsta kvadratmetoden. Det här alternativet anger den beräknings metod som används för att hitta Regressions linjen.

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

    Mer information om hur regulariseringshastigheten påverkar modell anpassning finns i den här artikeln: L1-och L2-regulariseringshastigheten för Machine Learning

  4. Välj alternativet, Inkludera spärr villkor, om du vill visa villkoret för skärningen.

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

  5. Du kan ange ett värde för att dirigera den slumpmässiga nummer generatorn som används av modellen om du vill använda slumpmässig numrering.

    Att använda ett Seed-värde är användbart om du vill behålla samma resultat för olika körningar av samma experiment. Annars är standardvärdet att använda ett värde från system klockan.

  6. Avmarkera alternativet, Tillåt okända kategoriska-nivåer om du vill att värden som saknas ska generera ett fel.

    Om det här alternativet väljs skapas ytterligare en nivå för varje kategoriska-kolumn. Alla nivåer i test data uppsättningen som inte fanns i inlärnings data uppsättningen mappas till denna ytterligare nivå.

  7. Lägg till modulen träna modell i experimentet och Anslut en etikettad data uppsättning.

  8. Kör experimentet.

Resultat för vanlig minsta kvadratmetoden

När utbildningen är klar:

  • Om du vill visa modellens parametrar högerklickar du på utbildaren och väljer visualisera.

  • Om du vill göra förutsägelser ansluter du den tränade modellen till Poäng modellens modul, tillsammans med en data uppsättning med nya värden.

  • Om du vill utföra kors validering mot en etikettad data uppsättning ansluter du den ej tränade modellen till kors validerings modellen.

Skapa en Regressions modell med brantaste för online-gradient

  1. Lägg till modulen linjär Regressions modell för ditt experiment i Studio (klassisk).

    Du hittar den här modulen i kategorin Machine Learning . Expandera initiera modell, expandera regression och dra modulen linjär Regressions modell till experimentet

  2. I rutan Egenskaper i list rutan lösnings metod väljer du brantaste för online-toning som den beräknings metod som används för att hitta Regressions linjen.

  3. För skapa utbildare-lä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 parameter rensning.

    • Enskild parameter: om du vet hur du vill konfigurera ett linjärt Regressions nätverk kan du ange en viss uppsättning värden som argument.

    • Parameter intervall: om du vill att algoritmen ska hitta de bästa parametrarna åt dig anger du alternativet skapa utbildare läge till parameter intervall. Du kan sedan ange flera värden för algoritmen att försöka.

  4. För inlärnings frekvens anger du den inledande inlärnings takten för Stochastic gradient brantaste optimering.

  5. Ange ett värde som anger hur många gånger algoritmen ska iterera genom exempel i antal utbildnings epoker. För data uppsättningar med ett litet antal exempel bör det här talet vara stort för att uppnå konvergens.

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

    Anteckning

    Kom ihåg att använda samma normaliserings metod för nya data som används för poängsättning.

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

    Mer information om hur regulariseringshastigheten påverkar modell anpassning finns i den här artikeln: L1-och L2-regulariseringshastigheten för Machine Learning

  8. Välj alternativet, genomsnittlig slutlig hypotes, för att beräkna den slutliga hypotesen.

    I Regressions modeller innebär hypotes testning att använda viss statistik för att utvärdera sannolikheten för en null-hypotes, som anger att det inte finns någon linjär korrelation mellan en beroende och oberoende variabel. I många Regressions problem måste du testa en hypotes som involverar mer än en variabel.

    Det här alternativet är aktiverat som standard, vilket innebär att algoritmen testar en kombination av parametrarna där två eller flera parametrar ingår.

  9. Välj alternativet för att minska inlärnings takten om du vill att inlärnings takten ska minska allteftersom iterationer fortskrider.

  10. Du kan ange ett värde för att dirigera den slumpmässiga nummer generatorn som används av modellen om du vill använda slumpmässig numrering. Att använda ett Seed-värde är användbart om du vill behålla samma resultat för olika körningar av samma experiment.

  11. Avmarkera alternativet, Tillåt okända kategoriska-nivåer om du vill att värden som saknas ska generera ett fel.

    När det här alternativet väljs skapas ytterligare en nivå för varje kategoriska-kolumn. Alla nivåer i test data uppsättningen som inte finns i inlärnings data uppsättningen är mappade till denna ytterligare nivå.

  12. Lägg till en etikettad data uppsättning och en av inlärnings modulerna.

    Om du inte använder en parameter rensning använder du modulen träna modell .

    Om du vill att algoritmen ska hitta de bästa parametrarna åt dig tränar du modellen med att finjustera modellens egenskaper.

    Anteckning

    Om du konfigurerar modellen med ett visst värde med hjälp av alternativet enskild parameter och sedan växlar till alternativet parameter intervall , tränas modellen med det lägsta värdet i intervallet för varje parameter.

    Om du konfigurerar vissa inställningar när du skapar modellen men väljer alternativet parameter intervall , tränas modellen med standardvärdena för eleven som det värde intervall som ska svepas över.

  13. Kör experimentet.

Resultat för brantaste för online-toning

När utbildningen är klar:

  • Om du vill göra förutsägelser ansluter du den tränade modellen till Poäng modellens modul, tillsammans med nya indata.
  • Om du vill utföra kors validering mot en etikettad data uppsättning ansluter du den ej tränade modellen till kors validerings modellen.

Exempel

Exempel på Regressions modeller finns i följande exempel experiment i Azure AI Gallery:

Tekniska anteckningar

Det här avsnittet innehåller implementerings information, tips och svar på vanliga frågor.

Användnings tips

Många verktyg har stöd för att skapa linjär regression, från enkla till komplexa. Du kan till exempel enkelt utföra linjär regression i Excel med hjälp av problemlösa ren ToolPak, eller så kan du koda din egen Regressions algoritm med R, python eller C#.

Men eftersom linjär regression är en väl etablerad teknik som stöds av många olika verktyg finns det många olika tolkningar och implementeringar. Alla typer av modeller stöds inte lika av alla verktyg. Det finns också vissa skillnader i nomenklaturen att iaktta.

  • Regressions metoder kategoriseras ofta med antalet variabler för svar. Till exempel innebär flera linjära regressioner en modell som har flera variabler att förutsäga.

  • I MATLAB refererar multivarierad regression till en modell som har flera variabler för svar.

  • I Azure Machine Learning stöder Regressions modeller en enda Response-variabel.

  • I R-språket beror de funktioner som anges för linjär regression på det paket som du använder. GLM -paketet ger dig till exempel möjlighet att skapa en logistik Regressions modell med flera oberoende variabler. I allmänhet tillhandahåller Azure Machine Learning Studio (klassisk) samma funktioner som R GLM -paketet.

Vi rekommenderar att du använder den här modulen, linjär regression, för vanliga Regressions problem.

Om du däremot använder flera variabler för att förutsäga ett klass värde rekommenderar vi att du använder en logistik Regressions Regressions regression eller multiklasss-Regressions Regressions -moduler.

Om du vill använda andra linjära Regressions paket som är tillgängliga för R-språket rekommenderar vi att du använder modulen Kör R-skript och anropar LM -eller GLM -paketen, som ingår i körnings miljön för Azure Machine Learning Studio (klassisk).

Parametrar för modul

Name Intervall Typ Standardvärde Beskrivning
Normalisera funktioner valfri Boolesk true Ange om instanserna ska normaliseras
Genomsnittlig slutlig hypotes valfri Boolesk true Ange om den slutliga hypotesen ska beräknas
Inlärningstakt >= Double. Epsilon Float 0.1 Ange den inledande inlärnings frekvensen för Stochastic gradient brantaste-optimering
Antal utbildnings epoker >= 0 Integer 10 Ange hur många gånger algoritmen ska iterera genom exempel. För data uppsättningar med ett litet antal exempel bör det här talet vara stort för att uppnå konvergens.
Minska inlärnings takten Valfri Boolesk true Ange om inlärnings takten ska minskas när iterationer fortskrider
L2-regulariseringshastigheten vikt >= 0,0 Float 0,001 Ange vikten för L2-regulariseringshastigheten. Använd ett värde som inte är noll för att undvika överanpassning.
Slumpmässigt värde för start valfri Integer Ange ett värde för att dirigera den slumpmässiga nummer generatorn som används av modellen. Lämna tomt som standard.
Tillåt okända kategoriska-nivåer valfri Boolesk true Ange om en ytterligare nivå ska skapas för varje kategoriska-kolumn. Alla nivåer i test data uppsättningen är inte tillgängliga i hierarkin data uppsättning mappas till denna ytterligare nivå.
Inkludera spärr period Valfri Boolesk Sant Ange om ytterligare en term ska läggas till för spärren

Utdata

Namn Typ Beskrivning
Modell som inte är tränad ILearner-gränssnitt En biotränad Regressions modell

Se även

Regression