Logistieke regressie met meerdere klassen

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee maakt u een classificatiemodel voor logistieke regressie met meerdere klassen

Categorie: Machine Learning/Model/classificatie initialiseren

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules met slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Multiclass Logistic Regression in Machine Learning Studio (klassiek) gebruikt om een logistiek regressiemodel te maken dat kan worden gebruikt om meerdere waarden te voorspellen.

Classificatie met behulp van logistieke regressie is een leermethode onder supervisie en vereist daarom een gelabelde gegevensset. U traint het model door het model en de gelabelde gegevensset op te geven als invoer voor een module, zoals Train Model of Tune Model Hyperparameters. Het getrainde model kan vervolgens worden gebruikt om waarden voor nieuwe invoervoorbeelden te voorspellen.

Machine Learning Studio (klassiek) biedt ook een module met twee klassen logistieke regressie, die geschikt is voor de classificatie van binaire of dichotome variabelen.

Meer informatie over logistieke regressie met meerdere klasses

Logistieke regressie is een bekende methode in statistieken die wordt gebruikt om de waarschijnlijkheid van een resultaat te voorspellen en is met name populair voor classificatietaken. Het algoritme voorspelt de kans op het optreden van een gebeurtenis door gegevens aan te passen aan een logistieke functie. Zie de sectie Technische notities voor meer informatie over deze implementatie.

In logistieke regressie met meerdere klassen kan de classificatie worden gebruikt om meerdere resultaten te voorspellen.

How to configure a Multiclass Logistic Regression

  1. Voeg de module Multiclass Logistic Regression toe aan het experiment.

  2. Geef op hoe u het model wilt trainen door de optie Trainer-modus maken in te stellen.

    • Eén parameter: gebruik deze optie als u weet hoe u het model wilt configureren en een specifieke set waarden als argumenten wilt opgeven.

    • Parameterbereik: gebruik deze optie als u niet zeker bent van de beste parameters en een parameter-opsruiming wilt gebruiken.

  3. Optimalisatietolerantie: geef de drempelwaarde voor optimalisatieconvergentie op. Als de verbetering tussen iteraties kleiner is dan de drempelwaarde, stopt het algoritme en retourneert het huidige model.

  4. L1-regularisatiegewicht, L2-regularisatiegewicht: typ een waarde die moet worden gebruikt voor de regularisatieparameters L1 en L2. Een waarde die niet nul is, wordt aanbevolen voor beide.

    Regularisatie is een methode om overfitting te voorkomen door modellen met extreme coëfficiëntwaarden te standaardiseren. Regularisatie werkt door de boete die is gekoppeld aan coëfficiëntwaarden toe te voegen aan de fout van de hypothese. Een nauwkeurig model met extreme coëfficiëntwaarden zou meer worden geseraliseerd, maar een minder nauwkeurig model met meer voorzichtige waarden zou minder worden geseraliseerd.

    L1- en L2-regularisatie hebben verschillende effecten en toepassingen. L1 kan worden toegepast op sparse modellen, wat handig is bij het werken met hoogdimensionale gegevens. L2-regularisatie heeft daarentegen de voorkeur voor gegevens die niet verspreid zijn. Dit algoritme ondersteunt een lineaire combinatie van L1- en L2-regularisatiewaarden: dat wil zeggen, als x = L1y = L2en , ax + by = c de lineaire span van de regularisatietermen definieert.

    Er zijn verschillende lineaire combinaties van L1- en L2-termen ontworpen voor logistieke regressiemodellen, zoals elastische net regularisatie.

  5. Geheugengrootte voor L-BFGS: geef de hoeveelheid geheugen op die moet worden gebruikt voor L-BFGS-optimalisatie . Deze parameter geeft het aantal eerdere posities en kleurovergangen aan dat moet worden opgeslagen voor de berekening van de volgende stap.

    L-BFGS staat voor Broyden-Goldfarb-Shanno met beperkt geheugen en is een optimalisatiealgoritme dat populair is voor parameterschattingen. Deze optimalisatieparameter beperkt de hoeveelheid geheugen die wordt gebruikt voor het berekenen van de volgende stap en richting. Wanneer u minder geheugen opgeeft, is de training sneller maar minder nauwkeurig.

  6. Seed met willekeurig getal: typ een geheel getal dat moet worden gebruikt als de seed voor het algoritme als u wilt dat de resultaten herhaalbaar zijn voor runs. Anders wordt een systeemklokwaarde gebruikt als de seed, die iets andere resultaten kan produceren in runs van hetzelfde experiment.

  7. Onbekende categorische niveaus toestaan: selecteer deze optie om een extra 'onbekend' niveau in elke categorische kolom te maken. Alle waarden (niveaus) in de testset die niet aanwezig zijn in de trainingsset, worden toegewezen aan dit 'onbekende' niveau.

  8. Verbinding maken gelabelde gegevensset en een van de trainmodules:

    • Als u de modus Create train mode instelt op Single Parameter, gebruikt u de module Train Model .

    • Als u de modus Create parameters in steltop Parameterbereik, gebruikt u de module Tune Model Hyperparameters . Met deze optie kunt u meerdere waarden opgeven en de docent doorsteert meerdere combinaties van de instellingen om de combinatie van waarden te bepalen die het beste model produceert.

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de eerste waarde in de lijst met parameterbereiken gebruikt.

    Als u één set parameterwaarden doorgeeft aan de module Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de learner gebruikt wanneer er een bereik van instellingen voor elke parameter wordt verwacht.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter ingeeft, wordt die ene waarde die u hebt opgegeven, overal in het bereik gebruikt, zelfs als andere parameters worden gewijzigd binnen een bereik van waarden.

  9. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Klik met de rechtermuisknop op de uitvoer van de module Train Model of Tune Model Hyperparameters en selecteer Visualize (Visualiseren) om een samenvatting te zien van de parameters van het model, samen met de functiegewichten die tijdens de training zijn geleerd.

