Delen via


Uitlegbaarheid van deductie

Belangrijk

Vanaf 20 september 2023 kunt u geen nieuwe Personalizer-resources maken. De Personalizer-service wordt op 1 oktober 2026 buiten gebruik gesteld.

Personalizer kan u helpen te begrijpen welke functies van een gekozen actie het meest en minst invloedrijk zijn om vervolgens tijdens deductie te modelleren. Indien ingeschakeld, bevat deductie-uitleg functiescores van het onderliggende model in het Rank API-antwoord, zodat uw toepassing deze informatie ontvangt op het moment van deductie.

Met functiescores kunt u de relatie tussen functies en de beslissingen van Personalizer beter begrijpen. Ze kunnen worden gebruikt om uw eindgebruikers inzicht te geven in de reden waarom een bepaalde aanbeveling is gedaan of om te analyseren of uw model vooroordelen vertoont ten opzichte van of tegen bepaalde contextuele instellingen, gebruikers en acties.

Hoe kan ik deductie verklarendheid inschakelen?

Als u de serviceconfiguratievlag IsInferenceExplainabilityEnabled instelt in uw serviceconfiguratie, kan Personalizer functiewaarden en gewichten opnemen in het Rank API-antwoord. Als u uw huidige serviceconfiguratie wilt bijwerken, gebruikt u de Serviceconfiguratie- Update-API. Neem in de hoofdtekst van de JSON-aanvraag uw huidige serviceconfiguratie op en voeg de extra vermelding toe: 'IsInferenceExplainabilityEnabled': true. Als u uw huidige serviceconfiguratie niet weet, kunt u deze verkrijgen via de serviceconfiguratie: API ophalen

{
  "rewardWaitTime": "PT10M",
  "defaultReward": 0,
  "rewardAggregation": "earliest",
  "explorationPercentage": 0.2,
  "modelExportFrequency": "PT5M",
  "logMirrorEnabled": true,
  "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
  "logRetentionDays": 7,
  "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
  "learningMode": "Online",
  "isAutoOptimizationEnabled": true,
  "autoOptimizationFrequency": "P7D",
  "autoOptimizationStartDate": "2019-01-19T00:00:00Z",
"isInferenceExplainabilityEnabled": true
}

Notitie

Het inschakelen van uitleg over deductie verhoogt de latentie van aanroepen naar de Rank-API aanzienlijk. We raden u aan te experimenteren met deze mogelijkheid en de latentie in uw scenario te meten om te zien of deze voldoet aan de latentievereisten van uw toepassing.

Functiescores interpreteren

Als u uitleg over deductie inschakelt, wordt een verzameling toegevoegd aan het JSON-antwoord van de Rank-API met de naam inferenceExplanation. Dit bevat een lijst met functienamen en waarden die zijn verzonden in de Rank-aanvraag, samen met functiescores die zijn geleerd door het onderliggende model van Personalizer. De functiescores bieden u inzicht in hoe invloedrijk elke functie was in het model dat de actie kiest.


{
  "ranking": [
    {
      "id": "EntertainmentArticle",
      "probability": 0.8
    },
    {
      "id": "SportsArticle",
      "probability": 0.15
    },
    {
      "id": "NewsArticle",
      "probability": 0.05
    }
  ],
 "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
 "rewardActionId": "EntertainmentArticle",
 "inferenceExplanation": [
    {
        "id”: "EntertainmentArticle",
        "features": [
            {
                "name": "user.profileType",
                "score": 3.0
            },
            {
                "name": "user.latLong",
                "score": -4.3
            },
            {
                "name": "user.profileType^user.latLong",
                "score" : 12.1
            },
        ]
  ]
}

In het bovenstaande voorbeeld worden drie actie-id's geretourneerd in de classificatieverzameling , samen met hun respectieve waarschijnlijkheidsscores. De actie met de grootste waarschijnlijkheid is the_ beste action_ zoals bepaald door het model dat is getraind op gegevens die naar de Personalizer-API's zijn verzonden, wat in dit geval het geval is "id": "EntertainmentArticle". De actie-id kan opnieuw worden weergegeven in de verzameling inferenceExplanation , samen met de functienamen en scores die worden bepaald door het model voor die actie en de functies en waarden die naar de Rank-API worden verzonden.

Zoals u weet, retourneert Personalizer de beste actie of een verkennende actie die is gekozen door het verkenningsbeleid. De beste actie is de actie die door het model is bepaald, heeft de hoogste kans om de gemiddelde beloning te maximaliseren, terwijl verkennende acties worden gekozen uit de set mogelijke acties die worden geleverd in de Rank API-aanroep. Acties die tijdens het verkennen worden uitgevoerd, maken geen gebruik van de functiescores bij het bepalen welke actie moet worden ondernomen. Daarom mogen functiescores voor verkennende acties niet worden gebruikt om inzicht te krijgen in de reden waarom de actie is ondernomen. Hier vindt u meer informatie over verkenning.

Voor de beste acties die door Personalizer worden geretourneerd, kunnen de functiescores algemene inzichten bieden waarbij:

  • Grotere positieve scores bieden meer ondersteuning voor het model dat deze actie kiest.
  • Grotere negatieve scores bieden meer ondersteuning voor het model dat deze actie niet kiest.
  • Scores dicht bij nul hebben een klein effect op de beslissing om deze actie te kiezen.

Belangrijke overwegingen voor deductie verklaarbaarheid

  • Verhoogde latentie. Het inschakelen van uitleg over deductie verhoogt de latentie van Rank API-aanroepen aanzienlijk vanwege de verwerking van de functiegegevens. Voer experimenten uit en meet de latentie in uw scenario om te zien of deze voldoet aan de latentievereisten van uw toepassing.

  • Gecorreleerde functies. Functies die sterk met elkaar zijn gecorreleerd, kunnen het nut van functiescores verminderen. Stel dat functie A sterk is gecorreleerd met functie B. Het kan zijn dat de score van functie A een grote positieve waarde is, terwijl de score van functie B een grote negatieve waarde is. In dit geval kunnen de twee functies elkaar effectief annuleren en weinig tot geen invloed hebben op het model. Hoewel Personalizer zeer robuust is voor zeer gecorreleerde functies, zorgt u er bij het gebruik van deductietoelichtendheid voor dat functies die naar Personalizer worden verzonden, niet sterk gecorreleerd zijn

  • Standaardverkenning alleen. Momenteel ondersteunt Deductie-uitleg alleen het standaardverkenningsalgoritmen.

Volgende stappen

Versterking leren