Entropia: como as Árvores de Decisão tomam decisões

Uma tradução do artigo foi preparada antes do início do curso Machine Learning .




Você é um especialista em ciência de dados que está atualmente seguindo um caminho de aprendizado. E você percorreu um longo caminho desde que escreveu sua primeira linha de código em Python ou R. Você conhece o Scikit-Learn como a palma da sua mão. Agora você está mais sentado no Kaggle do que no Facebook. Você não é novo na criação de florestas aleatórias impressionantes e outros modelos de conjunto de árvores de decisão que fazem um excelente trabalho. No entanto, você sabe que não conseguirá nada se não se desenvolver de forma abrangente. Você deseja aprofundar e entender os meandros e os conceitos subjacentes aos modelos populares de aprendizado de máquina. Bem, eu também.

Hoje vou falar sobre o conceito de entropia - um dos tópicos mais importantes da estatística, e mais tarde falaremos sobre o conceito de ganho de informação (ganho de informação) e descobriremos por que esses conceitos fundamentais formam a base de como as árvores de decisão são construídas a partir dos dados obtidos.

Boa. Agora vamos transgredir.

O que é entropia? Em termos simples, a entropia não passa de uma medida de desordem. (Também pode ser considerada uma medida de pureza, e logo você verá o porquê. Mas eu gosto mais da bagunça porque parece mais legal.) A

fórmula matemática da entropia é a seguinte:


Entropia. Às vezes, é escrito como H.

Aqui p i é a probabilidade de frequência de um elemento / classe i de nossos dados. Por simplicidade, suponha que tenhamos apenas duas classes: positiva e negativa. Então pegarei o valor de "+" ou "-". Se tivéssemos um total de 100 pontos em nosso conjunto de dados, 30 dos quais pertenciam à classe positiva e 70 à negativa, então p + seria 3/10 ep- será 7/10. Tudo é simples aqui.

Se eu calcular a entropia das classes neste exemplo, é isso que recebo usando a fórmula acima:



Entropia é de cerca de 0,88. Esse valor é considerado bastante alto, ou seja, temos um alto nível de entropia ou desordem (ou seja, um baixo valor de pureza). A entropia é medida no intervalo de 0 a 1. Dependendo do número de classes no seu conjunto de dados, o valor da entropia pode ser maior que 1, mas significa o mesmo que o nível de desordem é extremamente alto. Para simplificar a explicação, no artigo de hoje, teremos entropia variando de 0 a 1.

Dê uma olhada no gráfico abaixo.



No eixo X, o número de pontos da classe positiva em cada círculo é refletido e, no eixo Y, as entropias correspondentes. Você pode notar imediatamente a forma de U invertida do gráfico. A entropia será a menor em extremos quando não houver elementos positivos no círculo, em princípio, ou quando houver apenas elementos positivos. Ou seja, quando os elementos são idênticos em um círculo, o distúrbio será 0. A entropia será mais alta no meio do gráfico, onde os elementos positivos e negativos serão distribuídos igualmente dentro do círculo. Aqui a maior entropia ou desordem será alcançada, uma vez que não haverá elementos predominantes.

Existe alguma razão para a entropia ser medida usando o logaritmo de base 2, ou por que a entropia é medida entre 0 e 1, e não em um intervalo diferente? Não, não há razão. Esta é apenas uma métrica. Não é tão importante entender por que isso está acontecendo. É importante saber como o que chegamos acima é calculado e como funciona. A entropia é uma medida de confusão ou incerteza, e o objetivo dos modelos de aprendizado de máquina e dos especialistas em ciência de dados em geral é reduzir essa incerteza.

Agora sabemos como a bagunça é medida. Em seguida, precisamos de um valor para medir a redução desse distúrbio nas informações adicionais (atributos / variáveis ​​independentes) da variável / classe alvo. É aqui que o ganho de informação ou o ganho de informação entra em jogo. Do ponto de vista da matemática, pode ser escrito da seguinte maneira:



