Dela via


Logistic Regression med flera klasser

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Skapar en klassificeringsmodell för logistisk regression med flera klasser

Kategori: Machine Learning/initiera modell/klassificering

Anteckning

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

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Modulöversikt

Den här artikeln beskriver hur du använder modulen Multiclass Logistic Regression i Machine Learning Studio (klassisk) för att skapa en logistisk regressionsmodell som kan användas för att förutsäga flera värden.

Klassificering med logistisk regression är en övervakad inlärningsmetod och kräver därför en etiketterad datauppsättning. Du tränar modellen genom att tillhandahålla modellen och den märkta datauppsättningen som indata till en modul, till exempel Träna modell eller Justera hyperparametrar för modell. Den tränade modellen kan sedan användas för att förutsäga värden för nya indataexempel.

Machine Learning Studio (klassisk) innehåller också en modul med två klasser för logistisk regression, som passar för klassificering av binära eller dichotomiska variabler.

Mer om logistisk regression med flera klasser

Logistisk regression är en välkänd metod i statistik som används för att förutsäga sannolikheten för ett utfall och är särskilt populär för klassificeringsuppgifter. Algoritmen förutsäger sannolikheten för förekomst av en händelse genom att anpassa data till en logistisk funktion. Mer information om den här implementeringen finns i avsnittet Tekniska anteckningar.

Vid logistisk regression med flera klasser kan klassificeraren användas för att förutsäga flera resultat.

Så här konfigurerar du en logistisk regression med flera klasser

  1. Lägg till modulen Multiclass Logistic Regression i experimentet.

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

    • Enskild parameter: Använd det här alternativet om du vet hur du vill konfigurera modellen och ange en specifik uppsättning värden som argument.

    • Parameterintervall: Använd det här alternativet om du inte är säker på de bästa parametrarna och vill använda en parametersökning.

  3. Optimeringstolerans anger du tröskelvärdet för optimeringskonvergens. Om förbättringen mellan iterationer är mindre än tröskelvärdet stoppas algoritmen och returnerar den aktuella modellen.

  4. L1-regulariseringsvikt, L2-regulariseringsvikt: Ange ett värde som ska användas för regulariseringsparametrarna L1 och L2. Ett värde som inte är noll rekommenderas för båda.

    Regularisering är en metod för att förhindra överanpassning genom att visualisera modeller med extrema koefficientvärden. Regularisering fungerar genom att lägga till den påföljd som associeras med koefficientvärden till hypotesens fel. En korrekt modell med extrema koefficientvärden skulle bli mer förfallen, men en mindre exakt modell med mer försiktigare värden skulle förfalla mindre.

    L1- och L2-regularisering har olika effekter och användningsområden. L1 kan tillämpas på glesa modeller, vilket är användbart när du arbetar med högdimensionella data. L2-regularisering är däremot att föredra för data som inte är glesa. Den här algoritmen stöder en linjär kombination av regulariseringsvärdena L1 och L2: x = L1y = L2det vill säga om och , ax + by = c definierar det linjära intervallet för regulariseringsvillkoren.

    Olika linjära kombinationer av L1- och L2-termer har utformats för logistiska regressionsmodeller, till exempel elastisk nät regularisering.

  5. Minnesstorlek för L-BFGS: Ange hur mycket minne som ska användas för L-BFGS-optimering . Den här parametern anger antalet tidigare positioner och toningar som ska lagras för beräkningen av nästa steg.

    L-BFGS står för begränsat minne Broyden-Fletcher-Goldfarb-Hashno, och det är en optimeringsalgoritm som är populär för parameteruppskattning. Den här optimeringsparametern begränsar mängden minne som används för att beräkna nästa steg och riktning. När du anger mindre minne blir träningen snabbare men mindre exakt.

  6. Slumptalsvärde: Ange ett heltalsvärde som ska användas som startvärde för algoritmen om du vill att resultaten ska vara upprepningsbara över körningar. Annars används ett systemklockavärde som startvärde, vilket kan ge något olika resultat i körningar av samma experiment.

  7. Tillåt okända kategoriska nivåer: Välj det här alternativet om du vill skapa ytterligare en "okänd" nivå i varje kategorisk kolumn. Alla värden (nivåer) i testdatamängden som inte finns i träningsdatamängden mappas till den här "okända" nivån.

  8. Anslut en märkt datauppsättning och en av utbildningsmodulerna:

    • Om du ställer in läget Skapa utbildarepå Enkel parameter använder du modulen Träna modell.

    • Om du ställer in läget Skapa utbildarepå Parameterintervall använder du modulen Justera hyperparametrar för modell . Med det här alternativet kan du ange flera värden och utbildaren itererar över flera kombinationer av inställningarna för att fastställa vilken kombination av värden som ger den bästa modellen.

    Anteckning

    Om du skickar ett parameterintervall till Träna modell används bara det första värdet i listan över parameterintervall.

    Om du skickar en enda uppsättning parametervärden till modulen 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 eleven används.

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

  9. Kör experimentet.