Voorbeelden

Zie de volgende voorbeelden van hoe dit leeralgoritme wordt Azure AI Gallery:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Wilt u meer informatie over L1- en L2-regularisatie? In het volgende artikel wordt beschreven hoe L1- en L2-regularisatie verschillen en hoe deze van invloed zijn op het aanpassen van modellen, met codevoorbeelden voor logistieke regressie- en neurale netwerkmodellen.

Zie voor meer informatie over de implementatie van dit algoritme:

Implementatiegegevens

Logistieke regressie vereist numerieke variabelen. Wanneer u categorische kolommen als variabele probeert te gebruiken, Machine Learning de waarden daarom intern naar een indicator matrix converteren.

Voor datums en tijden wordt een numerieke weergave gebruikt. Zie DateTime Structure .NET Framework voor meer informatie over datum/.NET Framework. Als u datums en tijden op een andere manier wilt verwerken, raden we u aan een afgeleide kolom te maken.

Standaard logistieke regressie is binomial en gaat uit van twee uitvoerklassen. Bij multiclass of multinomiale logistieke regressie wordt uitgegaan van drie of meer uitvoerklassen.

Bij binomial logistic regression wordt uitgegaan van een logistieke distributie van de gegevens, waarbij de waarschijnlijkheid dat een voorbeeld tot klasse 1 behoort de formule is:

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

Waar:

  • x is een D-dimensionale vector die de waarden van alle functies van het exemplaar bevat.

  • p is de logistieke distributiefunctie.

  • β{0},..., β {D-1} zijn de onbekende parameters van de logistieke distributie.

Het algoritme probeert de optimale waarden voor te vinden door β{0},..., β {D-1} de logboekkans van de parameters op basis van de invoer te maximaliseren. Maximalisatie wordt uitgevoerd met behulp van een populaire methode voor parameterschatting, die BFGS met beperkt geheugen wordt genoemd.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Optimalisatietolerantie >= dubbel. Epsilon Float 0.0000001 Geef een tolerantiewaarde op voor de L-BFGS-optimalisatie
L1-regularisatiegewicht >= 0,0 Float 1.0 Geef het L1-regularisatiegewicht op. Gebruik een waarde die niet nul is om overfitting te voorkomen.
L2-regularisatiegewicht >= 0,0 Float 1.0 Geef het L2-regularisatiegewicht op. Gebruik een waarde die niet nul is om overfitting te voorkomen.
Geheugengrootte voor L-BFGS >= 1 Geheel getal 20 Geef de hoeveelheid geheugen (in MB) op die moet worden gebruikt voor de L-BFGS-optimalisatie. Wanneer er minder geheugen wordt gebruikt, is de training sneller, maar minder nauwkeurig.
Seed van willekeurig getal Alle Geheel getal Typ een waarde om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Laat deze leeg voor de standaardinstelling.
Onbekende categorische niveaus toestaan Alle Boolean-waarde True Geef aan of er een extra niveau moet worden gemaakt voor elke categorische kolom. Alle niveaus in de testset die niet beschikbaar zijn in de trainingsset, worden toegewezen aan dit extra niveau.

Uitvoerwaarden

Naam Type Description
Niet-getraind model ILearner-interface Een ongetraind classificatiemodel

Zie ook

Classificatie
Logistieke regressie met twee klassen
Lijst met A-Z-modules