Onderdeel neurale netwerkregressie

Hiermee maakt u een regressiemodel met behulp van een algoritme voor een neuraal netwerk

Categorie: Machine Learning/Model initialiseren/Regressie

Overzicht van onderdelen

In dit artikel wordt een onderdeel in de Azure Machine Learning-ontwerpfunctie beschreven.

Gebruik dit onderdeel om een regressiemodel te maken met behulp van een aanpasbaar algoritme voor een neuraal netwerk.

Hoewel neurale netwerken algemeen bekend zijn voor gebruik in deep learning en modellering van complexe problemen zoals beeldherkenning, kunnen ze gemakkelijk worden aangepast aan regressieproblemen. Elke klasse van statistische modellen kan een neuraal netwerk worden genoemd als ze adaptieve gewichten gebruiken en niet-lineaire functies van hun invoer kunnen benaderen. Regressie van neurale netwerken is dus geschikt voor problemen waarbij een meer traditioneel regressiemodel niet geschikt is voor een oplossing.

Regressie van neurale netwerken is een leermethode onder supervisie en vereist daarom een getagde gegevensset, die een labelkolom bevat. Omdat een regressiemodel een numerieke waarde voorspelt, moet de labelkolom een numeriek gegevenstype zijn.

U kunt het model trainen door het model en de getagde gegevensset op te geven als invoer voor Train Model. Het getrainde model kan vervolgens worden gebruikt om waarden te voorspellen voor de nieuwe invoervoorbeelden.

Regressie van neuraal netwerk configureren

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

  • Een neuraal netwerkmodel maken met behulp van de standaardarchitectuur

    Als u de standaardarchitectuur voor neurale netwerken accepteert, gebruikt u het deelvenster Eigenschappen om parameters in te stellen die het gedrag van het neurale netwerk bepalen, zoals het aantal knooppunten in de verborgen laag, de leersnelheid en normalisatie.

    Begin hier als u geen kennis hebt van neurale netwerken. Het onderdeel ondersteunt veel aanpassingen, evenals het afstemmen van modellen, zonder diepgaande kennis van neurale netwerken.

  • Een aangepaste architectuur definiëren voor een neuraal netwerk

    Gebruik deze optie als u extra verborgen lagen wilt toevoegen of de netwerkarchitectuur, de verbindingen en activeringsfuncties volledig wilt aanpassen.

    Deze optie is het beste als u al enigszins bekend bent met neurale netwerken. U gebruikt de Net#-taal om de netwerkarchitectuur te definiëren.

Een neuraal netwerkmodel maken met behulp van de standaardarchitectuur

  1. Voeg het onderdeel Neural Network Regression toe aan uw pijplijn in de ontwerpfunctie. U vindt dit onderdeel onder Machine Learning, Initialiseren, in de categorie Regressie .

  2. Geef aan hoe u het model wilt trainen door de optie Trainermodus maken in te stellen.

    • Enkele parameter: kies deze optie als u al weet hoe u het model wilt configureren.

    • Parameterbereik: selecteer deze optie als u niet zeker bent van de beste parameters en een parameter-sweep wilt uitvoeren. Selecteer een waardenbereik dat u wilt herhalen. De hyperparameters van het model afstemmen worden herhaald met alle mogelijke combinaties van de instellingen die u hebt opgegeven om de hyperparameters te bepalen die de optimale resultaten opleveren.

  3. Selecteer in Verborgen laagspecificatiede optie Volledig verbonden hoofdlettergebruik. Met deze optie maakt u een model met behulp van de standaard neurale netwerkarchitectuur, die voor een regressiemodel voor een neuraal netwerk de volgende kenmerken heeft:

    • Het netwerk heeft precies één verborgen laag.
    • De uitvoerlaag is volledig verbonden met de verborgen laag en de verborgen laag is volledig verbonden met de invoerlaag.
    • Het aantal knooppunten in de verborgen laag kan door de gebruiker worden ingesteld (standaardwaarde is 100).

    Omdat het aantal knooppunten in de invoerlaag wordt bepaald door het aantal functies in de trainingsgegevens, kan er in een regressiemodel slechts één knooppunt in de uitvoerlaag zijn.

  4. Bij Aantal verborgen knooppunten typt u het aantal verborgen knooppunten. De standaardwaarde is één verborgen laag met 100 knooppunten. (Deze optie is niet beschikbaar als u een aangepaste architectuur definieert met behulp van Net#.)

  5. Bij Leersnelheid typt u een waarde die de stap definieert die wordt uitgevoerd bij elke iteratie, vóór correctie. Een grotere waarde voor de leersnelheid kan ertoe leiden dat het model sneller convergeert, maar het kan de lokale minima overschrijden.

  6. Geef bij Aantal leeriteraties het maximum aantal keren op dat het algoritme de trainingscases verwerkt.

  7. Voor Het momentum typt u een waarde die u tijdens het leren wilt toepassen als gewicht op knooppunten uit eerdere iteraties.

  8. Selecteer de optie Voorbeelden in willekeurige volgorde om de volgorde van de cases tussen iteraties te wijzigen. Als u deze optie uitschakelt, worden aanvragen in exact dezelfde volgorde verwerkt telkens wanneer u de pijplijn uitvoert.

  9. Voor Seed willekeurig getal kunt u desgewenst een waarde typen die u als seed wilt gebruiken. Het opgeven van een seed-waarde is handig als u herhaalbaarheid wilt garanderen voor uitvoeringen van dezelfde pijplijn.

  10. Een trainingsgegevensset verbinden en het model trainen:

    • Als u de modus Trainer maken instelt op Enkele 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 hyperparameters afstemmen.

    Notitie

    Als u een parameterbereik doorgeeft aan Train Model, wordt alleen de standaardwaarde in de lijst met enkelvoudige parameters gebruikt.

    Als u één set parameterwaarden doorgeeft aan het onderdeel Model hyperparameters afstemmen en er een bereik van instellingen voor elke parameter wordt verwacht, worden de waarden genegeerd en worden de standaardwaarden voor de cursist gebruikt.

    Als u de optie Parameterbereik selecteert en één waarde voor een parameter invoert, wordt die ene waarde die u hebt opgegeven, gebruikt tijdens de sweep, zelfs als andere parameters in een bereik van waarden veranderen.

  11. Verzend de pijplijn.

Resultaten

Nadat de training is voltooid:

  • Als u een momentopname van het getrainde model wilt opslaan, selecteert u het tabblad Uitvoer in het rechterdeelvenster van het onderdeel Model trainen . Selecteer het pictogram Gegevensset registreren om het model op te slaan als een herbruikbaar onderdeel.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.