Resultat

När träningen är klar:

  • Om du vill se en sammanfattning av modellens parametrar, tillsammans med de funktionsvikter som lärts in från träningen, högerklickar du på utdata från modulen Train Model (Träna modell) eller Tune Model Hyperparameters (Justera modellhyperparametrar) och väljer Visualize (Visualisera).

Exempel

Exempel på hur den här inlärningsalgoritmen används finns i Azure AI Gallery:

Teknisk information

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

Vill du lära dig mer om L1- och L2-regularisering? Följande artikel innehåller en diskussion om hur L1- och L2-regularisering skiljer sig åt och hur de påverkar modellanpassning, med kodexempel för logistisk regression och modeller för neurala nätverk.

Mer information om implementeringen av den här algoritmen finns i:

Implementeringsdetaljer

Logistisk regression kräver numeriska variabler. När du försöker använda kategoriska kolumner som en variabel Machine Learning konverterar värdena till en indikatormatris internt.

För datum och tider används en numerisk representation. Mer information om datum/tid-värden finns i DateTime Structure .NET Framework. Om du vill hantera datum och tider på olika sätt föreslår vi att du skapar en härledd kolumn.

Standard logistisk regression är binomial och förutsätter två utdataklasser. Multiklass eller multinom logistisk regression förutsätter tre eller flera utdataklasser.

Binomial logistisk regression förutsätter en logistisk fördelning av data, där sannolikheten att ett exempel tillhör klass 1 är formeln:

p(x;β0,…, βD-1)

Plats:

  • x är en D-dimensionell vektor som innehåller värdena för alla funktioner i instansen.

  • p är funktionen logistisk distribution.

  • β{0},..., β {D-1} är de okända parametrarna för den logistiska fördelningen.

Algoritmen försöker hitta de optimala värdena för genom β{0},..., β {D-1} att maximera loggsannolikhet för parametrarna givet indata. Maximering utförs med hjälp av en populär metod för parameteruppskattning, som kallas För begränsat minne BFGS.

Modulparametrar

Name Intervall Typ Standardvärde Description
Optimeringstolerans >=double. Epsilon Float 0.0000001 Ange ett toleransvärde för L-BFGS-optimeraren
L1-regulariseringsvikt >= 0,0 Float 1.0 Ange regulariseringsvikten för L1. Använd ett värde som inte är noll för att undvika överfitting.
L2-regulariseringsvikt >= 0,0 Float 1.0 Ange regulariseringsvikten för L2. Använd ett värde som inte är noll för att undvika överfitting.
Minnesstorlek för L-GS >= 1 Integer 20 Ange mängden minne (i MB) som ska användas för L-OPTIMIZEGS-optimeraren. När mindre minne används går träningen snabbare, men mindre exakt.
Startnummer för slumptal Valfri Integer Ange ett värde för att seeda slumptalsgeneratorn som används av modellen. Lämna det tomt som standard.
Tillåt okända kategoriska nivåer Valfri Boolesk Sant Ange om ytterligare en nivå ska skapas för varje kategorisk kolumn. Alla nivåer i testdatamängden som inte är tillgängliga i träningsdatamängden mappas till den här ytterligare nivån.

Utdata

Namn Typ Description
Ej tränad modell ILearner-gränssnitt En otränad klassificeringsmodell

Se även

Klassificering
Logistic Regression med två klasser
A-Z-modullista