Depois de determinar que o Emparelhamento Logit Contrafactual (CLP) é a técnica apropriada para seu caso de uso, você pode aplicá-lo seguindo as seguintes etapas:
- Crie uma instância de
CounterfactualPackedInputs
com os dados originais e contrafactuais. - Meça a taxa de inversão e a contagem de inversões para determinar se a intervenção é necessária.
- Se for necessária intervenção, passe os dados de entrada originais, os dados contrafactuais, o modelo original e a perda contrafactual para o modelo contrafactual.
- Avalie o impacto do CLP medindo a taxa de inversão e a contagem de inversões.
Para ver um exemplo de aplicação do CLP a um modelo Keras, consulte o tutorial Usar emparelhamento logit contrafactual com Keras .
Crie uma instância de CounterfactualPackedInputs
Para criar o conjunto de dados contrafactual, comece determinando os termos e recursos que você deseja avaliar e que, quando removidos ou substituídos, podem alterar a previsão do seu modelo.
Depois de compreender os termos e recursos a serem avaliados, você precisará criar uma instância de CounterfactualPackedInputs
, que inclui a entrada original e os dados contrafactuais. A entrada original deve ser o conjunto de dados usado para treinar seu modelo Keras. Os dados contrafactuais têm um valor original_x
, um valor counterfactual_x
e um counterfactual_sample_weight
. O valor contrafactual deve ser quase idêntico ao valor original, com a diferença de que um ou mais atributos sensíveis sejam removidos ou substituídos. A qualidade do conjunto de dados contrafactual é importante porque é usado para emparelhar a função de perda entre o valor original e o valor contrafactual com o objetivo de garantir que a previsão do modelo não mude quando o atributo sensível for diferente.
Para obter detalhes sobre como desenvolver esse conjunto de dados contrafactual, consulte o caderno sobre como criar um conjunto de dados contrafactual personalizado .
Meça a contagem e a taxa de viradas
Um flip é definido como um classificador que dá uma decisão diferente quando o atributo sensível referenciado no exemplo muda. Ele captura a situação em que um classificador altera sua previsão na presença, ausência ou alteração de um atributo de identidade. Uma métrica mais contínua deve ser usada ao avaliar o valor real (pontuação) de um classificador.
Contagem de inversões
A contagem de inversões mede o número de vezes que o classificador toma uma decisão diferente se o termo de identidade em um determinado exemplo for alterado.
- Contagem geral de inversões : total de inversões de uma previsão de positiva para negativa e vice-versa.
- Contagem de inversões de previsão positiva para negativa : número de inversões em que o rótulo de previsão mudou de positivo para negativo.
- Contagem de inversões de previsão negativa para positiva : número de inversões em que o rótulo de previsão mudou de negativo para positivo.
Taxa de inversão
A taxa de inversão mede a probabilidade de o classificador tomar uma decisão diferente se o termo de identidade em um determinado exemplo for alterado.
- Taxa geral de inversão : contagem total de inversões sobre o número total de exemplos
- Taxa de inversão de previsão positiva para negativa : contagem de inversão positiva para negativa sobre exemplos positivos no conjunto de dados contrafactual
- Taxa de inversão de previsão negativa para positiva : contagem de inversão negativa para positiva sobre exemplos negativos no conjunto de dados contrafactual
Depois de calcular a taxa de inversão e a contagem de inversões com indicadores de imparcialidade , você pode determinar se o classificador está fazendo uma previsão diferente com base em um atributo sensível nos dados. Você pode usar a contagem de exemplo e os intervalos de confiança para determinar se possui dados suficientes para aplicar o CLP e tirar conclusões da taxa de inversão. Uma alta taxa de inversão e contagem de inversões são indicativas da ocorrência desse comportamento e podem ser usadas para decidir se o CLP é apropriado para seu caso de uso. Esta decisão é específica do seu modelo e depende de fatores como os danos que podem ser causados aos usuários finais e ao produto no qual o modelo é usado.
Aplique o emparelhamento logit contrafactual ao seu modelo Keras
Para usar o CLP, você precisa do modelo Keras original que deseja remediar, do conjunto de dados de treinamento original e do conjunto de dados contrafactual. Determine qual counterfactual loss
deve ser aplicada ao emparelhamento logit. Com isso, você pode construir o modelo Contrafactual com a função de perda contrafactual desejada e a função de perda de seu modelo original.
Depois de aplicar o CLP, você deve calcular a taxa de inversão e a contagem de inversões e quaisquer alterações em outras métricas, como a precisão geral, para medir a melhoria resultante da aplicação dessa técnica.