Simplesmente subtraímos a entropia Y de X da entropia Y para calcular a diminuição na incerteza sobre Y, desde que X sobre Y esteja disponível. Quanto mais forte a incerteza diminuir, mais informações poderão ser obtidas de Y sobre X.

Vejamos um exemplo simples da tabela de contingência para que Aproxime-se da questão de como as árvores de decisão usam a entropia e o ganho de informações para decidir em que base os nós do processo de aprendizado de dados são quebrados.

Exemplo: tabela de conjugação



Aqui, nossa variável de destino será Responsabilidade , que pode assumir apenas dois valores: "Normal" e "Alto". Também temos apenas um sinal, chamado Rating de Crédito, que distribui os valores em três categorias: "Excelente" , "Bom" e "Ruim" . Foram feitas 14 observações. 7 deles pertencem à classe de responsabilidade normal e 7 outros à classe de alta responsabilidade . Esta é uma divisão em si.

Se observarmos a soma total dos valores na primeira linha, veremos que temos 4 observações com Valor excelente com base no Rating de crédito . Além disso, posso até dizer que minha variável de destino é quebrada pelo Rating de crédito “Excelente” . Entre as observações com o valor “Excelente” por atributoClassificação de crédito , existem 3 que pertencem à classe de responsabilidade normal e 1 que pertence à classe de alta responsabilidade . Da mesma forma, posso calcular resultados semelhantes para outros valores de Rating de crédito da tabela de contingência.

Por exemplo, eu uso a tabela de contingência acima para calcular independentemente a entropia de nossa variável de destino e depois calcular sua entropia, levando em consideração informações adicionais do atributo Rating de Crédito . Assim, posso calcular a quantidade de informações adicionais que o Rating de crédito fornecerá para a variável de meta de responsabilidade .

Então vamos começar.



A entropia da nossa variável alvo é 1, o que significa desorganização máxima devido à distribuição uniforme de elementos entre "Normal" e "Alto" . O próximo passo é calcular a entropia da variável de destino do Passivo , levando em consideração informações adicionais do Rating de Crédito . Para fazer isso, calculamos a entropia de responsabilidade para cada valor do Rating de crédito e os adicionamos usando a taxa de observação ponderada média para cada valor. O motivo pelo qual usamos a média ponderada ficará mais claro quando falamos sobre árvores de decisão.



Obtivemos a entropia da nossa variável alvo com o atributo Classificação de crédito. Agora podemos calcular o ganho de responsabilidade informacional do Rating de crédito para entender o quão informativo esse recurso é.



O conhecimento do rating de crédito nos ajudou a reduzir a incerteza de nossa variável de meta de responsabilidade .. Não é um bom sinal de que deve funcionar? Dê-nos informações sobre a variável de destino? Bem, por essa mesma razão, as árvores de decisão usam entropia e ganho informacional. Eles determinam por qual critério dividir os nós em ramificações, para abordar a variável de destino com cada partição subseqüente e também para entender quando a construção da árvore precisa ser concluída! (além de hiperparâmetros, como profundidade máxima, é claro). Vamos ver como tudo isso funciona no exemplo a seguir, usando árvores de decisão.

Exemplo: árvore de decisão

Vejamos um exemplo de construção de uma árvore de decisão, com o objetivo de prever se o crédito de uma pessoa será baixado ou não. A população será de 30 cópias. 16 pertencerão à classe de baixa e os outros 14"Não amortizado" . Teremos dois sinais, a saber, "Equilíbrio" , que pode assumir dois valores: "<50K" ou "> 50K" e "Residência" , que aceita três valores: "PRÓPRIO" , "ALUGAR" ou "OUTROS" . Demonstrarei como o algoritmo da árvore de decisão decidirá qual atributo será quebrado primeiro e qual será o mais informativo, ou seja, elimina melhor a incerteza da variável de destino usando o conceito de entropia e ganho de informação.

Sintoma 1: Equilíbrio



