facens – engenharia da computação inteligência artificial Árvores de decisão
TRANSCRIPT
FACENS – Engenharia da ComputaçãoInteligência Artificial
Árvores de Decisão
Aprendizado de Máquina – Tópicos
• Definições• Algoritmos• Exemplo
Árvores de Decisão - Definições
• Uma árvore de decisão utiliza uma estratégia de dividir-para-conquistar: — um problema complexo é decomposto em
sub-problemas mais simples.— recursivamente a mesma estratégia é
aplicada a cada subproblema.
• Discriminação de uma árvore vem da:— Divisão do espaço definido pelos atributos em
sub-espaços.— A cada sub-espaço é associada uma classe.
• Algoritmos—ID3, CART, C4.5
Árvores de Decisão - Definições
• Possui regras para classificar dados usando atributos.
• A árvore possui nós de decisão e nós folhas. • Um nó de decisão é basicamente uma escolha
entre N possibilidades (arcos). Cada um destes arcos possui um dos possíveis valores do atributo.
• Um nó folha é um resultado da classificação da árvore.
Árvores de Decisão - Exemplo
chuvoso
alta normal fracoforte
ensolarado nublado
Não NãoSim Sim
Tempo
UmidadeVento
Não
Jogar Tenis?
Árvores de Decisão – ID3
• Um algoritmo para construir uma árvore de decisão.
• Proposto por J. Ross Quinlan in 1979.• Utiliza da Teoria da Informação de Shannon
(1948).• Constrói a árvore em uma estrutura top down. • O conceito de ganho de informação é usado
para selecionar os atributos mais significativos para a classificação.
Árvores de Decisão – ID3
• Um algoritmo para construir uma árvore de decisão.
• Proposto por J. Ross Quinlan in 1979.• Utiliza da Teoria da Informação de Shannon
(1948).• Constrói a árvore em uma estrutura top down. • O conceito de ganho de informação é usado
para selecionar os atributos mais significativos para a classificação.
Árvores de Decisão – Entropia
• Uma fórmula para calcular o quanto uma amostra é homogênea.
• Uma amostra completamente homogênia tem entropia zero.
• Uma amostra completamente heterogência tem entropia 1.
• A fórmula da entropia é:
Árvores de Decisão – Ganho de Informação
• Uma fórmula para calcular o quanto uma amostra é homogênea.
• Uma amostra completamente homogênia tem entropia zero.
• Uma amostra completamente heterogência tem entropia 1.
• A fórmula da entropia é:
Árvores de Decisão – Ganho de Informação
• O ganho de informação é baseado na redução de entropia depois que um conjunto de dados é dividido a partir de um atributo.
• Qual atributo gera os ramos mais homogêneos? — Primeira calcula-se a entropia total do conjunto de dados— O conjunto de dados é então dividido usando os diferentes
atributos— A entropia de cada ramo é calculada e subtraída da entropia
total antes da divisão— O resultado é o ganho de informação (IG)— O atributo com o maior IG é escolhido como nó de decisão
• Se o ramo tiver entropia zero, ele é um nó folha• O processo se repete recursivamente
Árvores de Decisão – Exemplo
Pessoa Cabelo (cm)
Peso Idade Classe
Homer 0 100 36 M
Marge 25 60 34 F
Bart 5 20 10 M
Lisa 25 50 8 F
Maggie 10 8 1 F
Abe 3 70 70 M
Selma 20 80 41 F
Otto 25 65 38 M
Krusty 15 90 45 M
Cabelo <= 12?sim não
E(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9) = 0.9911
E(1F,3M) = -(1/4)log2(1/4) - (3/4)log
2(3/4) = 0.8113
E(3F,2M) = -(3/5)log2(3/5) - (2/5)log
2(2/5)
= 0.9710
np
n
np
n
np
p
np
pSE 22 loglog)(
Ganho(Cabelo <= 12) = 0.9911 – (4/9 * 0.8113 + 5/9 * 0.9710 ) = 0.0911
)()()( osSubconjuntEAtualEAGanho
Dividindo por Cabelo
Dividindo por Cabelo
Peso <= 60?sim não
E(4F,1M) = -(4/5)log2(4/5) - (1/5)log
2(1/5) = 0.7219
E(0F,4M) = -(0/4)log2(0/4) - (4/4)log
2(4/4)
= 0
Ganho(Peso <= 60) = 0.9911 – (5/9 * 0.7219 + 4/9 * 0 ) = 0.5900
Dividindo por Peso
Dividindo por Peso
E(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9) = 0.9911
np
n
np
n
np
p
np
pSE 22 loglog)(
)()()( osSubconjuntEAtualEAGanho
Idade <= 40?sim não
Entropy(3F,3M) = -(3/6)log2(3/6) - (3/6)log
2(3/6)
= 1
Entropy(1F,2M) = -(1/3)log2(1/3) - (2/3)log
2(2/3)
= 0.9183
Ganho(Idade <= 40) = 0.9911 – (6/9 * 1 + 3/9 * 0.9183 ) = 0.0183
Dividindo por Idade
Dividindo por Idade
E(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9) = 0.9911
np
n
np
n
np
p
np
pSE 22 loglog)(
)()()( osSubconjuntEAtualEAGanho
Peso <= 60?sim não
Cabelo <= 12?sim não
• Dos três atributos, peso foi o melhor. Entretanto, nem todos foram classificados corretamente.
• Sendo assim, rodamos o processo de novo para o subconjunto da esquerda!
• Como classificar estes novos casos?
Árvores de Decisão – Exemplo
Weight <= 160?
yes no
Hair Length <= 2?
yes no
We need don’t need to keep the data around, just the test conditions.
Male
Male Female
How would these people be classified?
Referências
• Quinlan, J.R. 1986, Machine Learning, 1, 81
• http://www2.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees/4_dtrees2.html
• Professor Sin-Min Lee, SJSU. http://cs.sjsu.edu/~lee/cs157b/cs157b.html
• ID3 Algorithm. Allan Neymark. CS157B – Spring 2007.