Share via


Lineaire regressie

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 lineair regressiemodel

Categorie: Machine Learning/ Model initialiseren/regressie

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

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

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Linear Regression in Machine Learning Studio (klassiek) gebruikt om een lineair regressiemodel te maken voor gebruik in een experiment. Lineaire regressie probeert een lineaire relatie tot stand te stellen tussen een of meer onafhankelijke variabelen en een numeriek resultaat, of afhankelijke variabele.

U gebruikt deze module om een lineaire regressiemethode te definiëren en vervolgens een model te trainen met behulp van een gelabelde gegevensset. Het getrainde model kan vervolgens worden gebruikt om voorspellingen te doen. Het niet-getrainde model kan ook worden doorgegeven aan het model voor kruisvalidatie voor kruisvalidatie op een gelabelde gegevensset.

Meer informatie over lineaire regressie

Lineaire regressie is een algemene statistische methode, die is gebruikt in machine learning en is uitgebreid met veel nieuwe methoden voor het aanpassen van de lijn en het meten van fouten. In de meest eenvoudige zin verwijst regressie naar de voorspelling van een numeriek doel. Lineaire regressie is nog steeds een goede keuze als u een zeer eenvoudig model wilt voor een eenvoudige voorspellende taak. Lineaire regressie werkt ook vaak goed op hoogdimensionale, verspreide gegevenssets zonder complexiteit.

Machine Learning Studio (klassiek) ondersteunt naast lineaire regressie ook tal van regressiemodellen. De term 'regressie' kan echter losjes worden geïnterpreteerd en sommige typen regressie in andere hulpprogramma's worden niet ondersteund in Studio (klassiek).

  • Het klassieke regressieprobleem omvat één onafhankelijke variabele en een afhankelijke variabele. Dit wordt eenvoudige regressie genoemd. Deze module ondersteunt eenvoudige regressie.

  • Meervoudige lineaire regressie omvat twee of meer onafhankelijke variabelen die bijdragen aan één afhankelijke variabele. Problemen waarbij meerdere invoer wordt gebruikt om één numeriek resultaat te voorspellen, worden ook wel multivariate lineaire regressie genoemd.

    De module Linear Regression kan deze problemen oplossen, net als de meeste andere regressiemodules in Studio (klassiek).

  • Regressie met meerdere labels is de taak van het voorspellen van meerdere afhankelijke variabelen binnen één model. In logistieke regressie met meerdere labels kan een voorbeeld bijvoorbeeld worden toegewezen aan meerdere verschillende labels. (Dit verschilt van de taak om meerdere niveaus binnen één klassevariabele te voorspellen.)

    Dit type regressie wordt niet ondersteund in Machine Learning. Als u meerdere variabelen wilt voorspellen, maakt u een afzonderlijke learner voor elke uitvoer die u wilt voorspellen.

Statistici ontwikkelen al jaren steeds geavanceerdere methoden voor regressie. Dit geldt zelfs voor lineaire regressie. Deze module ondersteunt twee methoden om fouten te meten en de regressielijn aan te passen: gewone methode met de minste kwadraat en gradiëntafdaling.

  • Gradiëntafding is een methode waarmee de hoeveelheid fouten bij elke stap van het modeltrainingsproces wordt geminimaliseerd. Er zijn veel variaties op gradiëntafdaling en de optimalisatie ervan voor verschillende leerproblemen is uitgebreid bestudeerd. Als u deze optie kiest voor de oplossingsmethode, kunt u verschillende parameters instellen om de stapgrootte, leersnelheid, enzovoort te bepalen. Deze optie ondersteunt ook het gebruik van een geïntegreerde parameter-opsruiming.

  • Gewone minste kwadraatjes is een van de meest gebruikte technieken in lineaire regressie. Zo is least squares de methode die wordt gebruikt in Analysis Toolpak voor Microsoft Excel.

    Gewone minste kwadraat verwijst naar de verliesfunctie, die fout berekent als de som van het kwadraat van de afstand van de werkelijke waarde tot de voorspelde lijn, en past het model aan door de kwadraatfout te minimaliseren. Deze methode gaat uit van een sterke lineaire relatie tussen de invoer en de afhankelijke variabele.

Lineaire regressie configureren

Deze module ondersteunt twee methoden voor het aanpassen van een regressiemodel, met zeer verschillende opties:

