🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da Estado dos EUA fundo
Leia mais

Os modelos de aprendizado profundo são frequentemente criticados por serem complexos e opacos. Eles são chamados de caixas pretas porque fornecem previsões e insights, mas a lógica por trás de seus resultados é difícil de compreender. Devido às suas complexas redes neurais não lineares multicamadas, os cientistas de dados têm dificuldade em determinar os fatores ou os motivos de uma determinada previsão.
Essa ininteligibilidade faz com que as pessoas tenham receio de tomar decisões importantes com base nos resultados dos modelos. Como seres humanos, confiamos no que entendemos; no que podemos verificar. E com o tempo, isso nos serviu bem. Portanto, ser capaz de mostrar como os modelos resolvem um problema para produzir insights ajudará a criar confiança, mesmo entre pessoas com conhecimento superficial da ciência de dados.
Para conseguir isso, é imperativo desenvolver métodos computacionais que possam interpretar, auditar e depurar esses modelos. A depuração é essencial para entender como os modelos identificam padrões e geram previsões. Isso também nos ajudará a identificar e corrigir bugs e defeitos.
Neste artigo, vamos nos aprofundar nos diferentes métodos usados para depurar modelos de aprendizado de máquina.

Também conhecido como importância do recurso de permutação, é um algoritmo que calcula a sensibilidade de um modelo às permutações/alterações nos valores de um recurso. Em essência, a importância do recurso avalia cada recurso de seus dados e o classifica com base em sua relevância ou importância em relação à saída. Embora a permutação seja importante, mede cada característica dos dados após sua alteração e a classifica com base em sua importância para gerar uma saída.
Por exemplo, vamos permutar ou misturar aleatoriamente os valores de uma única coluna no conjunto de dados de validação com todas as outras colunas intactas. Se a precisão do modelo cair substancialmente e causar um aumento no erro, esse recurso é considerado “importante”. Por outro lado, um recurso é considerado “sem importância” se o embaralhamento de seus valores não afetar a precisão do modelo.
ELI5 é uma biblioteca Python que auxilia várias estruturas de ML e ajuda a visualizar e depurar facilmente caixas pretas usando uma API unificada. Isso ajuda a calcular a importância da permutação. Mas deve-se notar que o importância da permutação só é computado em dados de teste após a construção do modelo.

Depois que nosso modelo estiver pronto, importamos ELI5 para calcular a importância da permutação.

A saída para o código acima é mostrada abaixo:

Os recursos que estão no topo são os mais importantes, o que significa que qualquer alteração feita nesses valores reduzirá significativamente a precisão do modelo. Os recursos que estão no final da lista não são importantes, pois qualquer permutação feita em seus valores não reduzirá a precisão do modelo. Neste exemplo, OverallQual foi o recurso mais importante.
Grad-CAM é uma técnica que produz explicações visuais para saídas para fornecer modelos transparentes baseados em Rede Neural Convolucional (CNN). Ele examina as informações de gradiente que fluem para a camada final da rede neural para entender a saída. O Grad-cam pode ser usado para classificação de imagens, legendas de imagens e resposta visual a perguntas. A saída fornecida pelo Grad-CAM é uma visualização de mapa de calor, usada para verificar visualmente se seu modelo foi treinado para observar os padrões corretos em uma imagem.


SHAP é uma abordagem teórica de jogos que visa explicar uma previsão calculando a importância de cada recurso para essa previsão. A biblioteca SHAP usa os valores de Shapley em sua essência e explica as previsões individuais. Lloyd Shapley introduziu o conceito de Shapley em 1953 e ele foi posteriormente aplicado ao campo do aprendizado de máquina.
Os valores de Shapley são derivados de Teoria dos jogos, em que cada recurso nos dados é um jogador e a recompensa final é a previsão. Dependendo de sua contribuição para a recompensa, os valores de Shapley nos dizem como distribuir essa recompensa de forma justa entre os jogadores.
Usamos o SHAP com bastante frequência, especialmente para os modelos nos quais a explicabilidade é crítica. Os resultados são realmente muito precisos.
O SHAP pode explicar:
Os valores de Shapley calculam a importância do recurso comparando duas previsões, uma com o recurso incluído e outra sem ele. Os valores positivos de SHAP afetam positivamente a variável de previsão/alvo, enquanto os valores negativos de SHAP afetam negativamente o alvo.
Aqui está um exemplo para explicar o mesmo. Para isso, estou pegando um conjunto de dados de qualidade do vinho tinto de sacudir.

Agora, produzimos gráficos de importância variável, que listam a variável mais significativa em ordem decrescente. Nesse caso, a variável superior contribuiria mais para o modelo.


Na figura acima, todas as variáveis são representadas graficamente em ordem decrescente. A cor das variáveis representa o valor da característica, sejam elas altas (em vermelho) ou baixas (em azul) nessa observação. UM alto o nível do teor de “sulfatos” é alto e positivo impacto na classificação de qualidade. O eixo X representa o impacto “positivo”. Da mesma forma, podemos dizer que “cloretos” está negativamente correlacionado com a variável alvo.
Agora, eu gostaria de mostrar como os valores de SHAP são calculados em casos individuais. Em seguida, executamos esses valores em várias observações e escolhemos algumas delas aleatoriamente.

Depois de escolher observações aleatórias, inicializamos nosso notebook com initjs ().

Explicação para alguns dos termos vistos no gráfico acima:
Para obter mais informações e testar suas habilidades, confira sacudir.