Neuraal netwerk met twee klassen

Hiermee wordt een binaire classificatie gemaakt met behulp van een Neural-netwerk algoritme

Categorie: model/classificatie 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-netwerk module van twee klassen gebruikt in azure machine learning Studio (klassiek) om een Neural-netwerk model te maken dat kan worden gebruikt om een doel te voors pellen met slechts twee waarden.

Classificatie met behulp van Neural-netwerken is een bewaakte leer methode en vereist daarom een gecodeerde gegevensset, die een kolom Label bevat. U kunt dit Neural-netwerk model bijvoorbeeld gebruiken om binaire resultaten te voors pellen, zoals of een patiënt al een bepaalde ziekte heeft of een machine waarschijnlijk niet kan worden uitgevoerd binnen een bepaald tijd venster.

Nadat u het model hebt gedefinieerd, traint u het met een gecodeerde gegevensset en het model als invoer voor het trainen van modellen of het afstemmen van model Hyper parameters. Het getrainde model kan vervolgens worden gebruikt om waarden voor nieuwe invoer te voors pellen.

Meer informatie over Neural-netwerken

Een Neural-netwerk bestaat uit een reeks onderling verbonden lagen. De invoer is de eerste laag en is verbonden met een uitvoer laag door een acyclische grafiek die bestaat uit gewogen randen en knoop punten.

Tussen de invoer-en uitvoer lagen kunt u meerdere verborgen lagen invoegen. De meeste voorspellende taken kunnen eenvoudig met slechts één of enkele verborgen lagen worden uitgevoerd. Het recente onderzoek heeft echter geleerd dat diepe Neural Networks (DNN) met veel lagen zeer effectief kunnen zijn in complexe taken, zoals afbeeldings-of spraak herkenning. De opeenvolgende lagen worden gebruikt voor het model leren van de toenemende niveaus van semantische diepte.

De relatie tussen invoer en uitvoer wordt geleerd van het trainen van het Neural-netwerk op de invoer gegevens. De richting van de grafiek loopt van de invoer via de verborgen laag en naar de uitvoer laag. Alle knoop punten in een laag worden verbonden door de gewogen randen op knoop punten in de volgende laag.

Voor het berekenen van de uitvoer van het netwerk voor een bepaalde invoer wordt een waarde berekend op elk knoop punt in de verborgen lagen en in de uitvoer laag. De waarde wordt ingesteld door de gewogen som van de waarden van de knoop punten uit de vorige laag te berekenen. Een activerings functie wordt vervolgens toegepast op die gewogen som.

Two-Class Neural-netwerk configureren

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

  2. Geef op 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 bij verborgen laag specificatiehet type netwerk architectuur dat moet worden gemaakt.

    • Volledig gekoppelde Case: maakt gebruik van de standaard Neural-netwerk architectuur, die als volgt is gedefinieerd voor Neural-netwerken met twee klassen:

      • Heeft éé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 invoer laag is gelijk aan het aantal functies in de trainings gegevens.

      • Het aantal knoop punten in de verborgen laag wordt ingesteld door de gebruiker. De standaardwaarde is 100.

      • Het aantal knoop punten is gelijk aan het aantal klassen. Voor een Neural-netwerk met twee klassen betekent dit dat alle invoer waarden moeten worden toegewezen aan een van de twee knoop punten in de uitvoer laag.

    • Aangepast definitie script: Selecteer deze optie om een aangepaste Neural-netwerk architectuur te maken met behulp van de net # -taal. Met deze optie kunt u het aantal verborgen lagen, de verbindingen en de toewijzingen tussen lagen definiëren.

    Nadat u de optie aangepast script hebt geselecteerd, typt of plakt u in het tekstvak Neural-netwerk definitie het netwerk. Zie voor voor beelden de richt lijnen voor de specificatie taal net # Neural Networks.

  4. Als u de script optie niet gebruikt, gebruikt u het aantal verborgen knoop puntenen typt u het aantal verborgen knoop punten. De standaard waarde is één verborgen laag met 100 knoop punten.

  5. Voor leer snelheiddefinieert u de grootte van de stap 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 aanvragen moet verwerken.

  7. Voor de eerste wegings diametergeeft u de knooppunt gewichten aan het begin van het leer proces op.

  8. Geef voor de momentumeen gewicht op dat moet worden toegepast tijdens het leren naar knoop punten uit eerdere iteraties

  9. Selecteer een methode die u wilt gebruiken voor functie normalisatie in het type normalisatie. De volgende normalisatie methoden worden ondersteund:

    • Binning normalisatie: de binning normalisatie maakt opslag locaties met een gelijke grootte en vervolgens wordt elke waarde in elke bin genormaliseerd, gedeeld door het totale aantal opslag locaties.

    • Gaussiaans normalisatie: de waarden van elke functie worden door de Gaussiaans normalisatieer geschaald op 0 en variantie 1. Dit wordt gedaan door het gemiddelde en de variantie van elke functie te berekenen. Voor elke instantie wordt de gemiddelde waarde afgetrokken en het resultaat gedeeld door de vierkantswortel van de variantie (de standaard afwijking).

    • Min-max. normalisatie: met de min-maximum normalisatie wordt elke functie lineair 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 voor beelden in wille keurige volg orde om cases van elkaar af te plaatsen tussen herhalingen. Als u deze optie uitschakelt, worden cases in precies dezelfde volg orde verwerkt telkens wanneer u het experiment uitvoert.

  11. Typ voor wille keurig getal zaadeen waarde die moet worden gebruikt als seed.

    Het opgeven van een Seed-waarde is handig als u de Herhaal baarheid van hetzelfde experiment wilt garanderen. Anders wordt een waarde van de systeem klok gebruikt als seed, wat kan leiden tot enigszins verschillende resultaten wanneer u het experiment uitvoert.

  12. Selecteer de optie onbekende categorische niveaus toestaan om een groepering te maken voor onbekende waarden in de trainings-en validatie sets. 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. Voeg een gecodeerde gegevensset toe aan het experiment en Verbind een van de trainings modules.

    • Als u de modus trainer maken instelt op één para meter, gebruikt u de module Train model .

    • Als u de modus trainer maken instelt op het parameter bereik, gebruikt u de Hyper parameters-module voor het afstemmen van modellen .

    Notitie

    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 gebruikt tijdens 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 de manier waarop dit leer algoritme wordt gebruikt, raadpleegt u de Azure AI Gallery. Deze experimenten zijn gerelateerd en worden beschreven in één document dat wordt uitgevoerd vanuit de Basic-naar-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; 1.0] Drijvendekommagetal 0,1 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 een aangepast definitie scriptselecteert, 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 leer herhalingen >= 1 Geheel getal 100 Geef op hoeveel iteraties tijdens het leren moeten worden uitgevoerd
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 het veld leeg om de standaard Seed te gebruiken.
Onbekende categorische-niveaus toestaan Alle Boolean-waarde True Hiermee wordt aangegeven of een extra niveau moet worden gemaakt voor onbekende categorieën. Als de test gegevensset categorieën bevat die niet aanwezig zijn in de trainings gegevensset, worden deze toegewezen aan dit onbekende niveau.

Uitvoer

Naam Type Beschrijving
Niet-traind model ILearner-interface Een niet-getraind binair classificatie model

Zie ook

Ontbreekt
Regressie van Neural-netwerk
Multi Class Neural-netwerk
Module lijst a-Z