facens – engenharia da computação inteligência artificial Árvores de decisão

17
FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Upload: internet

Post on 17-Apr-2015

117 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

FACENS – Engenharia da ComputaçãoInteligência Artificial

Árvores de Decisão

Page 2: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Aprendizado de Máquina – Tópicos

• Definições• Algoritmos• Exemplo

Page 3: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Á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

Page 4: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Á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.

Page 5: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Árvores de Decisão - Exemplo

chuvoso

alta normal fracoforte

ensolarado nublado

Não NãoSim Sim

Tempo

UmidadeVento

Não

Jogar Tenis?

Page 6: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisã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.

Page 7: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisã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.

Page 8: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisã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 é:

Page 9: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Á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 é:

Page 10: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Á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

Page 11: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

Á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

Page 12: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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

Page 13: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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

Page 14: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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

Page 15: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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

Page 16: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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?

Page 17: FACENS – Engenharia da Computação Inteligência Artificial Árvores de Decisão

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.