Regressie neuraal netwerk

Hiermee maakt u een regressie model met behulp van een Neural-netwerk algoritme

Categorie: model/regressie machine learning/initialiseren

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de Neural Network Regression -module in azure machine learning Studio (klassiek) gebruikt om een regressie model te maken met behulp van een aanpasbaar Neural-netwerk algoritme.

Hoewel Neural-netwerken algemeen bekend zijn voor gebruik in diep gaande lessen en het model leren van complexe problemen, zoals afbeeldings herkenning, kunnen ze eenvoudig worden aangepast aan regressie problemen. Een klasse van statistische modellen kan een Neural-netwerk worden genoemd als ze adaptieve gewichten gebruiken en niet-lineaire functies van hun invoer kunnen benaderen. Daarom is Neural netwerk regressie geschikt voor problemen waarbij een meer traditioneel regressie model niet aan een oplossing kan voldoen.

Neural Network regressie is een gemarkeerdeleer methode en vereist daarom een gecodeerde gegevensset, die een kolom Label bevat. Omdat een regressie model een numerieke waarde voor spelt, moet de kolom Label een numeriek gegevens type zijn.

U kunt het model trainen door het model en de gecodeerde gegevensset op te geven als invoer voor het trainen van modellen of het afstemmen van model Hyper parameters. Het getrainde model kan vervolgens worden gebruikt om waarden te voors pellen voor de nieuwe invoer voorbeelden.

Regressie van Neural-netwerk configureren

Neural-netwerken kunnen uitgebreid worden aangepast. In deze sectie wordt beschreven hoe u een model maakt met behulp van twee methoden:

  • Een Neural-netwerk model maken met behulp van de standaard architectuur

    Als u de standaard Neural-netwerk architectuur accepteert, gebruikt u het deel venster Eigenschappen om para meters in te stellen die het gedrag van het Neural-netwerk bepalen, zoals het aantal knoop punten in de verborgen laag, het leer tempo en de normalisatie.

    Begin hier als u geen ervaring hebt met Neural-netwerken. De module ondersteunt een groot aantal aanpassingen, evenals model afstemming, zonder grondige kennis van Neural netwerken.

  • Een aangepaste architectuur definiëren voor een Neural-netwerk

    Gebruik deze optie als u extra verborgen lagen wilt toevoegen of de netwerk architectuur, de verbindingen en activerings functies volledig wilt aanpassen.

    Deze optie is het beste als u al enigszins bekend bent met Neural Networks. U gebruikt de net # taal om de netwerk architectuur te definiëren.