Een regressiemodel maken met behulp van gewone minste kwadraatjes

  1. Voeg de module Linear Regression Model toe aan uw experiment in Studio (klassiek).

    U vindt deze module in de Machine Learning categorie. Vouw Model initialiseren uit, vouw Regressie uit en sleep vervolgens de module Linear Regression Model naar uw experiment.

  2. Selecteer in het deelvenster Eigenschappen in de vervolgkeuzelijst Oplossingsmethode de optie Gewone minste kwadraatjes. Met deze optie geeft u de berekeningsmethode op die wordt gebruikt om de regressielijn te vinden.

  3. Typ in L2-regularisatiegewicht de waarde die moet worden gebruikt als het gewicht voor L2-regularisatie. U wordt aangeraden een niet-nulwaarde te gebruiken om overfitting te voorkomen.

    Zie dit artikel: L1- en L2-regularisatie voor Machine Learning

  4. Selecteer de optie Onderscheppen term opnemen als u de term voor het onderscheppen wilt weergeven.

    Schakel deze optie uit als u de regressieformule niet hoeft te controleren.

  5. Voor seed van willekeurige getallen kunt u eventueel een waarde typen om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt.

    Het gebruik van een seed-waarde is handig als u dezelfde resultaten wilt behouden voor verschillende runs van hetzelfde experiment. Anders gebruikt u standaard een waarde van de systeemklok.

  6. Schakel de optie Onbekende categorische niveaus toestaan uit als u wilt dat ontbrekende waarden een foutmelding geven.

    Als deze optie is geselecteerd, wordt er een extra niveau gemaakt voor elke categorische kolom. Alle niveaus in de testset die niet aanwezig waren in de trainingsset, worden toegewezen aan dit extra niveau.

  7. Voeg de module Train Model toe aan uw experiment en verbind een gelabelde gegevensset.

  8. Voer het experiment uit.

Resultaten voor het model met de minste kwadraatjes

Nadat de training is voltooid:

  • Als u de parameters van het model wilt weergeven, klikt u met de rechtermuisknop op de uitvoer van de docent en selecteert u Visualiseren.

  • Als u voorspellingen wilt doen, koppelt u het getrainde model aan de module Score Model , samen met een gegevensset met nieuwe waarden.

  • Als u kruisvalidatie wilt uitvoeren voor een gelabelde gegevensset, verbindt u het ongetrainde model met Kruisvalidatiemodel.

Een regressiemodel maken met behulp van online gradiëntafdaling

  1. Voeg de module Linear Regression Model toe aan uw experiment in Studio (klassiek).

    U vindt deze module in de Machine Learning categorie. Vouw Model initialiseren uit, vouw Regressie uit en sleep de module Linear Regression Model naar uw experiment

  2. Kies in het deelvenster Eigenschappen, in de vervolgkeuzelijst Oplossingsmethode, Online gradient descent als de berekeningsmethode die wordt gebruikt om de regressielijn te vinden.

  3. Geef in de modus Trainer maken aan of u het model wilt trainen met een vooraf gedefinieerde set parameters of dat u het model wilt optimaliseren met behulp van een parameter-opsmeting.

    • Enkele parameter: als u weet hoe u het lineaire regressienetwerk wilt configureren, kunt u een specifieke set waarden opgeven als argumenten.

    • Parameterbereik: als u wilt dat het algoritme de beste parameters voor u vindt, stelt u de optie Modus maken in op Parameterbereik. U kunt vervolgens meerdere waarden opgeven die door het algoritme kunnen worden geprobeerd.

  4. Voor Learning geeft u de initiële leersnelheid op voor het optimalisatieproces voor stochastische gradiëntafding.

  5. Bij Aantal trainingstijdvakken typt u een waarde die aangeeft hoe vaak het algoritme door voorbeelden moet worden itereren. Voor gegevenssets met een klein aantal voorbeelden moet dit aantal groot zijn om convergentie te bereiken.

  6. Functies normaliseren: als u de numerieke gegevens die worden gebruikt om het model te trainen al hebt genormaliseerd, kunt u de selectie van deze optie ongedaan maken. Standaard normaliseert de module alle numerieke invoer tot een bereik tussen 0 en 1.

    Notitie

    Vergeet niet om dezelfde normalisatiemethode toe te passen op nieuwe gegevens die worden gebruikt voor scoren.

  7. Typ in L2-regularisatiegewicht de waarde die moet worden gebruikt als het gewicht voor L2-regularisatie. U wordt aangeraden een niet-nulwaarde te gebruiken om overfitting te voorkomen.

    Zie dit artikel voor meer informatie over hoe regularisatie van invloed is op modelfitting: L1- en L2-regularisatie voor Machine Learning

  8. Selecteer de optie Gemiddelde eindhypothese om de uiteindelijke hypothese te gemiddelden.

    In regressiemodellen betekent het testen van hypothesen dat er een statistiek wordt gebruikt om de waarschijnlijkheid van de nulhypothese te evalueren, die stelt dat er geen lineaire correlatie is tussen een afhankelijke en onafhankelijke variabele. Bij veel regressieproblemen moet u een hypothese testen die betrekking heeft op meer dan één variabele.

    Deze optie is standaard ingeschakeld, wat betekent dat het algoritme een combinatie van de parameters test waarbij twee of meer parameters betrokken zijn.

  9. Selecteer de optie Leersnelheid verlagen als u wilt dat de leersnelheid afneemt naarmate de iteraties worden uitgevoerd.

  10. Voor Seed met willekeurige getallen kunt u eventueel een waarde typen om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Het gebruik van een seed-waarde is handig als u dezelfde resultaten wilt behouden voor verschillende runs van hetzelfde experiment.

  11. Schakel de optie Onbekende categorische niveaus toestaan uit als u wilt dat ontbrekende waarden een foutmelding geven.

    Wanneer deze optie is geselecteerd, wordt er een extra niveau gemaakt voor elke categorische kolom. Alle niveaus in de testset die niet aanwezig zijn in de trainingsset, worden toegewezen aan dit extra niveau.

  12. Voeg een gelabelde gegevensset en een van de trainingsmodules toe.

    Als u geen parameter-opsruiming gebruikt, gebruikt u de module Model trainen .

    Als u wilt dat het algoritme de beste parameters voor u vindt, traint u het model met Tune Model Hyperparameters.

    Notitie

    Als u het model configureert met specifieke waarden met behulp van de optie Enkele parameter en vervolgens overschakelt naar de optie Parameterbereik , wordt het model getraind met behulp van de minimumwaarde in het bereik voor elke parameter.

    Als u daarentegen specifieke instellingen configureert wanneer u het model maakt, maar de optie Parameterbereik selecteert, wordt het model getraind met behulp van de standaardwaarden voor de learner als het bereik van waarden dat moet worden weergegeven.

  13. Voer het experiment uit.

