Comprendere i concetti utilizzati per calcolare le valutazioni di equità
- Modalità di calcolo della distorsione
- Dati bilanciati e perfetta uguaglianza
- Calcolo dell'uguaglianza perfetta
- Conversione del tipo di dati di una colonna di previsione
- Interpretazione di un punteggio di correttezza superiore al 100%
Come viene calcolata la distorsione
L'algoritmo del fairness monitor calcola la polarizzazione su base oraria utilizzando gli ultimi record N
presenti nella tabella di registrazione del payload e il valore di N
è specificato quando si configura il fairness monitor. L'algoritmo applica un metodo chiamato perturbazione per valutare le differenze nei risultati previsti nei dati.
La perturbazione modifica i valori della funzione dal gruppo di riferimento al gruppo monitorato o viceversa. I dati perturbati vengono poi inviati al modello per valutarne il comportamento. L'algoritmo esamina gli ultimi record N
nella tabella del payload e il comportamento del modello sui dati perturbati, per decidere se i risultati del modello indicano la presenza di distorsione.
Un modello viene distorto se la percentuale di risultati favorevoli per il gruppo monitorato è inferiore alla percentuale di risultati favorevoli per il gruppo di riferimento, in base a un valore di soglia specificato quando si configura il monitoraggio della correttezza.
Si noti che i valori di correttezza possono essere superiori al 100%. Questo calcolo indica che il gruppo monitorato ha ricevuto risultati più favorevoli rispetto al gruppo di riferimento. Inoltre, se non vengono inviate nuove richieste di calcolo del punteggio, il valore di correttezza rimane costante.
Dati bilanciati e perfetta uguaglianza
Per i dataset bilanciati, si applicano i seguenti concetti:
- Per determinare il valore di uguaglianza perfetta, le transazioni del gruppo di riferimento vengono sintetizzate modificando il valore della funzione monitorata di ciascuna transazione del gruppo monitorato in tutti i valori del gruppo di riferimento. Queste nuove transazioni sintetizzate vengono aggiunte alla serie di transazioni del gruppo di riferimento e valutate dal modello.
Ad esempio, se la funzione monitorata è SEX
e il gruppo monitorato è FEMALE
, tutte le transazioni FEMALE
vengono duplicate come transazioni MALE
. Gli altri valori delle funzioni rimangono invariati. Queste nuove transazioni MALE
sintetizzate vengono aggiunte alla serie di transazioni del gruppo di riferimento MALE
originale.
- La percentuale di risultati favorevoli viene determinata dal nuovo gruppo di riferimento. Questa percentuale rappresenta la correttezza perfetta per il gruppo monitorato.
- Le transazioni del gruppo monitorato vengono anche sintetizzate modificando il valore della funzione di riferimento di ogni transazione del gruppo di riferimento nel valore del gruppo monitorato. Queste nuove transazioni sintetizzate vengono aggiunte alla serie di transazioni del gruppo monitorato e valutate dal modello.
Se la funzione monitorata è SEX
e il gruppo monitorato è FEMALE
, tutte le transazioni MALE
vengono duplicate come transazioni FEMALE
. Gli altri valori delle funzioni rimangono invariati. Queste nuove transazioni FEMALE
sintetizzate vengono aggiunte alla serie di transazioni del gruppo monitorato FEMALE
originali.
Calcolo dell'uguaglianza perfetta
La seguente formula matematica viene utilizzata per calcolare l'uguaglianza perfetta:
Perfect equality = Percentage of favorable outcomes for all reference transactions,
including the synthesized transactions from the monitored group
Ad esempio, se la funzione monitorata è SEX
e il gruppo monitorato è FEMALE
, la formula seguente mostra l'equazione per l'uguaglianza perfetta:
Perfect equality for `SEX` = Percentage of favorable outcomes for `MALE` transactions,
including the synthesized transactions that were initially `FEMALE` but changed to `MALE`
Quando si configurano le valutazioni di correttezza, è possibile generare una serie di metriche per valutare la correttezza del modello. È possibile utilizzare le metriche di correttezza per stabilire se il proprio modello produce risultati distorti.
Conversione del tipo di dati di una colonna di previsione
Per il monitoraggio della correttezza, la colonna di previsione consente solo un valore numerico intero anche se l'etichetta di previsione è categoriale. È possibile la conversione del tipo di dati della colonna di previsione.
Ad esempio, i dati di addestramento potrebbero avere etichette di classe come "Prestito negato", "Prestito concesso". Il valore di previsione restituito dal punto finale del punteggio di IBM watsonx.ai Runtime ha valori come "0.0", "1.0. L'endpoint di calcolo del punteggio ha anche una colonna facoltativa che contiene la rappresentazione testuale della previsione. Ad esempio, se prediction=1.0, la colonna predictionLabel potrebbe avere un valore "Prestito concesso". Se tale colonna è disponibile, quando si configura il risultato favorevole e sfavorevole per il modello, specificare i valori stringa "Prestito concesso" e "Prestito negato". Se tale colonna non è disponibile, è necessario specificare i valori interi e doppi 1.0, 0.0 per le classi favorevoli e sfavorevoli.
IBM watsonx.ai Runtime ha un concetto di schema di output che definisce lo schema dell'output di IBM watsonx.ai Runtime segnando il punto finale e il ruolo per le diverse colonne. I ruoli vengono usati per identificare quale colonna contiene il valore di previsione, quale colonna contiene la probabilità di previsione e il valore dell'etichetta di classe, ecc. Lo schema di output viene impostato automaticamente per i modelli creati utilizzando il builder di modelli. Può essere impostato anche utilizzando il client IBM watsonx.ai Runtime Python. Gli utenti possono utilizzare lo schema di output per definire una colonna che contenga la rappresentazione stringa della previsione. Impostare modeling_role
per la colonna su 'decoded-target'. La documentazione per il client IBM watsonx.ai Runtime Python è disponibile all'indirizzo: https://ibm.github.io/watsonx-ai-python-sdk/core_api.html#repository Ricercare "OUTPUT_DATA_SCHEMA" per comprendere lo schema di output. La chiamata API da utilizzare è la chiamata store_model
che accetta OUTPUT_DATA_SCHEMA come parametro.
Interpretazione di un punteggio di correttezza superiore al 100%
A seconda della configurazione della correttezza, il punteggio può superare il 100 percento. Significa che il gruppo monitorato sta ottenendo risultati relativamente più "corretti" rispetto al gruppo di riferimento. Tecnicamente, indica che il modello non è corretto nella direzione opposta.
Ulteriori informazioni
Configurazione del monitoraggio della correttezza per la distorsione indiretta
Esame delle intuizioni del modello
Argomento principale: Configurazione del controllo della correttezza