Lineair regressieonderdeel
In dit artikel wordt een onderdeel in Azure Machine Learning Designer beschreven.
Gebruik dit onderdeel om een lineair regressiemodel te maken voor gebruik in een pijplijn. Lineaire regressie probeert een lineaire relatie tot stand te brengen tussen een of meer onafhankelijke variabelen en een numeriek resultaat of afhankelijke variabele.
U gebruikt dit onderdeel 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.
Over lineaire regressie
Lineaire regressie is een algemene statistische methode, die is gebruikt in machine learning en verbeterd met veel nieuwe methoden voor het aanpassen van de lijn en meetfout. Simpel gezegd, regressie verwijst naar voorspelling van een numeriek doel. Lineaire regressie is nog steeds een goede keuze wanneer u een eenvoudig model wilt voor een eenvoudige voorspellende taak. Lineaire regressie werkt meestal ook goed voor high-dimensionale, parserende gegevenssets die niet complex zijn.
Azure Machine Learning biedt ondersteuning voor diverse regressiemodellen, naast lineaire regressie. De term 'regressie' kan echter losjes worden geïnterpreteerd en sommige typen regressie in andere hulpprogramma's worden niet ondersteund.
Het klassieke regressieprobleem omvat één onafhankelijke variabele en een afhankelijke variabele. Dit wordt eenvoudige regressie genoemd. Dit onderdeel ondersteunt eenvoudige regressie.
Meerdere 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.
Het onderdeel Lineaire regressie kan deze problemen oplossen, net als de meeste andere regressieonderdelen.
Regressie met meerdere labels is de taak om meerdere afhankelijke variabelen binnen één model te voorspellen. In logistieke regressie met meerdere labels kan bijvoorbeeld een voorbeeld worden toegewezen aan meerdere verschillende labels. (Dit verschilt van de taak voor het voorspellen van meerdere niveaus binnen één klassevariabele.)
Dit type regressie wordt niet ondersteund in Azure Machine Learning. Als u meerdere variabelen wilt voorspellen, maakt u een afzonderlijke cursist voor elke uitvoer die u wilt voorspellen.
Al jaren ontwikkelen statistici steeds geavanceerdere methoden voor regressie. Dit geldt zelfs voor lineaire regressie. Dit onderdeel ondersteunt twee methoden voor het meten van fouten en het aanpassen van de regressielijn: gewone kleinste kwadratenmethode en gradiëntafname.
Gradiëntafname is een methode waarmee de hoeveelheid fouten bij elke stap van het modeltrainingsproces wordt geminimaliseerd. Er zijn veel variaties op gradiëntafname 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, het leerpercentage enzovoort te bepalen. Deze optie biedt ook ondersteuning voor het gebruik van een geïntegreerde parameter opruimen.
Gewone kleinste kwadraten is een van de meest gebruikte technieken in lineaire regressie. De kleinste kwadraten zijn bijvoorbeeld de methode die wordt gebruikt in Analysis Toolpak voor Microsoft Excel.
Gewone kleinste kwadraten verwijzen naar de verliesfunctie, die een fout berekent als de som van het kwadraat van de werkelijke waarde naar de voorspelde lijn en past bij het model door de kwadratische fout te minimaliseren. Bij deze methode wordt uitgegaan van een sterke lineaire relatie tussen de invoer en de afhankelijke variabele.
Lineaire regressie configureren
Dit onderdeel ondersteunt twee methoden voor het aanpassen van een regressiemodel, met verschillende opties:
Een regressiemodel aanpassen met gewone kleinste kwadraten
Voor kleine gegevenssets kunt u het beste gewone kleinste kwadraten selecteren. Dit moet vergelijkbare resultaten opleveren als Excel.
Een regressiemodel maken met behulp van online gradiëntafname
Gradiëntafname is een betere verliesfunctie voor modellen die complexer zijn of die te weinig trainingsgegevens hebben op basis van het aantal variabelen.
Een regressiemodel maken met gewone kleinste kwadraten
Voeg het component Linear Regression Model toe aan uw pijplijn in de ontwerpfunctie.
U vindt dit onderdeel in de categorie Machine Learning . Vouw Initialize Model uit, vouw Regressie uit en sleep vervolgens het component Linear Regression Model naar uw pijplijn.
Selecteer in het deelvenster Eigenschappen in de vervolgkeuzelijst Oplossingsmethode de optie Gewone kleinste vierkantjes. Met deze optie geeft u de berekeningsmethode op die wordt gebruikt om de regressielijn te vinden.
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 het aanpassen van modellen: L1 en L2 Regularisatie voor Machine Learning
Selecteer de optie Snijpuntterm opnemen als u de term voor het snijpunt wilt weergeven.
Schakel deze optie uit als u de regressieformule niet hoeft te controleren.
Voor random number seed kunt u desgewenst een waarde typen om de willekeurige getalgenerator te seeden die door het model wordt gebruikt.
Het gebruik van een seed-waarde is handig als u dezelfde resultaten wilt behouden voor verschillende uitvoeringen van dezelfde pijplijn. Anders wordt standaard een waarde van de systeemklok gebruikt.
Voeg het onderdeel Train Model toe aan uw pijplijn en verbind een gelabelde gegevensset.
Verzend de pijplijn.
Resultaten voor het gewone model met kleinste kwadraten
Nadat de training is voltooid:
- Als u voorspellingen wilt doen, verbindt u het getrainde model met het onderdeel Score Model , samen met een gegevensset met nieuwe waarden.
Een regressiemodel maken met behulp van online gradiëntafname
Voeg het component Linear Regression Model toe aan uw pijplijn in de ontwerpfunctie.
U vindt dit onderdeel in de categorie Machine Learning . Initialiseer model, vouw Regressie uit en sleep het onderdeel Linear Regression Model naar uw pijplijn
Kies in het deelvenster Eigenschappen in de vervolgkeuzelijst Oplossingsmethode de optie Online gradiëntafname als de berekeningsmethode die wordt gebruikt om de regressielijn te vinden.
Geef voor de modus Trainer maken aan of u het model wilt trainen met een vooraf gedefinieerde set parameters of als u het model wilt optimaliseren met behulp van een parameter-opruimen.
Eén parameter: als u weet hoe u het lineaire regressienetwerk wilt configureren, kunt u een specifieke set waarden opgeven als argumenten.
Parameterbereik: selecteer deze optie als u niet zeker bent van de beste parameters en u een parameter-sweep wilt uitvoeren. Selecteer een bereik met waarden om deze te herhalen en de Tune Model Hyperparameters herhalen alle mogelijke combinaties van de instellingen die u hebt opgegeven om de hyperparameters te bepalen die de optimale resultaten opleveren.
Geef voor leersnelheid het eerste leerpercentage op voor de stochastische gradiëntafnameoptimalisatie.
Voor het aantal trainingstijdvakken typt u een waarde die aangeeft hoe vaak het algoritme door voorbeelden moet doorlopen. Voor gegevenssets met een klein aantal voorbeelden moet dit aantal groot zijn om convergentie te bereiken.
Functies normaliseren: als u de numerieke gegevens die worden gebruikt voor het trainen van het model al hebt genormaliseerd, kunt u deze optie deselecteren. Standaard normaliseert het onderdeel alle numerieke invoerwaarden tot een bereik tussen 0 en 1.
Notitie
Vergeet niet om dezelfde normalisatiemethode toe te passen op nieuwe gegevens die worden gebruikt voor scoren.
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 het aanpassen van modellen: L1 en L2 Regularisatie voor Machine Learning
Selecteer de optie, Leersnelheid verlagen als u wilt dat het leerpercentage afneemt naarmate de voortgang van iteraties vordert.
Voor random number seed kunt u desgewenst een waarde typen om de willekeurige getalgenerator te seeden die door het model wordt gebruikt. Het gebruik van een seed-waarde is handig als u dezelfde resultaten wilt behouden voor verschillende uitvoeringen van dezelfde pijplijn.
Het model trainen:
Als u de modus Trainer maken instelt op Single Parameter, verbindt u een getagde gegevensset en het onderdeel Train Model.
Als u de modus Trainer maken instelt op Parameterbereik, verbindt u een getagde gegevensset en traint u het model met behulp van Tune Model Hyperparameters.
Notitie
Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de standaardwaarde in de lijst met enkele parameters gebruikt.
Als u één set parameterwaarden doorgeeft aan het onderdeel Tune Model Hyperparameters , worden de waarden genegeerd en worden de standaardwaarden voor de cursist gebruikt wanneer er een reeks instellingen voor elke parameter wordt verwacht.
Als u de optie Parameterbereik selecteert en één waarde invoert voor een parameter, wordt die ene waarde die u hebt opgegeven tijdens de opruimen gebruikt, zelfs als andere parameters in een bereik met waarden veranderen.
Verzend de pijplijn.
Resultaten voor online gradiëntafname
Nadat de training is voltooid:
- Als u voorspellingen wilt doen, verbindt u het getrainde model met het onderdeel Score Model , samen met nieuwe invoergegevens.
Volgende stappen
Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.