Resultaten voor online gradiëntafdaling

Nadat de training is voltooid:

Voorbeelden

Zie deze voorbeeldexperimenten in de volgende voorbeelden van regressiemodellen Azure AI Gallery:

Technische opmerkingen

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

Gebruikstips

Veel hulpprogramma's ondersteunen het maken van lineaire regressie, variërend van eenvoudig tot complex. U kunt bijvoorbeeld eenvoudig lineaire regressie uitvoeren in Excel, met behulp van de Solver Toolpak, of u kunt uw eigen regressiealgoritme coden met behulp van R, Python of C#.

Omdat lineaire regressie echter een gevestigde techniek is die wordt ondersteund door veel verschillende hulpprogramma's, zijn er veel verschillende interpretaties en implementaties. Niet alle typen modellen worden evenveel ondersteund door alle hulpprogramma's. Er zijn ook enkele verschillen in naamgeving om waar te nemen.

  • Regressiemethoden worden vaak gecategoriseerd op het aantal antwoordvariabelen. Meervoudige lineaire regressie betekent bijvoorbeeld een model dat meerdere variabelen heeft om te voorspellen.

  • In Matlab verwijst multivariate regressie naar een model met meerdere antwoordvariabelen.

  • In Machine Learning ondersteunen regressiemodellen één antwoordvariabele.

  • In de R-taal zijn de functies voor lineaire regressie afhankelijk van het pakket dat u gebruikt. Het GLM-pakket geeft u bijvoorbeeld de mogelijkheid om een logistiek regressiemodel met meerdere onafhankelijke variabelen te maken. Over het algemeen Machine Learning Studio (klassiek) dezelfde functionaliteit als het R GLM-pakket.

We raden u aan deze module Linear Regression (lineaire regressie) te gebruiken voor typische regressieproblemen.

Als u daarentegen meerdere variabelen gebruikt om een klassewaarde te voorspellen, raden we de modules Logistieke regressie met twee klassen of Multiclass Logistic Regression aan.

Als u andere lineaire regressiepakketten wilt gebruiken die beschikbaar zijn voor de R-taal, raden we u aan de module R-script uitvoeren te gebruiken en de lm- of glm-pakketten aan te roepen die zijn opgenomen in de runtime-omgeving van Machine Learning Studio (klassiek).

Moduleparameters

Name Bereik Type Standaard Beschrijving
Functies normaliseren alle Booleaans true Aangeven of exemplaren moeten worden genormaliseerd
Gemiddelde eindhypothese alle Booleaans true Aangeven of de uiteindelijke hypothese moet worden gegemiddeld
Leersnelheid >= dubbel. Epsilon Float 0,1 Geef de initiële leersnelheid op voor de optimalisatie van de stochastische gradiëntafdaling
Aantal trainings epochs >= 0 Geheel getal 10 Geef op hoe vaak het algoritme door voorbeelden moet worden itereren. Voor gegevenssets met een klein aantal voorbeelden moet dit aantal groot zijn om convergentie te bereiken.
Leersnelheid verlagen Alle Booleaans true Aangeven of de leersnelheid moet afnemen naarmate iteraties worden uitgevoerd
L2-regularisatiegewicht >= 0,0 Float 0,001 Geef het gewicht voor L2-regularisatie op. Gebruik een waarde die niet nul is om overfitting te voorkomen.
Seed van willekeurig getal alle Geheel getal Geef een waarde op om de generator voor willekeurige getallen te seeden die door het model wordt gebruikt. Laat de standaardwaarde leeg.
Onbekende categorische niveaus toestaan alle Booleaans 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.
Term voor onderscheppen opnemen Alle Boolean-waarde True Aangeven of er een extra term moet worden toegevoegd voor het onderscheppen

Uitvoerwaarden

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

Zie ook

Regressie