Gegevens transformatie-learning met tellingen

In dit artikel worden de modules in Azure Machine Learning Studio (klassiek) beschreven die ondersteuning bieden voor parametrisatie.

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.

Learning with counts is een efficiënte manier om een compacte set gegevensset-functies te maken die zijn gebaseerd op aantallen van de waarden. U kunt de modules in deze categorie gebruiken om een set van tellingen en functies te maken. Later kunt u de aantallen en de functies bijwerken om te profiteren van nieuwe gegevens, of twee sets met aantallen gegevens samen voegen.

Over parametrisatie op basis van het aantal

Het basis idee van parametrisatie op basis van het aantal is dat door aantallen te berekenen, u snel en eenvoudig een samen vatting kunt krijgen van welke kolommen de belangrijkste informatie bevatten. De module telt het aantal keren dat een waarde wordt weer gegeven en geeft die informatie vervolgens als een functie voor invoer in een model.

Stel dat u een creditcard transactie wilt valideren. Een belang rijk stukje informatie is waaruit deze trans actie afkomstig is. Een van de meest voorkomende code ringen van de oorsprong van de trans actie is de post code. Er kunnen echter nog maar liefst 40.000 post codes, post codes en geografische codes voor het account zijn. Beschikt uw model over de capaciteit om 40.000 meer para meters te leren kennen? Als u deze capaciteit hebt, hebt u voldoende trainings gegevens om te voor komen dat deze worden overpast?

Als u goede gegevens hebt, met een groot aantal voor beelden, kan deze nauw keurige lokale granulatie krachtig zijn. Als u slechts één voor beeld van een frauduleuze trans actie hebt, van een kleine locatie, betekent dit echter dat alle trans acties van die locatie ongeldig zijn of dat u onvoldoende gegevens hebt?

Een oplossing is om te leren met aantallen. In plaats van 40.000 meer functies te introduceren, kunt u het aantal en de verhoudingen van fraude in acht nemen voor elke post code. Als u deze aantallen als-functies gebruikt, krijgt u informatie over de sterkte van de gegevens voor elke waarde. Daarnaast kan de leerer, door de relevante statistieken van de aantallen te coderen, de statistieken gebruiken om te bepalen wanneer hun benadering moet worden gewijzigd en in plaats daarvan andere functies moeten worden gebruikt om de informatie op te halen.

Learning op basis van aantallen is om vele redenen aantrekkelijk. Met learning op basis van aantallen hebt u minder functies, waarvoor minder para meters nodig zijn. Minder para meters maakt sneller leren, snellere voor spellingen, kleinere voor spellingen en minder kans op overfit.

Hoe functies op basis van het aantal worden gemaakt

Met een eenvoudig voor beeld kunt u zien hoe functies op basis van het aantal worden gemaakt en toegepast. Stel dat u de volgende tabel ziet, met labels en invoer. Elk geval (of rij of voor beeld) heeft een set waarden in kolommen. In dit voor beeld zijn de waarden A en B.

Kolom Label Invoer waarde
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Dit zijn de stappen die u moet ondernemen om functies op basis van het aantal te maken:

  1. Zoek voor een specifieke set waarden alle andere cases in die gegevensset die dezelfde waarde hebben. In dit geval zijn er drie exemplaren van A en vier exemplaren van B.
  2. Tel het lidmaatschap van de klasse van elke waarde als een functie op zichzelf. In dit geval krijgt u een kleine matrix: er zijn twee gevallen waarin A = 0; Eén geval waarbij A = 1; Eén geval waarbij B = 0; en drie gevallen waarin B = 1.
  3. Op basis van deze matrix krijgt u diverse functies op basis van het aantal. Dit omvat een berekening van de conflicteert verhouding van het logboek en het aantal voor elke doel klasse. In de tabel in de volgende sectie worden de gegevens weer gegeven.

Voorbeeld tabel met functies op basis van het aantal

Label 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0,510826 0
0 2 1 0,510826 0
1 2 1 0,510826 0
0 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0
1 1 3 -0,8473 0

Voorbeelden

Bij het gebruik van Azure Machine Learning voor het maken van doorlopende Voorspellings Modellenbiedt het micro soft machine learning-team een gedetailleerd overzicht van het gebruik van aantallen in machine learning. In het artikel wordt de effectiviteit van op teller gebaseerde modellen met andere methoden vergeleken.

Technische opmerkingen

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

Hoe de waarde voor het logboek verlies wordt berekend

De waarde voor het logboek verlies is niet het logboek zonder opmaak conflicteert. In dit geval wordt de voor gaande distributie gebruikt om de conflicteert berekening te versoepelen.

Stel dat u een gegevensset hebt die wordt gebruikt voor binaire classificatie. In deze gegevensset is de voor gaande frequentie voor klasse 0 p_0 en de vorige frequentie voor klasse 1 p_1 = 1 – p_0 . Voor een specifieke cursus voorbeeld functie is het aantal voor klasse 0 x_0 en de telling voor klasse 1 x_1 .

Onder deze veronderstellingen wordt de log-conflicteert berekend als LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1) , waarbij c de voor gaande coëfficiënt is, die door de gebruiker kan worden ingesteld. De functie Log maakt gebruik van de natuurlijke basis.

Met andere woorden, voor elke klasse i :

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Als de vorige coëfficiënt positief is, kan het logboek conflicteert afwijken van Log(count[i] / (sum_of_counts – count[i])) .

Waarom de logboek-conflicteert niet worden berekend voor sommige items

Standaard worden alle items met een aantal van minder dan 10 verzameld in één Bucket met de naam ' garbage bin '. U kunt deze waarde wijzigen met behulp van de drempel waarde voor de garbage-bak in de module aantal wijzigen tabel parameters .

Lijst met modules

De categorie leren met aantal omvat de volgende modules:

  • Trans formatie voor tellingen bouwen: maakt een aantal functies voor het tellen van tabellen en onderdelen op basis van een gegevensset, en slaat de tabel en functies vervolgens op als een trans formatie.
  • Tabel export aantal: exporteert een count-tabel van een telling van het aantal trans formatie. Deze module ondersteunt achterwaartse compatibiliteit met experimenten die functies op basis van aantallen maken met behulp van de tabel build Count (afgeschaft) en aantal Featurizer (afgeschaft).
  • Tabel met aantal importeren: Hiermee wordt een bestaande Count-tabel geïmporteerd. Deze module ondersteunt achterwaartse compatibiliteit met experimenten die functies op basis van aantallen maken met behulp van de tabel build Count (afgeschaft) en aantal Featurizer (afgeschaft). De module ondersteunt conversie van aantal tabellen voor het tellen van trans formaties.
  • Trans formatie aantal samen voegingen: voegt twee sets onderdelen op basis van aantallen samen.
  • Para meters voor het aantal tabellen wijzigen: Hiermee wijzigt u functies op basis van het aantal die zijn afgeleid van een bestaande aantal tabellen.

Zie ook