Een Neural-netwerk model maken met behulp van de standaard architectuur

  1. Voeg de Neural-module netwerk regressie toe aan uw experiment in Studio (klassiek). U kunt deze module vinden onder machine learning, initialiseren, in de categorie regressie .

  2. Geef aan hoe u wilt dat het model wordt getraind door de optie trainer modus maken in te stellen.

    • Eén para meter: Kies deze optie als u al weet hoe u het model wilt configureren.

    • Parameter bereik: Kies deze optie als u niet zeker weet wat de beste para meters zijn. Vervolgens geeft u een waardebereik op en gebruikt u de module Tune model Hyper parameters om de combi Naties te herhalen en de optimale configuratie te vinden.

  3. In specificatie van verborgen laagselecteert u volledig gekoppelde Case. Met deze optie wordt een model gemaakt met behulp van de standaard Neural-netwerk architectuur, die voor een Neural netwerk regressie model deze kenmerken heeft:

    • Het netwerk heeft precies één verborgen laag.
    • De uitvoer laag is volledig verbonden met de verborgen laag en de verborgen laag is volledig verbonden met de invoer laag.
    • Het aantal knoop punten in de verborgen laag kan worden ingesteld door de gebruiker (de standaard waarde is 100).

    Omdat het aantal knoop punten in de invoer laag wordt bepaald door het aantal functies in de trainings gegevens, kan er in een regressie model slechts één knoop punt in de uitvoer laag zijn.

  4. Voor het aantal verborgen knoop puntentypt u het aantal verborgen knoop punten. De standaard waarde is één verborgen laag met 100 knoop punten. (Deze optie is niet beschikbaar als u een aangepaste architectuur definieert met behulp van net #.)

  5. Voor het leer tempotypt u een waarde die de stap definieert die bij elke herhaling moet worden uitgevoerd, vóór correctie. Een hogere waarde voor het leer tempo kan ertoe leiden dat het model sneller wordt geconvergeerd, maar dat het lokale minima kan overschrijden.

  6. Geef voor aantal Learning-iteratieshet maximum aantal keren op dat het algoritme de trainings cases verwerkt.

  7. Typ voor de eerste wegings diameter een waarde die de knooppunt gewichten aan het begin van het leer proces bepaalt.

  8. Voor de impulstypt u een waarde die tijdens het leren moet worden toegepast als gewicht op knoop punten uit eerdere iteraties.

  9. Kies voor het type normalisatieeen van de volgende methoden voor het gebruik van functie normalisatie:

    • Binning normalisatie: binning maakt groepen van gelijke grootte en normaliseert vervolgens elke waarde in elke groep om te worden gedeeld door het totale aantal groepen.

    • Gaussiaans normalisatie: met de optie Gaussiaans normalisatie worden de waarden van elke functie opnieuw geschaald zodat ze 0 en variantie 1 hebben. Dit wordt gedaan door het gemiddelde en de variantie van elke functie te berekenen en vervolgens voor elk exemplaar de gemiddelde waarde af te trekken en te delen door de vierkantswortel van de variantie (de standaard afwijking).

    • Min-max. normalisatie: met min-max. normalisatie wordt elke functie lineair opnieuw geschaald naar het interval van [0, 1].

      U kunt het interval voor [0, 1] opnieuw schalen door de waarden van elke functie te verschuiven zodat de minimale waarde 0 is en vervolgens te delen door de nieuwe maximale waarde (dit is het verschil tussen de oorspronkelijke maximum-en minimum waarden).

    • Niet normaliseren: er wordt geen normalisatie uitgevoerd.

  10. Selecteer de optie, wille keurige voor beeldenom de volg orde van de aanvragen tussen herhalingen te wijzigen. Als u deze optie uitschakelt, worden cases in precies dezelfde volg orde verwerkt telkens wanneer u het experiment uitvoert.

  11. Voor wille keurig getal zaadkunt u eventueel een waarde invoeren die als seed moet worden gebruikt. Het opgeven van een Seed-waarde is handig als u de Herhaal baarheid van hetzelfde experiment wilt garanderen.

  12. Selecteer de optie onbekende categorische-niveaus toestaan om een groepering te maken voor onbekende waarden. Het model is mogelijk minder nauw keurig voor bekende waarden, maar biedt betere voor spellingen voor nieuwe (onbekende) waarden.

    Als u deze optie uitschakelt, kan het model alleen de waarden accepteren die deel uitmaken van de trainings gegevens.

  13. Verbind een trainings-datset en een van de trainings modules:

    Waarschuwing

    Als u een parameter bereik doorgeeft aan een Train-model, wordt alleen de eerste waarde in de lijst met para meters gebruikt.

    Als u één set parameter waarden doorgeeft aan de Hyper parameters-module voor het Tune-model , worden de waarden genegeerd en worden de standaard waarden gebruikt voor de cursist als er een reeks instellingen voor elke para meter wordt verwacht.

    Als u de optie voor het parameter bereik selecteert en één waarde voor een para meter opgeeft, wordt die enkele waarde die u hebt opgegeven overal in de sweep gebruikt, zelfs als andere para meters worden gewijzigd in een reeks waarden.

  14. Voer het experiment uit.

Een aangepaste architectuur definiëren

  1. Voeg de Neural-module voor netwerk regressie toe aan uw experiment.

  2. Geef aan hoe u wilt dat het model wordt getraind door de optie trainer modus maken in te stellen.

    • Eén para meter: Kies deze optie als u al weet hoe u het model wilt configureren.

    • Parameter bereik: Kies deze optie als u niet zeker weet wat de beste para meters zijn. Vervolgens geeft u een waardebereik op en gebruikt u de module Tune model Hyper parameters om de combi Naties te herhalen en de optimale configuratie te vinden.

  3. Selecteer in specificatie van verborgen laag aangepaste definitie script. U moet deze optie selecteren als u een aangepaste Neural-netwerk architectuur wilt definiëren met behulp van de net # taal.

  4. Nadat u de optie aangepast definitie script hebt geselecteerd, wordt het tekstvak Neural Network definition weer gegeven. U kunt in net # script plakken om een aangepaste architectuur te definiëren voor het Neural-netwerk, met inbegrip van het aantal verborgen lagen, hun verbindingen en geavanceerde opties, zoals het opgeven van de toewijzingen tussen lagen.

  5. Voor het leer tempotypt u een waarde die de stap definieert die bij elke herhaling moet worden uitgevoerd, vóór correctie. Een hogere waarde voor het leer tempo kan ertoe leiden dat het model sneller wordt geconvergeerd, maar dat het lokale minima kan overschrijden.

  6. Geef voor aantal Learning-iteratieshet maximum aantal keren op dat het algoritme de trainings cases verwerkt.

  7. Typ voor de eerste wegings diameter een waarde die de knooppunt gewichten aan het begin van het leer proces bepaalt.

  8. Voor de impulstypt u een waarde die tijdens het leren moet worden toegepast als gewicht op knoop punten uit eerdere iteraties.

  9. Kies voor het type normalisatieeen van de volgende methoden voor het gebruik van functie normalisatie:

    • Binning normalisatie: binning maakt groepen van gelijke grootte en normaliseert vervolgens elke waarde in elke groep door te delen door het totale aantal groepen.

    • Gaussiaans normalisatie: met de optie Gaussiaans normalisatie worden de waarden van elke functie opnieuw geschaald zodat ze 0 en variantie 1 hebben. Dit wordt gedaan door het gemiddelde en de variantie van elke functie te berekenen en vervolgens voor elk exemplaar de gemiddelde waarde af te trekken en te delen door de vierkantswortel van de variantie (de standaard afwijking).

    • Min-Max.: min-max. normalisatie wordt elke functie lineair opnieuw geschaald naar het interval van [0, 1].

      U kunt het interval voor [0, 1] opnieuw schalen door de waarden van elke functie te verschuiven zodat de minimale waarde 0 is en vervolgens te delen door de nieuwe maximale waarde (dit is het verschil tussen de oorspronkelijke maximum-en minimum waarden).

    • Niet normaliseren: er wordt geen normalisatie uitgevoerd.

  10. Selecteer de optie, wille keurige voor beeldenom de volg orde van de aanvragen tussen herhalingen te wijzigen. Als u deze optie uitschakelt, worden cases in precies dezelfde volg orde verwerkt telkens wanneer u het experiment uitvoert.

  11. Voor wille keurig getal zaadkunt u eventueel een waarde invoeren die als seed moet worden gebruikt. Het opgeven van een Seed-waarde is handig als u de Herhaal baarheid van hetzelfde experiment wilt garanderen.

  12. Selecteer de optie onbekende categorische-niveaus toestaan om een groepering te maken voor onbekende waarden. Eventuele onbekende waarden in de test gegevensset worden toegewezen aan deze onbekende categorie. Met deze optie kan het model iets minder nauw keuriger worden op bekende waarden, maar worden er betere voor spellingen voor nieuwe (onbekende) waarden geboden.

    Als u deze optie uitschakelt, kan het model alleen voor spellingen maken voor de waarden die in de trainings gegevens zijn opgenomen.

  13. Verbind een trainings-datset en een van de trainings modules:

    Waarschuwing

    Als u het bereik van de para meter doorgeeft aan Train model, wordt alleen de eerste waarde in de lijst met para meters gebruikt.

    Als u één set parameter waarden doorgeeft aan de Hyper parameters-module voor het Tune-model , worden de waarden genegeerd en worden de standaard waarden gebruikt voor de cursist als er een reeks instellingen voor elke para meter wordt verwacht.

    Als u de optie voor het parameter bereik selecteert en één waarde voor een para meter opgeeft, wordt die enkele waarde die u hebt opgegeven gebruikt gedurende de sweep, zelfs als andere para meters worden gewijzigd in een bereik van waarden.

  14. Voer het experiment uit.

Resultaten

Nadat de training is voltooid:

  • Als u een samen vatting van de para meters van het model wilt weer geven, samen met de functie gewichten die zijn geleerd uit training en andere para meters van het Neural-netwerk, klikt u met de rechter muisknop op de uitvoer van Train model of op model Hyper parametersen selecteert u visualiseren.

  • Als u een moment opname van het getrainde model wilt opslaan, klikt u met de rechter muisknop op de getrainde model uitvoer en selecteert u Opslaan als opgeleid model. Dit model wordt niet bijgewerkt op opeenvolgende uitvoeringen van hetzelfde experiment.

  • Als u kruis validatie wilt uitvoeren op een gegevensgestuurde gegevensset, verbindt u het niet-trainde model om het model te valideren.

Voorbeelden

Voor voor beelden van hoe dit algoritme in experimenten wordt gebruikt, raadpleegt u deze voor beelden in de Azure AI Gallery:

De experimenten bieden meer hulp bij het net #. De experimenten zijn verwant en worden uitgevoerd op basis van geavanceerde configuraties:

Technische opmerkingen

Deze sectie bevat implementatie details, tips en antwoorden op veelgestelde vragen.

Meer informatie over net

In Azure Machine Learning Studio (klassiek) kunt u de architectuur van een Neural-netwerk model aanpassen met behulp van de net #-taal. Aanpassingen die worden ondersteund door de taal net # zijn onder andere:

  • Het aantal verborgen lagen en het aantal knoop punten in elke laag opgeven
  • Toewijzingen tussen lagen opgeven
  • Convoluties en delen van gewichten bepalen
  • De activerings functie kiezen

Een Neural-netwerk model wordt gedefinieerd door de structuur van de grafiek, met de volgende kenmerken:

  • Het aantal verborgen lagen
  • Het aantal knoop punten in elke verborgen laag
  • Hoe de lagen zijn verbonden
  • Welke activerings functie wordt gebruikt
  • Het gewicht van de grafiek randen

Belangrijk

De algemene structuur van de grafiek, evenals de activerings functie, kan door de gebruiker worden opgegeven. De gewichten op de randen kunnen echter niet worden opgegeven en moeten worden geleerd bij het trainen van het Neural-netwerk op de invoer gegevens.

In het algemeen heeft het netwerk de volgende standaard instellingen:

  • De eerste laag is altijd de invoer laag.
  • De laatste laag is altijd de uitvoer laag.
  • Het aantal knoop punten in de uitvoer laag moet gelijk zijn aan het aantal klassen.

U kunt een wille keurig aantal tussenliggende lagen definiëren (ook wel verborgen lagen genoemd, omdat ze in het model zijn opgenomen, en ze zijn niet rechtstreeks beschikbaar als eind punten).

In de hand leiding voor # # vindt u de syntaxis en voor beelden van netwerk definities. Hierin wordt uitgelegd hoe u net # kunt gebruiken om verborgen lagen toe te voegen en te definiëren hoe de verschillende lagen met elkaar communiceren.

Het volgende script maakt bijvoorbeeld gebruik van het auto sleutel woord, waarmee het aantal functies voor invoer-en uitvoer lagen automatisch wordt ingesteld en de standaard waarden voor de verborgen laag worden gebruikt.

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

Zie voor aanvullende script voorbeelden de richt lijnen voor de specificatie taal net # Neural Networks.

Tip

Neural-netwerken kunnen worden geduurd als gevolg van een aantal Hyper parameters en het introduceren van aangepaste netwerktopologieën. Hoewel in veel gevallen Neural-netwerken betere resultaten produceren dan andere algoritmen, kan het ophalen van dergelijke resultaten leiden tot een billijke hoeveelheid sweep (iteraties) over Hyper parameters.

Module parameters

Naam Bereik Type Standaard Beschrijving
Specificatie van verborgen laag Lijst Neural-netwerk topologie Volledig gekoppelde Case De architectuur van de verborgen laag of lagen opgeven
De aanvankelijke leer gewicht diameter >= double. Letter Drijvendekommagetal 0,1 De knooppunt gewichten aan het begin van het leer proces opgeven
Leersnelheid Dubbelklik. Epsilon; 0,01] Drijvendekommagetal 0,005 De grootte van elke stap in het leer proces opgeven
De momentum [0,0; 1.0] Drijvendekommagetal 0,0 Een gewicht opgeven dat moet worden toegepast tijdens het leren naar knoop punten uit eerdere iteraties
Neural-netwerk definitie Alle StreamReader niet Wanneer u ' aangepast definitie script ' selecteert, typt u een geldige script expressie op elke regel om de lagen, knoop punten en het gedrag van een aangepast Neural-netwerk te definiëren.
Het type normalisatie- Lijst Normalisatie methode Min-Max normalisatie Selecteer het type normalisatie dat moet worden toegepast op Learning-voor beelden
Aantal verborgen knoop punten Alle Tekenreeks 100 Typ het aantal knoop punten in de verborgen laag. Voor meerdere verborgen lagen typt u een lijst met door komma's gescheiden waarden.
Aantal leer herhalingen >= 1 Geheel getal 100 Het aantal iteraties opgeven tijdens het leren
Voor beelden van elke wille keurige Alle Boolean-waarde true Selecteer deze optie om de volg orde van de instanties te wijzigen tussen Learning-iteraties
Wille keurig getal zaad Alle Geheel getal Geef een numerieke Seed op die moet worden gebruikt voor het genereren van wille keurige getallen. Laat dit veld leeg als u de standaard Seed wilt gebruiken.

Deze para meter is optioneel
Onbekende categorische-niveaus toestaan Alle Boolean-waarde true Geef aan of er een extra niveau moet worden gemaakt voor onbekende categorieën. Als de gegevensset test categorieën bevat die niet aanwezig zijn in de trainings gegevensset, worden ze toegewezen aan dit onbekende niveau.

Outputs

Naam Type Beschrijving
Niet-traind model ILearner-interface Een niet-uitgetraind regressie model

Zie ook

Regressie
Module lijst a-Z