Aqui, os círculos pertencem à classe "write-off" e as estrelas correspondem à classe "non-write-off" . Particionando uma raiz pai por atributoO saldo nos dará 2 nós de herdeiro. No nó esquerdo, haverá 13 observações, sendo 12/13 (probabilidade 0,92) de observações da classe "write-off" e apenas 1/13 (probabilidade 0,08) de observações da classe "non-write-off" . No nó direito, haverá 17 das 30 observações, sendo 13/17 (probabilidade 0,76) das observações da classe "write-off" e 4/17 (probabilidade 0,24) das observações da classe "non-write-off" .

Vamos calcular a entropia da raiz e ver o quanto a árvore pode reduzir a incerteza usando uma partição baseada em Balance .



Uma divisão com base no Saldo fornecerá um ganho informacional de 0,37. Vamos contar o mesmo para o sinal de residênciae compare os resultados.

Sintoma 2: Residência Ao



dividir uma árvore com base no Residence , você terá três nós de herdeiro. O nó descendente esquerdo receberá 8 observações, onde 7/8 (probabilidade 0,88) de observações da classe de baixa e apenas 1/8 (probabilidade 0,12) de observações da classe de não baixa . O nó médio sucessor receberá 10 observações, onde 4/10 (probabilidade 0,4) de observações da classe de baixa e 6/10 (probabilidade 0,6) de observações da classe de não baixa . O herdeiro certo receberá 12 observações, sendo 5/12 (probabilidade 0,42) de observações da classe de baixa e 7/12 (probabilidade 0,58) de observações da classe de não baixa. Já conhecemos a entropia do nó pai, portanto, simplesmente calculamos a entropia após a partição para entender o ganho informacional do atributo Residence .



O ganho informativo do atributo Balance é quase três vezes maior que o da Residence ! Se você olhar os gráficos novamente, verá que a partição de acordo com o Balance fornecerá nós descendentes mais limpos do que de acordo com a Residence . No entanto, o nó mais à esquerda no Residence também é bastante limpo, mas é aqui que a média ponderada entra em jogo. Apesar de o nó estar limpo, possui o menor número de observações e seu resultado é perdido no recálculo geral e no cálculo da entropia total de acordo com Residence. Isso é importante porque procuramos o conteúdo informativo geral do atributo e não queremos que o resultado final seja distorcido pelo valor raro do atributo.

O próprio atributo Balance fornece mais informações sobre a variável de destino do que Residence . Assim, a entropia da nossa variável alvo é reduzida. O algoritmo da árvore de decisão usa esse resultado para fazer a primeira divisão de acordo com Balancepara decidir posteriormente em que base quebrar os seguintes nós. No mundo real, quando existem mais de dois recursos, o primeiro detalhamento ocorre de acordo com o recurso mais informativo e, a cada detalhamento subsequente, o ganho de informações será recontado para cada recurso adicional, pois não será o mesmo que o ganho de informações de cada recurso individualmente. Entropia e ganho informacional devem ser calculados após uma ou várias partições, o que afetará o resultado final. A árvore de decisão repetirá esse processo à medida que cresce em profundidade, até atingir uma certa profundidade ou algum tipo de divisão levar a um ganho informacional mais alto além de um determinado limite, que também pode ser especificado como um hiperparâmetro!

Isso é tudo! Agora você sabe qual entropia, ganho de informação e como eles são calculados. Agora você entende como a árvore de decisão, sozinha ou como parte de um conjunto, toma decisões sobre a melhor ordem de particionamento por atributos e decide quando parar ao aprender os dados disponíveis. Bem, se você precisar explicar a alguém como as árvores de decisão funcionam, espero que você lide adequadamente com essa tarefa.

Espero que você tenha aprendido algo útil para si mesmo neste artigo. Se eu perdi alguma coisa ou me expressei incorretamente, escreva-me sobre isso. Ficarei muito grato a você! Obrigado.



Saiba mais sobre o curso.



All Articles