htilde-rt: um algoritmo de aprendizado de árvores de...

111
HTILDE-RT: UM ALGORITMO DE APRENDIZADO DE ´ ARVORES DE REGRESS ˜ AO DE L ´ OGICA DE PRIMEIRA ORDEM PARA FLUXOS DE DADOS RELACIONAIS Glauber Marcius Cardoso Menezes Disserta¸c˜ ao de Mestrado apresentada ao Programa de P´ os-gradua¸c˜ ao em Engenharia de Sistemas e Computa¸c˜ ao, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necess´arios `a obten¸c˜ ao do ıtulo de Mestre em Engenharia de Sistemas e Computa¸c˜ ao. Orientador: Gerson Zaverucha Rio de Janeiro Dezembro de 2011

Upload: doantruc

Post on 10-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

HTILDE-RT: UM ALGORITMO DE APRENDIZADO DE ARVORES DE

REGRESSAO DE LOGICA DE PRIMEIRA ORDEM PARA FLUXOS DE

DADOS RELACIONAIS

Glauber Marcius Cardoso Menezes

Dissertacao de Mestrado apresentada ao

Programa de Pos-graduacao em Engenharia

de Sistemas e Computacao, COPPE, da

Universidade Federal do Rio de Janeiro, como

parte dos requisitos necessarios a obtencao do

tıtulo de Mestre em Engenharia de Sistemas e

Computacao.

Orientador: Gerson Zaverucha

Rio de Janeiro

Dezembro de 2011

Page 2: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

HTILDE-RT: UM ALGORITMO DE APRENDIZADO DE ARVORES DE

REGRESSAO DE LOGICA DE PRIMEIRA ORDEM PARA FLUXOS DE

DADOS RELACIONAIS

Glauber Marcius Cardoso Menezes

DISSERTACAO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO

ALBERTO LUIZ COIMBRA DE POS-GRADUACAO E PESQUISA DE

ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE

JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A

OBTENCAO DO GRAU DE MESTRE EM CIENCIAS EM ENGENHARIA DE

SISTEMAS E COMPUTACAO.

Examinada por:

Prof. Gerson Zaverucha, Ph.D.

Prof. Valmir Carneiro Barbosa, Ph.D.

Profa. Bianca Zadrozny, Ph.D.

Profa. Marley Maria Bernardes Rebuzzi Vellasco, Ph.D.

Prof. Adriano Alonso Veloso, D.Sc.

RIO DE JANEIRO, RJ – BRASIL

DEZEMBRO DE 2011

Page 3: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Menezes, Glauber Marcius Cardoso

HTILDE-RT: Um algoritmo de aprendizado de arvores

de regressao de logica de primeira ordem para fluxos de

dados relacionais/Glauber Marcius Cardoso Menezes. –

Rio de Janeiro: UFRJ/COPPE, 2011.

XIV, 97 p.: il.; 29, 7cm.

Orientador: Gerson Zaverucha

Dissertacao (mestrado) – UFRJ/COPPE/Programa de

Engenharia de Sistemas e Computacao, 2011.

Referencias Bibliograficas: p. 93 – 97.

1. Aprendizado de maquina. 2. Programacao em logica

indutiva. 3. Regressao. 4. Escalabilidade de algoritmos.

5. Mineracao em grandes bases de dados. 6. Fluxos de

dados. I. Zaverucha, Gerson. II. Universidade Federal

do Rio de Janeiro, COPPE, Programa de Engenharia de

Sistemas e Computacao. III. Tıtulo.

iii

Page 4: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Aos meu pais, Nelson (in

memoriam) e Joana, sem os

quais nenhuma de minhas

realizacoes seria possıvel. Tudo

que ha de bom em mim tem sua

contribuicao.

iv

Page 5: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Agradecimentos

Agradeco primeiramente aos meus pais, Joana D’arc de Oliveira Menezes e Nel-

son Cardoso Menezes, por todo carinho, atencao e dedicacao investidos em minha

criacao e por todos os seus ensinamentos, os quais foram fundamentais para minha

formacao moral e intelectual. Sem eles, eu nada seria.

A minha namorada Sarah Mendes, por todo o carinho e apoio, compartilhando

de perto minhas derrotas e vitorias, meus erros e acertos.

Aos meus amigos de longa data: Andre Lima, Aprıgio Bertholdo, Diego Abran-

tes, Joao Carlos da Rosa, Leandro Lessa, Maximiliano Iabrudi, Rafael Abrantes,

Renan Marcolino, Vinıcius Ferreira, William de Carvalho e Yuri Villar; por estarem

ao meu lado ontem, hoje e sempre.

Aos amigos conquistados gracas a minha passagem pela UFRJ: Alexandre Ra-

belo, Alexandre Sardinha, Carlos Wagner, Douglas Cardoso, Fellipe Duarte, Lucio

Paiva, Paulo Braz, Rafael Espırito Santo e Rodrigo Barbosa; por serem uma ines-

gotavel fonte de sabedoria e companheirismo.

Ao amigo Elias Bareinboim, por ter influenciado positivamente na minha decisao

de adentrar no mestrado desta instituicao.

Ao grande amigo Dr. Celso Lugao da Veiga, por ter acompanhado de perto

esta minha caminhada, zelando por meu bem-estar e transferindo-me conhecimentos

valiosıssimos para o resto de minha vida.

Ao meu recem-amigo Dr. Gustavo Coutinho Medeiros de Andrade, por estar

cuidando de minha saude com maestria, por seus valiosos conhecimentos e sua in-

fluencia impactante em minha vida.

Aos amigos e colegas de orientacao: Cristiano Pitangui e Juliana Bernardes, pela

excelente interacao que tivemos; e, em particular, a Ana Duboc e Aline Paes por

terem me ajudado inumeras vezes mais proximamente.

A Carina Lopes, por ter sido tao solıcita e atenciosa, transmitindo-me seus conhe-

cimentos e esclarecendo-me incontaveis duvidas sobre o sistema ACE e os algoritmos

TILDE e HTILDE.

Ao meu orientador, professor Gerson Zaverucha, pelos conhecimentos a mim

transferidos e por acreditar em mim, dedicando-me seu tempo e paciencia em mo-

mentos em que duvidei de mim mesmo.

v

Page 6: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

A Hendrik Blockeel, criador do TILDE, e Jan Ramon, por fornecerem o codigo

fonte do sistema ACE e permitirem que este trabalho pudesse basear-se em seu

sistema.

Agradeco especialmente: a Jan Struyf que, mesmo nao mais estando no ambiente

academico, foi extremamente solıcito, ajudando-me a resolver problemas relaciona-

dos ao sistema ACE; e a Celine Vens, por fornecer informacoes sobre os problemas

Artificial1 e Artificial2, bem como explicacoes pertinentes aos mesmos.

Agradeco ainda a Celine Vens, Daan Fierens, Jan Ramon e Hendrik Blockeel

pela ajuda com duvidas acerca do funcionamento de elementos do sistema.

A equipe de funcionarios do PESC: Claudia, Gutierrez, Roberto Rodrigues, So-

lange, Sonia Regina e demais, por mostrarem-se tao prestativos e atenciosos em

todos os momentos que os solicitei.

Ao excelente corpo docente do PESC e, em particular, aos professores com os

quais cursei as disciplinas que escolhi.

Agradeco a CAPES e ao CNPq pela ajuda financeira.

vi

Page 7: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Resumo da Dissertacao apresentada a COPPE/UFRJ como parte dos requisitos

necessarios para a obtencao do grau de Mestre em Ciencias (M.Sc.)

HTILDE-RT: UM ALGORITMO DE APRENDIZADO DE ARVORES DE

REGRESSAO DE LOGICA DE PRIMEIRA ORDEM PARA FLUXOS DE

DADOS RELACIONAIS

Glauber Marcius Cardoso Menezes

Dezembro/2011

Orientador: Gerson Zaverucha

Programa: Engenharia de Sistemas e Computacao

Atualmente, organizacoes modernas armazenam seus dados sob a forma de ban-

cos de dados relacionais que crescem mais rapidamente que a capacidade de hard-

ware. Entretanto, a extracao de informacao tornou-se uma tarefa crucial para a

sobrevivencia das corporacoes. Neste trabalho, propomos o algoritmo HTILDE-RT,

um algoritmo incremental escalavel para aprender de forma eficiente arvores de re-

gressao de logica de primeira ordem em fluxos de dados relacionais. O HTILDE-RT

e baseado no sistema ILP de regressao TILDE-RT e no sistema proposicional de

aprendizado em fluxos VFDT. O algoritmo proposto utiliza o limitante de Hoeff-

ding para tornar o processo de aprendizado escalavel. O HTILDE-RT foi comparado

com o TILDE-RT em grandes massas de dados, com 2 milhoes de exemplos cada,

acelerando o aprendizado entre 2,4 e 260 vezes, gerando predominantemente mode-

los menores e sem perdas estatisticamente significativas em relacao ao coeficiente de

correlacao de Pearson, porem com discreta perda em relacao ao RMSE, entre 0%

a 2% maior. Esses resultados experimentais sugerem uma boa troca entre escalabi-

lidade (velocidade e tamanho) e acuracia. Adicionalmente, sao apresentados novos

resultados obtidos com o algoritmo ILP de classificacao HTILDE, um dos sistemas

base do HTILDE-RT.

vii

Page 8: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the

requirements for the degree of Master of Science (M.Sc.)

HTILDE-RT: A FIRST ORDER LOGICAL REGRESSION TREE LEARNER

FOR RELATIONAL DATA STREAMS

Glauber Marcius Cardoso Menezes

December/2011

Advisor: Gerson Zaverucha

Department: Systems Engineering and Computer Science

Currently, modern organizations store their data under the form of relational

databases which grow faster than hardware capacities. However, extracting infor-

mation from such databases has become crucial for corporations survival. In this

work we propose HTILDE-RT, a scalable incremental algorithm to learn first-order

logical regression trees efficiently from relational data streams. HTILDE-RT is based

on the regression ILP system TILDE-RT and the propositional data stream learner

VDFT. The proposed algorithm uses the Hoeffding bound to scale up the learning

process. HTILDE-RT was compared with the batch learner TILDE-RT over large

regression datasets, with two million examples each, speeding up the learning time

between 2.4 and 260 times, generating predominantly shorter models and without

showing significant statistical differences with respect to the Pearson coefficient, but

with a small loss in RMSE, between 0% and 2%. These experimental results suggest

a good trade-off between scalability (speed and size) and accuracy. Moreover, we

show new results yielded by the classification ILP system HTILDE, a base system

of HTILDE-RT.

viii

Page 9: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Sumario

Lista de Figuras xi

Lista de Tabelas xiii

1 Introducao 1

2 Conceitos fundamentais 4

2.1 Arvores de Decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Representacao do conhecimento . . . . . . . . . . . . . . . . . 4

2.1.2 Ganho de informacao . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.3 Aprendizado (Inducao) . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Arvores de Regressao - O caso contınuo . . . . . . . . . . . . . . . . . 12

2.2.1 Reducao da variancia . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Atributos numericos . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.3 Modelo preditivo . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.4 Inducao de arvores de regressao . . . . . . . . . . . . . . . . . 17

2.3 Programacao em Logica Indutiva - ILP . . . . . . . . . . . . . . . . . 19

2.3.1 Regressao em ILP . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4 Avaliacao do Aprendizado . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Sistemas Relacionados 27

3.1 TILDE - Top-down Induction of Logical Decision Trees . . . . . . . . 27

3.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1.2 Aprendizado por Interpretacao . . . . . . . . . . . . . . . . . 30

3.1.3 Especificacao de um problema . . . . . . . . . . . . . . . . . . 31

3.1.4 Refinamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.5 Pacotes de clausulas . . . . . . . . . . . . . . . . . . . . . . . 35

3.1.6 Tratamento de Regressao - TILDE-RT . . . . . . . . . . . . . 36

3.1.7 Heurıstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.1.8 Inducao de arvores de decisao de logica de primeira ordem . . 39

3.2 VFDT - Very Fast Decision Tree . . . . . . . . . . . . . . . . . . . . 42

3.2.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

ix

Page 10: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.2.2 Limitante de Hoeffding . . . . . . . . . . . . . . . . . . . . . . 42

3.2.3 Arvores de Hoeffding . . . . . . . . . . . . . . . . . . . . . . . 43

3.2.4 Propriedades das Arvores de Hoeffding . . . . . . . . . . . . . 46

3.2.5 Tratamento de atributos numericos . . . . . . . . . . . . . . . 49

3.2.6 VFDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.3 HTILDE - Hoeffding TILDE . . . . . . . . . . . . . . . . . . . . . . . 51

3.3.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.3.2 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.3.3 Especificacao de um problema . . . . . . . . . . . . . . . . . . 56

4 HTILDE: Novos resultados 58

4.1 Propriedades das HTILDE-Trees . . . . . . . . . . . . . . . . . . . . 58

4.2 Resultados com a base de dados CORA . . . . . . . . . . . . . . . . . 60

5 HTILDE-RT 65

5.1 Hoeffding TILDE Regression Trees . . . . . . . . . . . . . . . . . . . 65

5.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1.2 Alteracao da heurıstica . . . . . . . . . . . . . . . . . . . . . . 66

5.1.3 Tratamento de atributos numericos . . . . . . . . . . . . . . . 67

5.1.4 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.1.5 Especificacao de um problema . . . . . . . . . . . . . . . . . . 73

5.1.6 Aspectos de implementacao . . . . . . . . . . . . . . . . . . . 74

5.2 Resultados Experimentais . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.2.2 Conjuntos de dados . . . . . . . . . . . . . . . . . . . . . . . . 76

6 Conclusao 91

6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Referencias Bibliograficas 93

x

Page 11: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Lista de Figuras

2.1 Exemplo de uma arvore de decisao para o conceito Jogar Tenis. . . . 6

2.2 Conjunto de regras correspondente a arvore da figura 2.1. . . . . . . . 6

2.3 Grafico da entropia relativa a uma classificacao booleana. p⊕ e a

proporcao de exemplos positivos e varia de 0 a 1. . . . . . . . . . . . 8

2.4 Exemplo de calculo de ganho de informacao. . . . . . . . . . . . . . . 9

2.5 Exemplo de uma arvore de regressao para o conceito MPG. . . . . . . 13

2.6 Esquema do aprendizado em programacao em logica indutiva (ILP),

onde B e o conhecimento preliminar, E e o conjunto de exemplos,

formado pelos exemplos positivos (E+) e negativos (E−), e H e a

teoria aprendida pelo sistema. . . . . . . . . . . . . . . . . . . . . . . 19

2.7 Exemplos considerados no problema dos trens. . . . . . . . . . . . . . 20

2.8 Representacao dos exemplos para o problema dos trens . . . . . . . . 21

2.9 Representacao do conhecimento preliminar para o problema dos trens 21

2.10 Exemplo de clausula aprendida pelo FORS . . . . . . . . . . . . . . . 23

2.11 Exemplo do problema fatorial . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Exemplos do problema Bongard. . . . . . . . . . . . . . . . . . . . . . 29

3.2 Exemplo de arvore gerada pelo TILDE. . . . . . . . . . . . . . . . . . 29

3.3 Conteudo do arquivo bongard.kb. . . . . . . . . . . . . . . . . . . . . 32

3.4 Conhecimento preliminar no arquivo bongard.bg. . . . . . . . . . . . 32

3.5 Exemplo de arvore gerada pelo TILDE. . . . . . . . . . . . . . . . . . 33

3.6 Exemplo de possıveis refinamentos para o filho esquerdo da raiz da

arvore da figura 3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.7 Conjunto de clausulas que se deseja saber se provam e . . . . . . . . 35

3.8 Pacote de clausulas da figura 3.7. . . . . . . . . . . . . . . . . . . . . 36

3.9 Arquivo kb do problema Machines . . . . . . . . . . . . . . . . . . . . 36

3.10 Conhecimento preliminar do problema Machines . . . . . . . . . . . . 37

3.11 Arvore gerada para o problema Machines . . . . . . . . . . . . . . . . 37

4.1 CORA: Curvas de aprendizado para a medida-F . . . . . . . . . . . . 63

4.2 CORA: Curvas de aprendizado para a AUC-PR . . . . . . . . . . . . 63

xi

Page 12: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

5.1 Predicado alvo para Artificial1 . . . . . . . . . . . . . . . . . . . . . 77

5.2 Artificial1 - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . 79

5.3 Predicado alvo para Artificial2 . . . . . . . . . . . . . . . . . . . . . 80

5.4 Artificial2 - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . 82

5.5 FRIED - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . . . 85

5.6 Gerador do conjunto de dados MV . . . . . . . . . . . . . . . . . . . 86

5.7 MV - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . . . . . 87

5.8 Gerador do conjunto de dados 2D-Planes . . . . . . . . . . . . . . . . 88

5.9 2D-Planes - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . 90

xii

Page 13: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Lista de Tabelas

2.1 Objetos associados ao conceito Jogar Tenis. . . . . . . . . . . . . . . 5

2.2 Objetos associados ao conceito Milhas por Galao. . . . . . . . . . . . 12

2.3 Tratamento do atributo numerico Cilindradas. . . . . . . . . . . . . . 15

3.1 Diferencas entre os algoritmos em alto nıvel do VFDT e do HTILDE. 54

4.1 Resultados para o problema CORA . . . . . . . . . . . . . . . . . . . 61

4.2 CORA - Curvas de aprendizado . . . . . . . . . . . . . . . . . . . . . 62

5.1 Resultados para Artificial1 . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2 Curva de Aprendizado para Artificial1 . . . . . . . . . . . . . . . . . 78

5.3 Curva de Aprendizado para Artificial1* . . . . . . . . . . . . . . . . . 79

5.4 Resultado para Artificial2 . . . . . . . . . . . . . . . . . . . . . . . . 80

5.5 Curva de Aprendizado para Artificial2 . . . . . . . . . . . . . . . . . 81

5.6 Curva de Aprendizado para Artificial2* . . . . . . . . . . . . . . . . . 82

5.7 FRIED : FRIEDMAN . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.8 Curva de aprendizado para o problema FRIED . . . . . . . . . . . . . 84

5.9 Resultados para MV . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5.10 Curva de Aprendizado para MV . . . . . . . . . . . . . . . . . . . . . 87

5.11 Resultados para 2D-Planes . . . . . . . . . . . . . . . . . . . . . . . . 88

5.12 Curva de Aprendizado para 2D-Planes . . . . . . . . . . . . . . . . . 89

xiii

Page 14: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Lista de Algoritmos

2.1 Versao do algoritmo C4.5 para aprender arvores de decisao para pro-

blemas de duas classes [33] . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Versao do algoritmo C4.5 para aprender arvores de regressao . . . . . 18

3.1 Algoritmo do TILDE, para inducao de arvores de decisao de logica

de primeira ordem, proposto em [5] [4] . . . . . . . . . . . . . . . . . 40

3.2 Algoritmo de classificacao de um exemplo usando um FOLDT (com

um conhecimento preliminar B), proposto em [5] [4] . . . . . . . . . . 41

3.3 Algoritmo de inducao de uma arvore de Hoeffding, proposto em [15] . 44

3.4 Algoritmo de Arvore de Decisao [33] . . . . . . . . . . . . . . . . . . 51

3.5 VFDT [15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.6 Algoritmo do HTILDE, para inducao de uma arvore de decisao de

logica de primeira ordem escalavel para grandes fluxos dados. . . . . . 53

3.7 Funcao FazParticionamento, chamada pelo HTILDE, cujo pseudo-

codigo e exibido no algoritmo 3.6. . . . . . . . . . . . . . . . . . . . . 55

3.8 Algoritmo de classificacao de um exemplo usando o HTILDE (com

um conhecimento preliminar B) . . . . . . . . . . . . . . . . . . . . . 56

5.1 Algoritmo HTILDE-RT, para inducao de uma arvores de regressao

de logica de primeira ordem em fluxos de dados. . . . . . . . . . . . . 71

5.2 Funcao FazParticionamento, chamada pelo HTILDE-RT, cujo

pseudo-codigo e exibido no algoritmo 5.1. . . . . . . . . . . . . . . . . 72

5.3 Algoritmo de predicao de um exemplo usando o HTILDE-RT . . . . . 73

xiv

Page 15: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 1

Introducao

O aprendizado de maquina de maquina e um campo de pesquisa voltado para de-

senvolvimento de algoritmos que melhorem automaticamente a partir da experiencia.

Este envolve a combinacao de diversos outros campos, como algoritmos, inteligencia

artificial, filosofia, estatıstica, dentre outros [33].

Por sua vez, a mineracao de dados e um campo no qual se busca a solucao

de problemas atraves da analise de dados previamente presentes em um banco de

dados. Pode-se ainda definir a mineracao de dados como o processo de descoberta

de padroes nos dados [48]. Desta forma, muitas tecnicas usadas atualmente em

mineracao de dados tiveram suas origens no campo do aprendizado de maquina.

Atualmente, o uso de mineracao de dados tornou-se uma necessidade vital para

a sobrevivencia das corporacoes, bem como serve de poderosa ferramenta para a

descoberta cientıfica. Dessa forma, sua aplicabilidade e ampla, indo desde a deteccao

de fraudes eletronicas, passando pelo monitoramento de dados em redes ate a analise

de dados biomedicos.

Entretanto, tarefas cada vez maiores e mais complexas surgem. No cenario atual,

as bases de dados frequentemente superam a quantidade de memoria fısica. Esta

caracterıstica configura um problema de escalabilidade para os algoritmos tradi-

cionais de mineracao de dados, pois eles precisam carregar toda base de uma so

em memoria para realizar o aprendizado [15]. Uma outra situacao problematica

e quando os dados sao obtidos iterativamente, por exemplo no monitoramento de

transacoes financeiras. Nessa ultima situacao, ha um ‘fluxo de dados’ (data stream)

[1] e o algoritmo deve incrementalmente tratar cada nova informacao que chega.

Alem disso, a estrutura relacional, comumente associada ao uso da linguagem

SQL, frequentemente e a opcao escolhida para armazenamento e representacao de da-

dos. Porem, o representacao relacional e mais expressiva do que a representacao tra-

dicionalmente usada pelos algoritmos de mineracao, conhecida como representacao

atributo-valor ou proposicional. Essa diferenca nas representacoes tambem confi-

gura um problema, pois nao e possıvel aplicar diretamente algoritmos tradicionais

1

Page 16: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

em bases relacionais. Alem disso, converter dados relacionas a forma atributo-valor

pode nem sempre ser possıvel.

Domingos e Hulten [15] desenvolveram uma metodologia para tratar fluxos de

dados, que culminou no algoritmo VFDT (Very Fast Decision Trees). O VFDT

e um algoritmo de classificacao proposicional que usa uma tecnica de amostragem

baseada no limitante de Hoeffding [22] para escolher qual e o melhor teste a ser

introduzido no no de uma arvore de decisao, sem a necessidade de analisar todos os

exemplos ao mesmo tempo. O VFDT e o estado da arte para este tipo de problema.

Uma outra area do aprendizado de maquina e conhecida como programacao

em logica indutiva (ILP - Inductive Logic Programming). Ela e definida como a

intersecao de aprendizado indutivo e programacao em logica [34], tendo o objetivo

de aprender teorias em logica de primeira ordem a partir de exemplos e de um

conhecimento preliminar.

A logica de primeira ordem tem a relevante capacidade de representar situacoes

complexas envolvendo varios objetos e as relacoes entre eles de forma elegante. Posto

isso, sistemas ILP tem expressividade superior a de sistemas tradicionais, conhecidos

como sistemas proposicionais, tambem chamados de metodos atributo-valor. Dessa

forma, algoritmos ILP sao capazes de resolver problemas que estes ultimos nao

conseguem [9].

O TILDE (Top-down Induction of Logical Decision Trees) [4] e a versao ILP

do algoritmo de arvores de decisao, o qual e capaz de modelar a grande maioria

dos esquemas relacionais nos bancos de dados modernos. Sua eficiencia e garan-

tida atraves do emprego das tecnicas de pacotes de clausulas (Query Packs) [2] e

aprendizado por interpretacoes (learning from interpretations) [5]. Tal algoritmo

e implementado como parte do sistema ACE [13], o qual e uma plataforma ILP

generica que engloba outros algoritmos de aprendizado. Adicionalmente, o TILDE

tambem e capaz de tratar problemas de regressao, sendo chamado de TILDE-RT

neste caso.

Lopes e Zaverucha em [28] estenderam a metologia utilizada pelo VFDT ao para-

digma da ILP, modificando o algoritmo TILDE. A partir disso, foi criado o HTILDE

(Hoeffding TILDE), um algoritmo de classificacao capaz de tratar eficientemente

problemas de classificacao a partir de fluxos de dados relacionais. O HTILDE alia a

eficiencia do VFDT com a expressividade do TILDE, sendo portanto a versao ILP

do VFDT.

O objetivo deste trabalho e o tratamento eficiente de regressao dentro do pa-

radigma da ILP. Dessa forma, e proposto o algoritmo HTILDE-RT, que e uma

modificacao do HTILDE para o tratamento de regressao a partir de fluxos de dados

relacionais. Da mesma forma que o HTILDE, o HTILDE-RT combina a expres-

sividade do paradigma da logica de primeira ordem e a eficiencia da tecnica de

2

Page 17: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

amostragem guiada pelo limitante de Hoeffding. Um importante motivador esta no

fato de que as arvores de regressao sao modelos interessantes, pois sao capazes de

descrever funcoes numericas mantendo a interpretabilidade e eficiencia das arvores

de decisao.

Posto isso, esta dissertacao esta organizada da seguinte forma: no capıtulo 2,

sao apresentados conceitos essenciais para este trabalho, como arvores de decisao e

regressao, programacao em logica indutiva e avaliacao de aprendizado; no capıtulo

3, sao apresentados os seguintes algoritmos relacionados a este trabalho: TILDE na

secao 3.1, VFDT na secao 3.2 e HTILDE na secao 3.3; no capıtulo 4, sao discutidas as

propriedades assintoticas dos modelos aprendidos pelo sistema ILP de classificacao

HTILDE, base do HTILDE-RT, bem como sao apresentados novos resultados ex-

perimentais; no capıtulo 5, esta detalhado o algoritmo HTILDE-RT, bem como os

resultados experimentais obtidos; e no capitulo 6, sao expostas as conclusoes deste

trabalho, bem como desejaveis trabalhos futuros sao enumerados.

3

Page 18: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 2

Conceitos fundamentais

Neste capıtulo, conceitos fundamentais relacionados a este trabalho sao apresen-

tados de acordo com a seguinte organizacao: na secao 2.1, e explicado o aprendizado

de arvores de decisao para problemas de classificacao; na secao 2.2, o aprendizado

de arvores de regressao e discutido; na secao 2.3, e introduzido o conceito de pro-

gramacao em logica indutiva bem como sua aplicacao em problemas de regressao; e

na secao 2.4, conceitos relacionados a avaliacao do aprendizado sao apresentados.

2.1 Arvores de Decisao

Uma arvore de decisao e um modelo capaz de descrever conceitos, de forma

aproximada, atraves de regras que mapeiam um objeto em um valor especıfico. Tais

regras sao representadas atraves de um grafo do tipo arvore, onde a cada no interno

corresponde um teste. O mapeamento de um objeto e feito atravessando-o ao longo

da arvore, partindo-se da raiz ate chegar em uma folha. Ao alcancar um no interno, o

objeto e confrontado com o teste associado aquele no e o resultado do teste determina

o proximo no da travessia. Finalmente, ao chegar em uma folha, o objeto recebe um

valor de acordo com uma funcao associada a mesma. Os algoritmos classicos para

aprendizado de arvores de decisao sao o ID3 [40] e seu sucessor o C4.5 [41].

2.1.1 Representacao do conhecimento

Um ponto fundamental para o aprendizado e inferencia nas arvores de decisao,

bem como em qualquer algoritmo de aprendizado, e a maneira como a informacao

e estruturada e representada nos dados. A representacao mais comum e conhecida

como atributo-valor, ou ainda proposicional, onde todos os objetos na base de dados

sao compostos por um mesmo conjunto fixo de atributos, e cada atributo possui um

conjunto de possıveis valores que pode assumir (seu domınio). Caso um atributo

seja numerico, ou possivelmente contınuo, costuma-se adotar um passo previo de

4

Page 19: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

discretizacao, porem existem outras formas para tratar atributos nao categoricos,

conforme e discutido na secao 2.2.2. Essencialmente, dados proposicionais podem

ser representados atraves de uma tabela unica.

Para auxiliar nas explicacoes, o exemplo do conceito Jogar Tenis e usado. Na

tabela 2.1 existem informacoes meteorologicas sobre alguns dias previamente obser-

vados, juntamente com a informacao da decisao que foi tomada, que pode ser jogar

(Sim) ou nao jogar tenis (Nao).

Dia Tempo Temperatura Umidade Vento Jogar TenisD1 Ensolarado Quente Alta Fraco NaoD2 Ensolarado Quente Alta Forte NaoD3 Nublado Quente Alta Fraco SimD4 Chuvoso Amena Alta Fraco SimD5 Chuvoso Fria Normal Fraco SimD6 Chuvoso Fria Normal Forte NaoD7 Nublado Fria Normal Forte SimD8 Ensolarado Amena Alta Fraco NaoD9 Ensolarado Fria Normal Fraco SimD10 Chuvoso Amena Normal Fraco SimD11 Ensolarado Amena Normal Forte SimD12 Nublado Amena Alta Forte SimD13 Nublado Quente Normal Fraco SimD14 Chuvoso Amena Alta Forte Nao

Tabela 2.1: Objetos associados ao conceito Jogar Tenis.

Neste exemplo, os objetos sao os dias, linhas da tabela, os atributos sao as

informacoes meteorologicas, colunas, e o conceito que se deseja representar e o de

quando jogar, ou nao jogar tenis.

No grafo em forma de arvore, cada no e associado a um atributo e cada possıvel

valor deste fica associado a uma aresta. Na figura 2.1 ha um exemplo de arvore

de decisao para o conceito Jogar Tenis. Para saber qual decisao tomar em um

dia especıfico, basta confrontar os atributos deste objeto com os testes ao longo da

arvore, ate que uma folha seja alcancada.

Suponha que fosse necessario saber qual decisao tomar num dia com as seguintes

caracterısticas (atributos): ensolarado, temperatura fria, umidade normal e vento

forte. Suponha, tambem, que foi fornecida a arvore da figura 2.1. De acordo com

esta, a decisao seria “Sim”, isto e, ‘jogar’. Note que, nao ha tal registro na tabela,

logo nao seria possıvel responder tal pergunta apenas consultando a mesma.

Conforme dito, tal representacao codifica um conjunto de regras [4], portanto,

como consequencia da estrutura e do processo para a tomada de decisao, cada folha

e na verdade associada a cabeca de uma regra, cujo corpo e formado pela conjuncao

5

Page 20: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Figura 2.1: Exemplo de uma arvore de decisao para o conceito Jogar Tenis.

dos testes associados ao caminho da raiz ate a folha em questao. Por exemplo, a

arvore da figura 2.1 expressa o seguinte conjunto de regras na figura 2.2.

SE Tempo = Ensolarado E Umidade = Alta ENTAO Classe = NaoSE Tempo = Ensolarado E Umidade = Normal ENTAO Classe = SimSE Tempo = Nublado ENTAO Classe = SimSE Tempo = Chuvoso E V ento = Forte ENTAO Classe = NaoSE Tempo = Chuvoso E V ento = Fraco ENTAO Classe = Sim

Figura 2.2: Conjunto de regras correspondente a arvore da figura 2.1.

6

Page 21: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

2.1.2 Ganho de informacao

Antes de discutir o algoritmo de aprendizado de arvores de decisao, nesta secao

esta detalhado como o C4.5 avalia a qualidade dos atributos que sao candidatos a

teste durante a inducao. Embora existam outras funcoes que possam ser usadas

para avaliar a qualidade de um atributo, como o ındice de Gini [10], o ganho de

informacao tem importancia particular neste trabalho e, por isso, e detalhado. Tal

importancia vem do fato de o ganho de informacao ser a funcao usada pelo algoritmo

VFDT, base de nosso trabalho.

O C4.5 utiliza o ganho de informacao para medir a qualidade dos atributos como

candidatos a teste, quando trata problemas de classificacao. O ganho de informacao

utiliza o conceito de entropia, sendo esta uma medida de quao organizado, ou puro, e

um conjunto em relacao ao conceito que se deseja capturar. Portanto, primeiramente

a entropia e definida e, na sequencia, o ganho de informacao.

Para simplificar a explicacao, suponha que haja um problema de classificacao

binaria, i.e., o atributo alvo pode assumir exatamente dois valores, por exemplo:

positivo (pos, compactamente ⊕) ou negativo (neg, compactamente ). Seja S um

conjunto de exemplos de algum conceito a ser aprendido, entao a entropia de S

em relacao ao atributo alvo e dada pela equacao 2.1. Alem disso, p⊕ e a fracao

(proporcao) de exemplos positivos em S e p e a fracao (proporcao) de exemplos

negativos em S. Adicionalmente, define-se 0 log 0 = 0.

Entropia(S) =

|C|∑i=1

−pi log pi (2.1)

onde C e o conjunto das possıveis classes e pi e a probabilidade da classe i ocorrer.

No caso binario, por exemplo, poderia ser: C = {pos, neg} e |C| = 2.

A figura 2.3 mostra o grafico da entropia para o caso binario. Duas constatacoes

notaveis sao: 1) a entropia torna-se 0 caso todos os exemplos pertencam a mesma

classe; e 2) a entropia e maxima, igual a 1 no caso binario, quando cada classe

possuir numero igual de exemplos.

Note que, pela equacao 2.1, pode-se concluir que a entropia e limitada entre 0 e

log |C|. Esta e um constatacao importante para este trabalho conforme e explicado

na secao 3.2.6.

Um exemplo e construıdo baseado no problema Jogar Tenis para auxiliar o

entendimento. Seja S os exemplos mostrados na tabela 2.1. E facil notar que ha 9

exemplos da classe sim e 5 exemplos da classe nao. Portanto, o valor numerico da

entropia deste conjunto e dado pela expressao 2.2:

Entropia(S) = −(9/14) log(9/14)− (5/14) log(5/14) = 0, 940 (2.2)

7

Page 22: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Figura 2.3: Grafico da entropia relativa a uma classificacao booleana. p⊕ e a pro-porcao de exemplos positivos e varia de 0 a 1.

A partir do conceito de entropia, define-se o ganho de informacao como a reducao

causada na entropia quando leva-se em conta a informacao sobre um atributo [33].

Formalmente, sejam: A um atributo presente nos exemplos do conjunto S; dom(A)

o conjunto dos valores que A pode assumir, i.e., seu domınio; e Sv o subconjunto

dos elementos de S em que A possui valor v, com v ∈ dom(A). Entao, o ganho de

informacao do atributo A em relacao ao conjunto S e dado pela equacao 2.3.

Ganho(S,A) = Entropia(S)−∑

v∈dom(A)

|Sv||S|

Entropia(Sv) (2.3)

Continuando o exemplo do conceito Jogar Tenis, o ganho de informacao para o

atributo V ento, cujo domınio e {Fraco, Forte}, e calculado na sequencia.

Como visto anteriormente, S contem 9 exemplos positivos e 5 negativos (deno-

tado pela notacao compacta S = [9+, 5-]). Destes 14 exemplos, 6 positivos e 2

negativos possuem V ento = Fraco; os demais tem V ento = Forte. A figura 2.4

mostra o calculo do ganho de informacao do atributo V ento para este caso.

Quando um atributo e relevante, espera-se que ele particione os dados em subcon-

juntos cujas entropias somadas totalizam menos do que a entropia original, portanto

seu ganho de informacao sera alto. Por exemplo, para separar pessoas gripadas de

nao gripadas e muito mais relevante perguntar se a pessoa tem febre do que seu o

sexo.

O C4.5, quando usa o ganho de informacao, escolhe em cada decisao o atributo,

ainda nao usado, que fornece o maior ganho possıvel. Alem disso, atributos cujos

ganhos sejam baixos sao, possivelmente, filtrados pelo algoritmo, por exemplo: na

arvore da figura 2.1 a temperatura nao participa do processo de classificacao. Isto

8

Page 23: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

V alores(V ento) = {Fraco, Forte}S = [9+, 5-]SFraco ← [6+, 2-]SForte ← [3+, 3-]

Ganho(S, V ento) = Entropia(S)−∑

v∈{Fraco,Forte}|Sv ||S| Entropia(Sv)

= Entropia(S)− (8/14)Entropia(SFraco)− (6/14)Entropia(SForte)

Entropia(S) = 0, 940 (calculada anteriormente)Entropia(SFraco) = −(6/8) log(6/8)− (2/8) log(2/8) = 0, 811Entropia(SForte) = −(3/6) log(3/6)− (3/6) log(3/6) = 1, 00

Logo,Ganho(S, V ento) = 0, 940− (8/14)0, 811− (6/14)1, 00 = 0, 048

Figura 2.4: Exemplo de calculo de ganho de informacao.

indica que, no problema Jogar Tenis, a temperatura nao e relevante.

2.1.3 Aprendizado (Inducao)

O C4.5 gera seus modelos a partir de um conjunto de dados, previamente obser-

vado, o qual traz informacoes empıricas sobre o conceito que o modelo deve captar.

Tais dados sao frequentemente chamados de conjunto de treinamento e seus elemen-

tos de exemplos. Utilizando-se de uma estrategia do tipo dividir-para-conquistar,

o C4.5 particiona recursivamente os dados em subconjuntos progressivamente mais

organizados (puros).

O aprendizado inicia com a pergunta: “Qual e o melhor atributo para ser usado

como teste na raiz?”, tal pergunta e respondida avaliando-se cada atributo disponıvel

atraves de alguma heurıstica, entao o melhor atributo e selecionado como o teste

para o no raiz. Um descendente e criado para cada possıvel valor deste atributo e os

exemplos sao, entao, repassados aos filhos de acordo com o valor que possuem em

tal atributo. Este processo e repetido em cada descendente ate que algum criterio

de parada seja satisfeito. Devido aos fatos de: o algoritmo nunca reconsiderar uma

decisao previa e sempre escolher o melhor atributo, pode-se dizer que adota uma

9

Page 24: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

estrategia gulosa [33].

Conforme dito na secao 2.1.2, existe mais de uma funcao que pode ser usada

para avaliar a qualidade de um candidato a teste, porem o ganho de informacao

possui importancia particular para este trabalho.

Devido a natureza recursiva do algoritmo, criterios de parada devem ser deter-

minados. Estes podem ser estabelecidos de varias formas, como: numero mınimo de

exemplos em uma folha, inexistencia de mais atributos a serem usados como teste,

todos exemplos da folha pertencem a mesma classe, acuracia mınima, dentre outros.

E importante citar que o algoritmo pode verificar varios criterios de parada durante

o aprendizado, nao estando limitado a apenas um.

A funcao preditiva armazenada nas folhas, para problemas de classificacao, e a

classe majoritaria. Ou seja, quando uma folha classifica um exemplo, ela o atribui

a classe que mais se repetiu nos exemplos que a alcancaram durante o processo de

inducao. Em caso de empate na raiz, pode-se predizer uma classe padrao, que deve

ser previamente especificada, ja nos nos internos, esta classe padrao sera a mesma

do no ancestral imediato.

Uma tecnica frequentemente usada para melhorar a qualidade dos modelos ge-

rados e conhecida como poda e normalmente ocorre apos a construcao da arvore. A

poda consiste num processo de remocao de nos, que parte das folhas em direcao a

raiz. Esse processo tenta eliminar distincoes potencialmente desnecessarias, isto e,

que aumentam o modelo sem melhorar a qualidade preditiva.

E importante citar que modelos excessivamente grandes costumam gerar super-

adaptacao aos dados de treinamento (overfitting). Esta super-adaptacao tem como

efeito boas medidas de avaliacao em relacao ao conjunto de treino, mas costuma ter

o efeito de reduzir a capacidade preditiva em novos objetos, i.e., casos nao foram

observados durante o aprendizado do modelo.

Para finalizar, no algoritmo 2.1 e provido o pseudo-codigo de uma versao simpli-

ficada do C4.5, mostrando-se os procedimentos adotados durante o aprendizado de

uma arvore de decisao.

10

Page 25: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 2.1 Versao do algoritmo C4.5 para aprender arvores de decisao paraproblemas de duas classes [33]

Entrada:Exs e o conjunto de exemplos de treinamento,AtribObjetivo e o atributo cujo valor a arvore devera predizer.Atribs e uma lista dos outros atributos, que podem ser testes de nos internos da

arvore.

Saıda:Uma arvore de decisao que classifica corretamente os exemplos de treinamento.

Procedimento C4.5 (Exs, AtribObjetivo, Atribs)

1: Crie Raiz, que sera o no raiz da arvore.2: Se todos os exemplos de Exs forem positivos, entao3: Faca Raiz.classe = “+”.4: Retorne Raiz, que e o no raiz da arvore de decisao (formada por apenas um

no).5: Se todos os exemplos de Exs forem negativos, entao6: Faca Raiz.classe = “-”.7: Retorne Raiz.8: Se Atribs for uma lista vazia, entao9: Faca Raiz.classe = valor de AtribObjetivo mais frequente entre os exemplos

de Exs (ou seja, a classe majoritaria).10: Retorne Raiz.11: Senao12: Faca A ser o atributo de Atribs que melhor classifica os exemplos de Exs (ou

seja, o atributo com o maior ganho de informacao).13: Faca Raiz.atributo = A.14: Para cada possıvel valor vi do atributo A15: Adicione um novo ramo ao no Raiz, correspondente ao teste A = vi.16: Faca Exsvi ser o subconjunto de Exs formado pelos exemplos que tem o

atributo A com valor vi.17: Se o conjunto Exsvi for vazio, entao18: Crie uma nova folha F .19: Faca F.classe = valor de AtribObjetivo mais frequente entre os exemplos

de Exs (ou seja, a classe majoritaria).20: Adicione F ao ramo.21: Senao22: Crie uma subarvore SubArv.23: Faca SubArv = C4.5(Exsvi , AtribObjetivo, Atribs - {A}).24: Adicione SubArv ao ramo.25: Retorne Raiz, que e o no raiz da arvore de decisao.

11

Page 26: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

2.2 Arvores de Regressao - O caso contınuo

O C4.5 tambem e capaz de resolver problemas de regressao [10]. Tais problemas

sao caracterizados pelo fato de o conceito que se deseja aprender ser numerico em

vez de categorico. Inicialmente, um exemplo e provido para facilitar as explicacoes

adiante.

Como exemplo, e utilizado o problema de predizer o consumo de combustıvel

de um carro a partir de outros atributos. Portanto, o atributo alvo sera o atributo

MPG, que representa o consumo de combustıvel de um carro em milhas por galao.

O exemplo aqui mostrado e uma simplificacao do problema Miles-per-gallon, um

conjunto de dados de regressao disponıvel no repositorio UCI [18]. Entao, na tabela

2.2 sao mostrados alguns elementos deste conjunto. Conforme pode ser observado, a

representacao atributo-valor e usada da mesma forma que no problema Jogar Tenis.

Carro Cilindros Cilindradas (in3) Peso (lbs) Acel. (ft/s2) MPGC1 8 429,0 4341,0 10,0 15,0C2 8 454,0 4354,0 9,0 14,0C3 8 455,0 4425,0 10,0 14,0C4 8 390,0 3850,0 8,5 15,0C5 8 383,0 3563,0 10,0 15,0C6 4 140,0 2408,0 19,0 22,0C7 6 250,0 3282,0 15,0 19,0C8 6 250,0 3139,0 14,5 18,0C9 3 70,0 2124,0 13,5 18,0C10 3 80,0 2720,0 13,5 21,5C11 4 90,0 1985,0 21,5 43,1C12 4 98,0 1800,0 14,4 36,1C13 5 131,0 2830,0 15,9 20,3C14 8 400,0 5140,0 12,0 13,0

Tabela 2.2: Objetos associados ao conceito Milhas por Galao.

Duas metas desejaveis do processo de regressao sao: 1) predizer o mais correta-

mente possıvel o atributo alvo (variavel dependente) a partir dos demais atributos

(variaveis independentes/preditivas) observados em um novo exemplo; e 2) explicar

a relacao existente entre as variaveis independentes e o atributo alvo [10].

Um fato importante a ser citado e que as arvores de regressao preservam a inter-

pretabilidade das arvores de decisao. Atraves da estrutura de arvore, que codifica

regras, as relacoes entre as variaveis preditivas e a variavel dependente podem ser

humanamente interpretadas. Um exemplo de arvore de regressao para o problema

MPG pode ser vista na figura 2.5:

Seja um carro com as seguintes caracterısticas: Cilindros = 4, Cilindradas =

121, Peso = 2933 e Aceleracao = 14, 5. Entao, de acordo com a arvore na figura 2.5,

12

Page 27: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Figura 2.5: Exemplo de uma arvore de regressao para o conceito MPG.

a predicao para o seu consumo seria de 23, 37 milhas por galao. No C4.5, este valor

e media do atributo alvo observada nos exemplos que atingiram tal folha durante o

treinamento do modelo.

E importante notar que agora dois tipos de atributos estao envolvidos: cilindros,

que e categorico; e cilindradas e peso, que sao contınuos. O tratamento de atributos

contınuos sera melhor explicado na secao 2.2.2

Conforme detalhado na secao 2.2.4, o processo de construcao de arvores de re-

gressao e bastante similar ao das arvores de classificacao. Porem, alguns itens de-

vem ser devidamente ajustados a natureza numerica do atributo alvo, sao eles: 1)

a heurıstica para avaliar a qualidade de um atributo como candidato a teste; 2) o

modelo preditivo armazenado nas folhas; e 3) as metricas de qualidade do modelo

gerado.

2.2.1 Reducao da variancia

Quando e usado para problemas de regressao, o C4.5 utiliza como heurıstica a

reducao da variancia [10], embora possa usar outras heurısticas. Tais heurısticas

buscam, de uma forma geral, quantificar o grau de organizacao dos dados, para que

o processo de aprendizado, de forma analoga a classificacao, seja capaz de progres-

sivamente gerar particoes mais puras/organizadas.

Da mesma forma que define-se a entropia antes do ganho de informacao, para

definir-se a reducao da variancia, primeiramente deve-se definir o conceito de

13

Page 28: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

variancia em um conjunto de exemplos qualquer S, denotado por S2 em [10].

Seja S um conjunto de exemplos com um atributo alvo numerico Y , entao sua

variancia, S2(S), e definida por:

S2(S) =1

|S|∑i∈S

(yi − y)2 (2.4)

onde yi e o valor do atributo alvo no i-esimo exemplo e y e o valor medio do atributo

alvo observado nos exemplos de S, dado por:

y =

∑|S|i=1(yi)

|S|(2.5)

E possıvel observar na equacao 2.4 que a variancia e uma medida de dispersao.

Esta quantifica o quao organizado um conjunto numerico, composto pelos valores

do atributo alvo neste caso, esta em relacao a sua propria media.

Para exemplificar, suponha que S seja o conjunto de exemplos exposto na tabela

2.2, entao o valor numerico de S2(S) e dado por:

S2(S) =(15, 0− 20, 29)2 + (14, 0− 20, 29)2 + ...+ (13, 0− 20, 29)2

14= 71, 64

(2.6)

Seja A um atributo preditivo categorico, cujo domınio e dom(A). Entao, ao

particionar os exemplos de um conjunto S com dom(A), a reducao da variancia em

S causada por S e dada por:

φ(S,A) = S2(S)−∑

v∈dom(S)

|Sv||S|

S2(Sv) (2.7)

onde Sv e o subconjunto de exemplos S que tem valor v no atributo A. Note que a

variancia de cada particao Sv e ponderada pela fracao de exemplos em relacao a S.

Ainda no exemplo, seja dom(Cilindros) = {3, 4, 5, 6, 8}. Entao, a reducao da

variancia de S causada pelo atributo Cilindros deve ser computada conforme a

equacao 2.8,

φ(S,Cilindros) = 71, 64− (2 ∗ 3, 06 + ...+ 6 ∗ 0, 56)

14= 71, 64− 17, 21 = 54, 43

(2.8)

2.2.2 Atributos numericos

O C4.5 e capaz de tratar atributos numericos e este processo e bastante direto.

Dado um atributo contınuo A, o metodo consiste em realizar um particionamento

14

Page 29: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

(split) binario, baseado no teste A < c, onde c e um limiar constante. Desta forma,

os exemplos ficam divididos em dois subconjuntos: {x|x < c} e {x|x ≥ c}.Para achar a constante c mais adequada para o particionamento binario, o

C4.5 primeiramente ordena os exemplos de acordo com os valores de A e usa os

pontos medios como candidatos ao limiar de corte. Por exemplo, ao analisar o

exemplo na tabela 2.2 os candidatos a limiar para o atributo cilindradas seriam:

{75, 85, 94, 114.5, 135.5, 195, 250, 316.5, 386.5, 395, 414.5, 441.5, 454.5}. Em seguida,

computa a heurıstica para cada limiar, levando em conta os subconjuntos gerados

por cada corte, e escolhe-se o que tiver a melhor heurıstica. Este processo e feito

para todo atributo numerico.

Para evitar o custo de repetidas ordenacoes, cada uma com custo O(n log(n)),

em [30] e proposto o uso de listas de atributos. Ainda na raiz, antes do processo

de inducao comecar, e construıda uma lista ordenada para cada atributo numerico

com os ındices dos exemplos e uma lista adicional que relaciona cada exemplo a um

no da arvore. A medida que o particionamento dos dados se processa, as listas dos

atributos de novos nos podem ser reconstruıdas a partir da lista do no ancestral, com

complexidade O(n), sem a necessidade de novas ordenacoes. Maiores informacoes

sobre o uso das listas de atributos podem ser obtidas em [30].

E importante notar que este processo, que torna desnecessario outros pre-

processamentos, so e possıvel devido ao fato de o C4.5 carregar todos os dados

de uma so vez.

Para exemplificar como o C4.5 efetivamente trata os atributos contınuos, a tabela

2.3 mostra o resultado do procedimento de escolha do ponto de corte aplicado ao

atributo Cilindradas, usando os registros da tabela 2.2.

Carro Cilindradas MPG Cortes HeurısticaC9 70 18 75 0,4C10 80 21,5 85 0,05C11 90 43,1 94 14,33C12 98 36,1 114,5 35,26C13 131 20,3 135,5 31,37C6 140 22 195 32,15C7 250 19 250 29,47C8 250 18 316,5 26,57C5 383 15 386,5 20,58C4 390 15 395 15,8C14 400 13 414,5 9,66C1 429 15 441,5 6,59C2 454 14 454,5 3,04C3 455 14

Tabela 2.3: Tratamento do atributo numerico Cilindradas.

15

Page 30: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Utilizando os valores da coluna Cilindradas, o algoritmo calcularia a reducao da

variancia, coluna Heurıstica, causada pelo atributo cilindradas para cada possıvel

ponto medio, coluna Cortes. Este processo escolheria como constante c = 114, 5.

Caso o atributo cilindradas fosse o de melhor heurıstica dentre os demais, os dado

seriam particionados em: {C9, C10, C11, C12} e {C1, ..., C8, C13, C14}.E importante observar que um atributo categorico abre uma aresta para cada

valor, esgotando toda informacao que pode fornecer, portanto somente e usado no

maximo uma vez. Ja o numerico, por usar particionamento binario, pode ser usado

varias vezes, porem isso reduz a interpretabilidade da arvore. Uma alternativa seria

tornar o uso do atributo contınuo exaustivo, i.e., semelhante aos dos categoricos.

Duas possibilidades seriam: usar particionamento multiponto (multi-way splits)

ou pre-processamento de discretizacao. Por exemplo, o atributo cilindradas poderia

ser discretizado conforme: [70, 140) = baixa, [140, 250.0) = media, [250, 455) = alta.

Em [20] e proposto o uso de arvores binarias de busca. Nessa proposta, cada folha

guarda uma arvore binaria de busca para cada um dos atributos contınuos candidato

a teste. Nessa estrutura sao armazenados os ındices dos exemplos conforme o valor

do atributo contınuo.

Por exemplo, suponha que durante o aprendizado do conceito MPG uma certa

folha tenha como candidatos a teste os atributos contınuos peso e cilindradas. Caso

o primeiro exemplo a ser analisado em l fosse o carro C5 (tabela 2.2), entao: 1) a

arvore binaria do atributo peso guardaria o ındice 5 e o valor 3563,0 em sua raiz,

e os demais exemplos de peso inferior seriam repassados a esquerda (gerando um

novo no para cada ındice), e o restante a direita; 2) a arvore binaria do atributo

cilindradas guardaria o ındice 5 e o valor 383,0 em sua raiz, e sua estrutura sofreria

evolucao analoga.

Para escolha do melhor candidato, utiliza-se a estrutura da arvore binaria para

ordenar os ındices dos exemplos em ordem crescente de valor do atributo contınuo

ao qual a arvore pertence. Os proprios valores do atributos sao usados como pontos

candidatos a ponto de corte. O ponto de corte com a melhor heurıstica e entao

escolhido para particionar o atributo. Ao final, o algoritmo escolhe, dentre todos os

candidatos, o atributo com a maior heurıstica.

2.2.3 Modelo preditivo

No caso da regressao, as arvores obtidas pelo C4.5 fornecem como saıda o valor

medio do atributo alvo observado nos exemplos de treinamento que alcancaram suas

folhas. Logo, conforme o exemplo MPG, se a arvore sofresse um particionamento

em Cilindradas < 114, 5 e parasse de crescer, entao a folha da esquerda iria associar

o valor 29, 68 a novos exemplos, e a folha da direita 16, 53.

16

Page 31: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Devido ao modelo preditivo e a natureza da propria heurıstica usada, o C4.5

precisa capturar informacoes que ajudem a obter a media e variancia de forma efi-

ciente, tanto para a folha quando para os atributos. Entao, as seguintes estatısticas

sao computadas, para cada atributo e para os exemplos da folha como um todo:

numero de exemplos |S|, soma dos valores∑

i∈S yi e soma dos valores quadrados∑i∈S y

2i para o atributo alvo. Assim, a equacao da variancia, que usa apenas uma

passada nos exemplos, pode ser usada conforme:

S2(S) =

∑i∈S y

2i

|S|−(∑

i∈S yi

|S|)2

(2.9)

Como as tres estatısticas sao coletadas para a folha e para cada atributo can-

didato a teste, se o processo de inducao parar, basta descartar as estatısticas dos

atributos e usar as estatısticas da folha para fornecer a media, atraves de |S| e∑i∈S yi.

Outras estatısticas de resumo podem ser usadas na predicao como moda e me-

diana. E possıvel ainda que as folhas usem outros modelos como as funcoes lineares

das arvores-modelo model trees [39] [38] ou perceptrons [24].

2.2.4 Inducao de arvores de regressao

De forma analoga a classificacao, os modelos de regressao sao construıdos atraves

de um particionamento recursivo dos dados de treinamento, de modo a obter sub-

conjuntos progressivamente mais organizados/puros em relacao ao atributo alvo que

se deseja aprender.

Conforme ja mencionado, o algoritmo tem diferencas em relacao a heurıstica

usada e aos modelos armazenados nas folhas. Alem disso, as metricas de avaliacao

para modelos de regressao devem ser adequadas a este contexto. As metricas usadas

neste trabalho sao mostradas na secao 2.4.

Os criterios de parada podem ser variados, como numero mınimo de exemplos

numa folha, altura maxima da arvore, valor mınimo para alguma medida de quali-

dade de um no. Em geral, os criterios de parada sao passados ao algoritmo atraves

de parametros e de forma adaptada a implementacao sendo usada.

Uma importante melhoria do C4.5 em relacao ao ID3 e a capacidade de tratar

atributos numericos usando o metodo explicado na secao 2.2.2. Isto fica evidente

no pseudo-codigo exibido no algoritmo 2.2 (linhas 12 e 23). Segue, entao, o pseudo

codigo que mostra os principais procedimentos adotados pelo C4.5 no processo de

regressao no algoritmo 2.2.

17

Page 32: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 2.2 Versao do algoritmo C4.5 para aprender arvores de regressao

Entrada:Exs e o conjunto de exemplos de treinamento,AtribAlvo e o atributo cujo valor a arvore devera predizer.Atribs e uma lista dos outros atributos que podem ser testes de nos internos da

arvore.

Saıda:Uma arvore de regressao que resume corretamente os exemplos de treinamento.

Procedimento C4.5 (Exs, AtribAlvo, Atribs)

1: Crie Raiz, que sera o no raiz da arvore.2: Se algum criterio de parada foi alcancado, entao3: Faca Raiz virar uma folha4: seja y o valor medio de AtribAlvo em Exs5: Raiz.predicao = y6: retorne Raiz7: Senao8: Para cada atributo em Atribs computar a heurıstica usando Exs9: Seja A o atributo de Atribs que causa a maior reducao da variancia

10: Faca Raiz.atributo = A11:12: Se A for contınuo, entao13: Seja c a constante obtida para o teste de A14: Adicione dois novos ramos, Esq e Dir, a Raiz,15: Seja Exsesq os exemplos de Exs que passam no teste A < c16: Faca SubArvEsq = C4.5(Exsesq, AtribAlvo, Atribs).17: Adicione SubArvEsq ao ramo Esq.18:19: Seja Exsdir os exemplos de Exs que passam no teste A ≥ c20: Faca SubArvDir = C4.5(Exsdir, AtribAlvo, Atribs).21: Adicione SubArvDir ao ramo Dir.22:23: Senao (A e categorico)24: Para cada possıvel valor vi do atributo A25: Adicione um novo ramo ao no Raiz, correspondente ao teste A = vi.26: Faca Exsvi os exemplos de Exs com o atributo A = vi.27: Crie uma subarvore SubArv.28: Faca SubArv = C4.5(Exsvi , AtribAlvo, (Atribs \ {A}) ).29: Adicione SubArv ao ramo.30:31: Retorne Raiz, que e o no raiz da arvore de decisao.

18

Page 33: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

2.3 Programacao em Logica Indutiva - ILP

Programacao em Logica Indutiva (ILP) e definida como a interseccao entre o

aprendizado de maquina indutivo e a programacao logica [17] [34] [37] [42]. Do apren-

dizado de maquina indutivo, herda o objetivo: aprender hipoteses a partir de ob-

servacoes (exemplos) e sintetizar novo conhecimento a partir da experiencia. Atraves

do uso da logica computacional como mecanismo de representacao das hipoteses e

observacoes, ILP pode superar duas grandes limitacoes das tecnicas classicas de

aprendizado de maquina: 1) o uso de uma representacao de conhecimento limi-

tada (essencialmente logica proposicional); e 2) a dificuldade de usar conhecimento

preliminar substancial no processo de aprendizado.

A tarefa mais fundamental e o aprendizado de uma relacao, chamada de predicado

alvo, a partir das observacoes (exemplos) e de relacoes definidas no conhecimento

preliminar e, possivelmente, atraves do proprio predicado alvo (relacoes recursivas).

Na figura 2.6 esta exposto um esquema de aprendizado em ILP.

As observacoes E sao divididas em duas particoes: E+ e E−, respectivamente

aquelas que pertencem a relacao alvo, exemplos positivos, e aquelas que nao perten-

cem, exemplos negativos.

A teoria preliminar B representa o conhecimento generico sobre o problema, isto

e, que nao esta especificamente associado aos exemplos. Este conhecimento pode

ser provido por especialistas.

O que se deseja aprender e uma hipotese H que, juntamente a teoria preliminar

(H ∪ B), seja capaz de explicar (provar) todos os exemplos positivos e nenhum

exemplo negativo.

Figura 2.6: Esquema do aprendizado em programacao em logica indutiva (ILP),onde B e o conhecimento preliminar, E e o conjunto de exemplos, formado pelosexemplos positivos (E+) e negativos (E−), e H e a teoria aprendida pelo sistema.

19

Page 34: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

O processo de aprendizado pode ser formalizado de mais de uma maneira [43],

porem a definicao mais tradicional usada em ILP e a chamada de Aprendizado por

Implicacao Logica elaborada conforme a definicao 2.1.

Definicao 2.1 (Aprendizado a partir de implicacao logica). Sejam dados:

• Um conjunto E+ de exemplos positivos e um conjunto E− de exemplos nega-

tivos.

• Uma teoria preliminar B.

Deseja-se achar:

• Uma hipotese H, tal que

– ∀e ∈ E+ : H ∧B � e, e

– ∀e ∈ E− : H ∧B 2 e

E importante mencionar que a teoria preliminar B nao e obrigatoria. Entretanto,

este recurso, permite que conhecimento de especialistas sobre o domınio do problema

possa ser aproveitado, o que potencialmente poupa tempo de processamento durante

o aprendizado. Desta forma, algoritmos ILP possuem a vantagem de nao precisarem

realizar o aprendizado sempre a partir do zero.

Para exemplificar e consolidar a definicao, o exemplo dos trens e descrito. Este

e um problema classico de ILP em que deseja-se separar um conjunto de trens em

dois casos: os que vao para leste e os que vao para oeste. Cada trem e composto de

um ou mais vagoes, e cada vagao tem um conjunto de propriedades como: curto ou

longo, aberto ou fechado, carrega objetos ou nao, dentre outras. Na figura 2.7 ha

10 exemplos de trens, dos quais 5 vao para leste e 5 vao para oeste.

Figura 2.7: Exemplos considerados no problema dos trens.

20

Page 35: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

O problema pode ser representado em ILP da seguinte maneira: o predicado

alvo direcao leste(T) sera verdadeiro se o trem T dirigir-se a leste e falso se o trem

T dirigir-se a oeste, portanto os exemplos de 1 a 5 sao os positivos e os demais

negativos, conforme a figura 2.8.

Exemplos positivos: Exemplos negativos:direcao leste(leste1). direcao leste(oeste1).direcao leste(leste2). direcao leste(oeste2).direcao leste(leste3). direcao leste(oeste3).direcao leste(leste4). direcao leste(oeste4).direcao leste(leste5). direcao leste(oeste5).

Figura 2.8: Representacao dos exemplos para o problema dos trens

Parte do conhecimento preliminar B, pode ser, entao, representado conforme a

figura 2.9. O significado dos predicados sao os seguintes:

1. O predicado tem vagao(T,V) representa o fato de do trem T possuir o vagao V,

portanto tem vagao(leste1,vagao 11) atesta que o trem de nome leste1 possui

o vagao de nome vagao 11 (o sufixo 11 e um mnemonico para simbolizar o

vagao 1 do trem 1).

2. O predicado carrega(V,F,N) indica que o vagao V carrega N figuras do tipo F,

portanto carrega(vagao 11,retangulo,3). atesta que o vagao de nome vagao 11

carrega tres triangulos.

3. Os demais predicados tem o significado trivialmente entendido pela leitura dos

seus functores.

tem vagao(leste1,vagao 11). tem vagao(leste1,vagao 12).tem vagao(leste1,vagao 13). tem vagao(leste1,vagao 14).longo(vagao 11). curto(vagao 12).aberto(vagao 11). fechado(vagao 12).carrega(vagao 11,retangulo,3). carrega(vagao 12,triangulo,1)....

Figura 2.9: Representacao do conhecimento preliminar para o problema dos trens

Espera-se que um algoritmo ILP seja capaz de aprender uma regra como:

direcao leste(T) :- tem vagao(T,V), curto(V), fechado(V). que juntamente com o

conhecimento preliminar e capaz de provar os exemplos de 1 a 5 sem provar os

exemplos de 6 a 10.

Note que, por uma caracterıstica particular deste problema, e possıvel concluir

que se um trem nao for coberto pelo predicado direcao leste(T) entao ele vai para

21

Page 36: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

oeste. Porem, caso houve outras possibilidades como: leste, oeste, norte e sul; bas-

taria aprender uma regra para cada conceito, de modo que um exemplo provado por

uma teoria pertenceria ao conceito codificado por esta e os demais seriam conside-

rados negativos.

E importante destacar que a algebra relacional, empregada nos bancos de dados

modernos, pode ser entendida como um subconjunto da logica de primeira ordem,

portanto e possıvel modelar dados relacionais sem perdas atraves da logica de pri-

meira ordem. Alem disso, deve-se destacar que domınios relacionais sao esparsos,

ou seja, o numero de instancias realmente observadas de cada relacao e tipicamente

muito menor que a quantidade de todas as possibilidades de instancias. A ILP

consegue explorar tal caracterıstica, codificando em poucas clausulas, relacoes que

no paradigma proposicional necessitariam de uma grande listagem de casos. Por

exemplo:

ancestral(A,C) :- ancestral(A,B),ancestral(B,C).ancestral(o1,o10).ancestral(o1,o11)....ancestral(o10,o100)....ancestral(o10,o199).

No paradigma proposicional, para indicar que o1 e ancestral dos objetos que vao

de o100 a o199, necessitaria-se de muito mais entradas relacionando o1 diretamente

aqueles.

2.3.1 Regressao em ILP

Embora existam outras abordagens que buscam mesclar o tratamento de re-

gressao com ILP, a abordagem usada pelo TILDE, portanto tambem usada neste

trabalho, e mais proxima da utilizada no sistema FORS (First Order Regression

System) [26]. Logo, elementos pertinentes de sua formalizacao estao detalhados

nesta secao.

Ao formular um problema de regressao sob essa abordagem, parte dos argumen-

tos do predicado alvo devem ter domınio numerico, sendo chamados de atributos

contınuos. Adicionalmente, existe um argumento numerico especial, Y , que repre-

senta a variavel dependente que sera aprendida no processo de regressao. E comum

que esta variavel especial seja chamada de atributo alvo.

Uma caracterıstica importante de Y e a de so pode ser usada no lado esquerdo

de equacoes (atribuicoes) que aparecam nas clausulas da teoria a ser aprendida.

Variaveis contınuas, indicadas por Xij, das quais Y depende, aparecem no lado

22

Page 37: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

direito. Dado isso, o conjunto de clausulas aprendidas sobre o predicado alvo tem o

formato conforme mostrado na figura 2.10.

f(Y, X1, X2, ...) :-Literal1, Literal2, ...,Y is a1 * Xi1 + a2 * Xi2 + ..., !.

Figura 2.10: Exemplo de clausula aprendida pelo FORS

A regra exposta na figura 2.10 tem o formato de uma clausula de Horn, padrao

usado pelo Prolog. O predicado a esquerda do operador “:-” e chamado de cabeca

da regra e a conjuncao de literais a direita e dita corpo da regra.

Uma consulta sobre o predicado f(Y, X1, X2, ...), o predicado alvo, dispara o

seguinte processo: o interpretador Prolog executara uma subconsulta a cada predi-

cado (subobjetivo) no corpo da regra, partindo da esquerda para a direita. Desta

forma, o sucesso da cabeca depende do sucesso de todos os subobjetivos contidos

em seu corpo.

Para contemplar a regressao, o sistema FORS padroniza a forma das regras

aprendidas da seguinte maneira: na cabeca, o predicado alvo possui uma variavel

numerica especial, Y, tambem chamada de atributo alvo, e demais variaveis, {X1,

X2, ...} com as quais Y mantem alguma relacao; no corpo, pode haver um conjunto

de subobjetivos pertinentes ao problema, {Literal1, Literal2, ...}, e, ao final, uma

equacao que relaciona algumas variaveis numericas e seus pesos, respectivamente Xij

e aj, a variavel Y. A notacao “is” denota atribuicao numerica na linguagem Prolog,

pois o operador “=” possui a funcao de “unificacao”.

Alem disso, na linguem Prolog um predicado pode ter mais de uma definicao.

Ou seja, um predicado pode ser definido pois mais de uma clausula. Por exemplo,

o predicado f(Y, X1, X2, ...) poderia aparecer como cabeca de regras cujos corpos

fossem diferentes. Essa caracterıstica faz com que um fato sobre este predicado possa

ser provado (coberto) por mais de uma regra. Em funcao disso, usa-se o operador

cut (!) ao final da regra, para garantir a exclusividade mutua da cobertura. Pois,

assim que uma regra prove (cubra) o fato, o interpretador Prolog interrompera o

processo de prova e nao tentara executar as demais regras para provar o fato ja

provado.

Quando deseja-se saber o valor associado a um exemplo, cujas caracterısticas

observadas estao representadas por {X1, X2, ...}, executa-se uma consulta ao pre-

dicado alvo. Nesta consulta, a variavel Y e deixada livre, e as demais variaveis sao

atribuıdos os valores, constantes logicas, que figuram no exemplo em questao.

Embora o sistema FORS realize regressao linear usando os atributos contınuos

do predicado alvo, esta abordagem nao impoe limitacoes sobre os tipos de equacoes

23

Page 38: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

aprendidas para Y . Alem disso, o conhecimento preliminar pode introduzir novas

variaveis numericas que podem ser usadas nas equacoes aprendidas.

O sistema FORS usa aprendizado por implicacao logica. Desta forma, os exem-

plos sao fatos sobre o predicado alvo e o conhecimento preliminar e representado

atraves de clausulas Prolog. O resultado do aprendizado e uma teoria logica com-

posta por clausulas. O sistema FORS e capaz de aprender predicados recursivos,

controlando a profundidade da recursao atraves de uma profundidade maxima esta-

belecida como parametro.

Cada clausula da teoria aprendida particiona o espaco de exemplos, atraves de

suas regras logicas, associando cada sub-espaco a equacao de regressao da clausula.

Dois fatos importantes a serem notados sao: 1) Nao existe o conceito de exem-

plos negativos, pois os dados de treinamento sao considerados como “medicoes” da

variavel dependente e, portanto, todos os exemplos sao vistos como “positivos”; 2)

A qualidade de uma regra aprendida esta relacionada a quao bem sua equacao de

regressao se ajusta aos exemplos cobertos

Para finalizar, e mostrado como exemplo o aprendizado da funcao fatorial na

figura 2.11. Nela e mostrada a especificacao do predicado alvo, um conjunto de

exemplos, conhecimento preliminar e a saıda obtida pelo sistema.

Entradas:

% Indicacao do predicado alvotarget(f(−integer, +integer)).

% Exemplosf(1, 0). f(1, 1). f(2, 2). f(6, 3). f(24, 4).

% Conhecimento preliminarbkl(decr(−integer, +integer), total).bkl(times(−integer, +integer, +integer), total).decr(N1, N) :- N1 is N − 1.times(R, A, B) :- R is A ∗B.

Teoria aprendida:

f(F,N) :- N ≤ 1, F is 1, !.f(F,N) :- decr(A,N), f(B,A), times(F,N,B), !.

Figura 2.11: Exemplo do problema fatorial

O sistema FORS faz restricoes sobre o espaco de busca atraves do uso de tipos e

modos das variaveis, cujo uso pode ser observado na figura 2.11. Os tipos definem o

24

Page 39: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

domınio das variaveis restringindo a unificacao. Os modos indicam se uma variavel

e de entrada (-), saıda (+) ou os dois (+-).

2.4 Avaliacao do Aprendizado

No cenario de regressao nao ha classes, mas um atributo alvo numerico, logo as

medidas usadas em classificacao, como acuracia, medida f, precisao, dentre outras,

nao podem ser usadas. Portanto, metricas mais adequadas devem ser usadas. Nesta

secao, estao definidas as medidas de avaliacao de performance usadas neste trabalho.

Comumente em regressao, usam-se medidas capazes de indicar o quao proxima

a predicao de um modelo esta em relacao ao valor real de um exemplo. Adicional-

mente, no contexto de arvores de regressao, e tambem importante medir o tamanho

do modelo gerado, bem como o tempo do aprendizado.

Desta forma, as medidas de interesse usadas neste trabalho foram: Tempo de

aprendizado (Tempo), tamanho das teorias ou numero de nos na arvore (Nos),

numero total de literais (Literais), coeficiente de correlacao de Pearson (r na equacao

2.10) entre os valores reais e os preditos do predicado alvo e raiz quadrada do erro

quadratico medio (RMSE), equacao 2.11, conforme [13].

r =

∑ni=1(pi − p)(ai − a)√∑n

i=1(pi − p)2∑n

i=1(ai − a)2(2.10)

MSE =

√∑ni=1(pi − ai)2

n(2.11)

Onde, pi e o valor predito para o exemplo i e ai seu valor real. p e a sao as

medias e n o numero de exemplos.

O coeficiente de Pearson e delimitado entre em [1,−1] e indica a existencia de

relacao linear entre o modelo aprendido e o conceito que se deseja captar, resultados

proximos de 1 indicam relacao linear direta, proximos de -1 indicam relacao inversa,

e proximos de 0 indicam ausencia de relacao linear. Ja o RMSE tem valor mınimo

em 0 e maximo indefinido, ele tem seu melhor resultado em 0, que significa que

o modelo conseguiu atribuir o valor exato a cada exemplo. Esta medida cresce

conforme o modelo realiza predicoes que desviam do verdadeiro valor dos exemplos.

Validacao cruzada e um metodo que ajuda a avaliar o quao bem um algoritmo

consegue generalizar um conceito aprendido. Para tal, sorteia-se os conjuntos de

treino e de teste de forma sistematica e repete-se o processo de aprendizado e medicao

de erro para cada modelo aprendido. A media de todos os resultados obtidos e usada

como um estimador para medida especıfica, por exemplo o MSE. Espera-se que a

estabilidade do resultado seja maior conforme o numero de repeticoes aumenta.

Neste trabalho, e usada a validacao cruzada do tipo 5x2, conforme recomendado

25

Page 40: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

em [14]. Dessa maneira, o conjunto de exemplos, relativos a um conceito que se

deseja aprender, e divido em 5 particoes (folds). Cada particao, de f1 a f5, tem

aproximadamente o mesmo numero de exemplos e e subdividido em 2 subparticoes

(subfolds), fia e fib, i ∈ [1, 5]. Em cada particao fi, realiza-se o aprendizado usando

fia como teste e fib como treino e depois o inverso. Ao final colhe-se os resultados

de cada um dos 10 classificadores e obtem-se o valor medio da medida de interesse.

Neste trabalho foram comparados dois algoritmos, HTILDE-RT e TILDE-RT,

sendo o primeiro uma modificacao do segundo. Dado isso, foi usado o teste t corri-

gido e pareado, [35] [48], para verificar a significancia estatıstica da diferenca entre

os resultados obtidos por cada algoritmo. Tal teste e uma adaptacao do teste t de

Student, o qual leva em consideracao a razao entre numero de exemplos usado para

treino e teste n2

n1e a variancia da diferenca media obtida nas particoes (folds). O

valor crıtico para t e entao definido conforme a equacao 2.12.

t =d√

( 1k

+ n2

n1)σ2

d

(2.12)

onde: d e a media das diferencas pareadas entre os algoritmos para cada particao

(fold), k e o numero total de particoes/subparticoes usadas, n1 e n2 e o numero de

exemplos usados respectivamente no treino e teste, e σ2d e a variancia das diferencas.

26

Page 41: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 3

Sistemas Relacionados

Neste capıtulo, sao apresentados sistemas que serviram de base para este trabalho

conforme a seguinte organizacao: na secao 3.1, e feita a introducao ao sistema de

programacao em logica indutiva TILDE, bem como elementos pertinentes a este

trabalho sao analisados; na secao 3.2, e apresentado o sistema proposicional de

classificacao VFDT, que e escalavel para aprendizado em grandes massas de dados;

e, na secao 3.3, o sistema HTILDE, que combina a capacidade logica do sistema

TILDE com a eficiencia do sistema VFDT, e apresentado.

3.1 TILDE - Top-down Induction of Logical De-

cision Trees

Nesta secao, e apresentado o sistema TILDE (Top-down Induction of Logical

Decision Trees) [4] e [5], bem como sua aplicacao em problemas de regressao. Na

secao 3.1.1, e feita uma introducao ao metodo. Na secao 3.1.2, e explicado como

um problema e representado no sistema e apresenta-se a definicao de aprendizado

por interpretacoes, que e um conceito fundamental para o TILDE. Na secao 3.1.3, e

mostrado como especificar um problema a ser resolvido pelo TILDE. Na secao 3.1.4,

o conceito de refinamentos da ILP e desenvolvido. Na secao 3.1.5, o conceito de

pacote de clausulas (Query Packs), que melhora a eficiencia do TILDE, e detalhado.

Na secao 3.1.6, e explicado como TILDE trata problemas de regressao. Na secao

3.1.7, a heurıstica usada pelo TILDE em modo de regressao e exposta. Este capıtulo

e finalizado na secao 3.1.8, onde e exposto o algoritmo de aprendizado do TILDE.

3.1.1 Introducao

O algoritmo TILDE e uma extensao do C4.5 para o paradigma da logica de

primeira ordem. As principais diferencas a serem destacadas nesta abordagem sao:

27

Page 42: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

a estrutura binaria da arvore gerada, a escolha dos testes atraves do conceito de

refinamento, a cobertura dos exemplos e o uso dos Pacotes de Clausulas (Query

Packs) para melhoria da eficiencia. O TILDE tambem e capaz de resolver problemas

de regressao e quando opera neste modo recebe o nome de TILDE-RT (TILDE -

Regression Tree).

Nas arvores geradas pelo TILDE, cada no interno e associado a uma conjuncao

de literais, de primeira ordem. Os testes nos nos internos nao mais sao realizados

confrontando o valor de um atributo, mas atraves de testes logicos representados

por consultas Prolog. Os modelos gerados pelo TILDE sao chamados de arvores de

decisao de logica de primeira ordem (first order logical decision trees - FOLDT) ou

simplesmente arvores de decisao logicas (Logical Decision Trees - LDT).

Seja N um no interno qualquer, entao o teste associado ao mesmo e representado

pela consulta Prolog “← Q ∧ conj”. A componente Q e chamada de consulta asso-

ciada do no N e a componente conj e a conjuncao de literais que fica armazenada

em N . O sımbolo ← e usado apenas para denotar que a conjuncao sera executada

sob a forma de uma consulta Prolog.

A consulta associada e composta iterativamente da seguinte forma: a consulta

associada do filho esquerdo de um no qualquer e composta de sua consulta associada

e sua conjuncao: no caso de N , ← Q ∧ conj seria a consulta associada de seu filho

esquerdo; a consulta associada do filho direito nao recebe a conjuncao armazenada

no no, sendo portanto igual a consulta associada de seu pai: no caso de N a consulta

associada de seu filho direito seria apenas ← Q, pois neste ramo a parte conj falha.

Este processo comeca na raiz, cuja consulta associada e Q = true.

Em funcao de usar tais testes logicos, as arvores geradas sao binarias, de modo

que: o ramo esquerdo de N e associado ao sucesso no teste Q∧conj e o ramo direito

associado a falha.

Antes de exemplificar uma arvore gerada pelo TILDE, o problema BONGARD

[7] e apresentado. Neste problema deseja-se classificar figuras como positivas (⊕) ou

negativas (). Em cada figura, ha uma quantidade variada de objetos relacionados

entre si atraves de suas posicoes. A figura 3.1 ilustra 4 exemplos positivos e 4

exemplos negativos do problema BONGARD.

Na secao 3.1.2 e discutido como representar este problema, para que o TILDE

possa trata-lo. Na figura 3.2 ha um exemplo de uma arvore gerada pelo TILDE para

o BONGARD.

Segundo a arvore na figura 3.2, se uma figura nao contiver um triangulo sera

classificada como (), seguindo pelo ramo Falso da raiz; se houver um triangulo

que esteja dentro de outro objeto, entao sera considerada (⊕); e se houver um

triangulo que nao esteja dentro de outro objeto, sera considerada ().

Devido ao paradigma da logica de primeira ordem, uma arvore gerada pelo

28

Page 43: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Figura 3.1: Exemplos do problema Bongard.

Figura 3.2: Exemplo de arvore gerada pelo TILDE.

TILDE representa um conjunto de clausulas de Horn. Cada clausula e associada a

uma folha, de modo que seu corpo e formado pelos literais que aparecem no caminho

entre a raiz e a folha, e a cabeca da clausula e composta pelo predicado alvo.

O programa Prolog equivalente a arvore mostrada na figura 3.1.1 pode ser escrito

como:

classe(pos) :- triangulo(X), dentro(X,Y), !.classe(neg) :- triangulo(X), !.classe(neg).

Em funcao dos testes logicos, durante o aprendizado, variaveis introduzidas em

um no nao sao repassadas ao ramo direito deste no, pois este ramo e associado

aos exemplos que falham em seu teste. Isso se reflete no uso do operador, da lin-

guagem Prolog, cut (!), que mantem as clausulas do programa Prolog equivalente

mutuamente exclusivas.

29

Page 44: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.1.2 Aprendizado por Interpretacao

No paradigma proposicional (sistemas atributo-valor) ha apenas uma relacao

(tabela unica), cujo conjunto de atributos (colunas) e fixo e cada linha equivale a

um exemplo. Por exemplo, com 5 atributos poderia haver as seguintes informacoes

para cada exemplo: {forma-objeto1, aponta-objeto1, forma-objeto2, aponta-objeto2,

classe}, onde forma ∈ {triangulo, cırculo} e aponta ∈ {cima, baixo, esquerda, di-

reita}.Entretanto, os exemplos na figura 3.1 podem ter quantidades arbitrarias de ob-

jetos, alem disso, os objetos podem estar relacionados, por exemplo, um dentro do

outro. Logo, nao seria possıvel representar o problema BONGARD em apenas uma

tabela unica.

Algoritmos ILP superam esta limitacao, entretanto a expressividade da ILP tem

um custo associado, pois em funcao de usar o Aprendizado por Implicacao Logica a

cobertura de cada exemplo e feita de forma global, o que significa que o teste logico

para verificar a cobertura de um unico exemplo leva em conta todo conhecimento

preliminar juntamente com todos os outros exemplos da base de dados. Na cobertura

global existe a suposicao de que os exemplos podem estar relacionados entre si.

Isto nao acontece no paradigma proposicional, onde cada exemplo pode ser testado

individualmente, portanto de forma muito mais rapida.

Para melhorar a eficiencia da cobertura dos exemplos [5], [43], [11], o TILDE

usa o Aprendizado por Interpretacao, onde cada exemplo e representado por um

conjunto de fatos, i.e., uma Interpretacao, conforme a definicao 3.1.

Definicao 3.1 (Aprendizado por Interpretacao). Sejam dados:

• Um conjunto de classes C (cada classe c e um predicado sem termos).

• Um conjunto de exemplos E classificados (cada elemento de E e da forma

(e,c), onde e e um conjunto de fatos e c e uma classe).

• Uma teoria preliminar B.

Deseja-se achar:

• Uma hipotese H (um programa Prolog), tal que para todo (e,c) ∈ E,

– H ∧ e ∧B � c, e

– ∀c′ ∈ C - {c}: H ∧ e ∧B 2 c′

O Aprendizado por Interpretacao e um meio termo entre a representacao

atributo-valor [12] e a representacao usada no Aprendizado por Implicacao Logica,

30

Page 45: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

pois possibilita cobertura local e maior capacidade de representacao que o propo-

sicional. Embora nao seja capaz de tratar todos os problemas que o Aprendizado

por Implicacao Logica trata, como problemas recursivos, o Aprendizado por Inter-

pretacao e suficiente para a maioria das aplicacoes praticas [5].

Em [3], e discutida a diferenca, sob o ponto de vista de bancos de dados relaci-

onais, entre o aprendizado proposicional e o aprendizado por interpretacoes. Uma

diferenca fundamental apontada e que o aprendizado proposicional representa cada

exemplo com uma unica tupla de uma unica tabela (relacao), enquanto no outro

cada exemplo pode conter multiplas tuplas de multiplas relacoes e permite o uso de

conhecimento preliminar (background knowledge).

Contudo, na pratica, dados sao armazenados em bancos de dados relacionais,

mas sistemas ILP usam dados representados atraves de logica, entao, em [3], e

provido um algoritmo para converter um banco de dados relacional em um conjunto

de dados usando o formato de interpretacoes.

Uma nocao fundamental usada nesse algoritmo de conversao e a de que: toda

informacao pertinente a um certo exemplo esta contida em uma pequena parte do

banco e que esta informacao pode ser localizada e extraıda. Esta nocao e chamada

de suposicao de localidade e quando nao for satisfeita o processo de conversao pode

gerar duplicacao de informacao.

Para melhor exemplificar, suponha que o problema BONGARD estivesse, de

alguma forma, representado sob um esquema relacional. Entao, este princıpio diz

que para determinar a classe do exemplo 4, mostrado na figura 3.1, basta saber

apenas as informacoes sobre as figuras geometricas pertinentes. Neste caso, apenas

o triangulo e os quatro cırculos que pertencem ao exemplo precisam ser levados

em conta, enquanto que as demais figuras geometricas dos outros exemplos nao sao

necessarias.

Conforme discutido em [25], o uso de amostragem diretamente em dados rela-

cionais pode gerar estimadores enviesados, porem, uma vez que os dados estejam

convertidos (ou construıdo) para o formato de interpretacoes, a suposicao de locali-

dade torna-se valida. Cada interpretacao contem toda informacao necessaria sobre

o exemplo, nao dependendo dos demais. Logo, sortear indivıduos de forma aleatoria

e independente e suficiente para gerar boas amostras [5] [3]. Maiores informacoes

sobre os diferentes tipos de aprendizado podem ser encontradas em [43].

3.1.3 Especificacao de um problema

O TILDE armazena os exemplos num arquivo de extensao “.kb” (knowledge

base), cujo nome e o mesmo do problema que se deseja aprender. Cada exem-

plo e considerado um modelo e tem um identificador (id) associado. Desta forma,

31

Page 46: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

begin(model(1)). begin(model(6)).pos. neg.circulo(o1). circulo(o16).triangulo(o2). circulo(o17).aponta(o2,cima). triangulo(o18).dentro(o2,o1). triangulo(o19).end(model(1)). aponta(o18,cima).

aponta(o19,baixo).begin(model(2)). dentro(o16,o18).pos. end(model(6)).... ...

Figura 3.3: Conteudo do arquivo bongard.kb.

os fatos sobre um exemplo sao delimitados por um bloco iniciado com o fato “be-

gin(model(id)).” e terminado pelo fato “end(model(id)).”. Embora um exemplo

possa ser descrito por um numero arbitrario de fatos, cada exemplo fica associado a

apenas uma classe, portanto apenas um fato, por exemplo, “pos” ou “neg”, deve ser

usado em cada exemplo. Para os exemplos da figura 3.1 o arquivo “bongard.kb”,

poderia ter o seguinte conteudo:

O conhecimento preliminar e fornecido em um arquivo opcional, de extensao

“.bg” (background), cujo nome e o mesmo do problema em questao. Tal arquivo

pode conter clausulas auxiliares e fatos adicionais sobre o domınio do problema.

Para o caso do BONGARD, o arquivo “bongard.bg” poderia conter a informacao

de que apenas triangulos tem a propriedade de apontar.

aponta(X,Y) :- triangulo(X), member(Y,[cima,baixo,esquerda,direita]).

Figura 3.4: Conhecimento preliminar no arquivo bongard.bg.

Para testar a cobertura de um exemplo por uma formula, basta acrescentar os

fatos do exemplo a base de conhecimento juntamente com o conhecimento preli-

minar, por exemplo, atraves do predicado “assert/1”, e verificar se o conhecimento

resultante e capaz de satisfazer a formula em questao. Em outras palavras, deseja-se

verificar se uma consulta Prolog ← C e verdadeira em e ∧ B, sendo B o conheci-

mento preliminar e ← apenas uma notacao utilizada para explicitar que C e uma

consulta.

Juntamente com o conhecimento preliminar e a base de dados, um arquivo de

configuracoes, “.s” (settings), deve ser fornecido. Neste arquivo devem estar especifi-

cados diversos parametros do sistema, pertinentes ao problema que se deseja tratar,

e o vies de linguagem, parte que instrui ao TILDE como os refinamentos podem ser

determinados ao longo do processo de inducao.

32

Page 47: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Ainda nas configuracoes, deve-se dizer qual o conceito que se deseja apren-

der. Isto pode ser feito com as seguintes construcoes: 1) Avisar o sistema qual

o tipo de problema: tilde mode(tipo)., onde “tipo” pode ser classify, regression ou

cluster; 2) Fornecer o predicado alvo atributo e a variavel dependente: predict(

predicadoAlvo(+X1,+X2,...,-Y))., onde Y e uma variavel de saıda cujo domınio sao

as possıveis classes; 3) Fornecer a lista de possıveis classes: classes([classe1, classe2,

...])..

Os corpos das clausulas sao construıdos no processo de inducao atraves dos refi-

namentos, que seguem um vies de linguagem determinado pelo usuario, basicamente

atraves do conceito de “modes”. Na secao 3.1.4 mais detalhes sobre os refinamentos

sao fornecidos.

3.1.4 Refinamentos

Conforme dito, em vez de atributos, o TILDE usa testes logicos (consultas Pro-

log) para particionar os dados. Ao decidir que uma folha deve ser particionada

(split), o conceito de refinamento de uma clausula e empregado.

Seja l uma folha a ser particionada, cuja consulta associada e Q, entao os can-

didatos a teste de l sao ρ(← Q). Onde ρ e o operador de refinamento, que, no

caso do TILDE, gera novas conjuncoes adicionando literais a ← Q. Os literais que

podem ser usados nos refinamentos sao especificados pelo usuario, atraves do vies

de linguagem do problema. Tal especificacao deve ser listada em um arquivo de

configuracoes, de extensao “.s”, a ser provido ao sistema.

Figura 3.5: Exemplo de arvore gerada pelo TILDE.

Considere a arvore mostrada na figura 3.5.b. Suponha que se deseja saber quais

testes podem ser colocados no no N1. Uma vez que este no e o filho esquerdo da

raiz, sabe-se que triangulo(X) e verdade em N1 e, portanto, todos os refinamentos

devem conter este literal.

Suponha que o vies de linguagem determina que os literais que podem ser usados

sejam: triangulo(+-X), dentro(+X,-Y ), dentro(-Y,+X), quadrado(-X) e circulo(-

X), onde os sinais + e - indicam se as variaveis sao de entrada ou saıda. Considere

ainda que cada literal pode ser usado apenas uma unica vez no processo inducao.

Tal informacao e descrita com as seguintes declaracoes:

33

Page 48: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

rmode(1 : triangulo(+-X)).

rmode(1 : dentro(+X,-Y )).

rmode(1 : dentro(-Y,+Y )).

rmode(1 : quadrado(-X)).

rmode(1 : circulo(-X)).

Aplicando o operador de refinamento ρ em ← triangulo(X), obtem-se:

ρ(← triangulo(X)) = {← triangulo(X), dentro(X, Y );← triangulo(X), dentro(Y,X);← triangulo(X), quadrado(Y );← triangulo(X), circulo(Y )}

Figura 3.6: Exemplo de possıveis refinamentos para o filho esquerdo da raiz daarvore da figura 3.5.

Se o melhor refinamento for o primeiro, entao o literal colocado no no N1 sera

dentro(X, Y ), e seu teste sera ← triangulo(X), dentro(X, Y ). Ao final, a estrutura

da nova arvore sera conforme a figura 3.5.a.

E importante destacar que tais refinamentos sao processados sob a condicao de

θ-subsumption [5]. Tambem sao consideradas restricoes sobre o espaco de busca

escolhidas pelo usuario, que podem ser estabelecidas, principalmente, pelo uso dos

tipos e modos das variaveis. Uma referencia mais completa sobre as configuracoes

dos refinamentos e vies de linguagem do TILDE pode ser encontrada em [13].

Agregacoes

O TILDE/TILDE-RT e capaz de usar refinamentos baseados em funcoes de

agregacao. Estas funcao sao uteis pois em ILP um exemplo pode ter uma quantidade

arbitraria de fatos sobre um mesmo predicado. Atraves das funcoes de agregacao

estes dados podem ser resumidos e a informacao de agregacao usada como refina-

mento.

O sistema ACE possibilita o uso de agregacoes como: mınimo, maximo, media,

soma, moda, dentre outras. Para usar como refinamento um valor agregado, e ne-

cessario acrescentar a informacao de tipo, bem como o padrao da agregacao a ser

usado. Por exemplo, considere um problema em que cada interpretacao contem

a informacao sobre uma unica pessoa e suas varias fontes de renda, sendo esta in-

formacao representada atraves da relacao: pagamento(Pessoa, Fonte, V alor). Caso

fosse desejado usar como refinamento a clausula que separa pessoas com rendimento

total menor que R$5000, 00, uma construcao similar a seguinte deve ser usada:

34

Page 49: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

1. type(aggregate(funcDeAgregacao, padrao, variavelAgregada, resultado)).

2. rmode((aggregate(sum, pagamento( +Pessoa, Fonte,−V alor), V alor,

Total), T otal < 5000.00)).

Com a declaracao 1, indica-se o tipo do refinamento e o padrao de seus argumen-

tos: o primeiro argumento e a funcao de agregacao a ser usada; o segundo argumento

e o padrao a ser encontrado para agregacao; o terceiro argumento e a variavel que

sera agregada, e o quarto argumento e o resultado final da agregacao.

Com a declaracao 2, e dito que a conjuncao (aggregate(sum,

pagamento(+Pessoa, Fonte, −V alor), V alor, Total), T otal < 5000.00) pode ser

acrescentada a uma clausula que se deseja refinar. Esta conjuncao soma o total

recebido de todas as fontes de renda por uma pessoa e verifica se o total excede

R$5000, 00.

E possıvel usar agregacoes muito mais complexas, maiores informacoes podem

ser obtidas em [13].

3.1.5 Pacotes de clausulas

Um pacote de clausulas (Query Pack) [2] e um metodo de representar clausulas

sob a forma de disjuncoes a fim de evitarem-se provas identicas de literais. Clausulas

de mesma cabeca tem suas caudas reunidas sob a forma de uma disjuncao, de

tal modo que literais comuns as clausulas diferentes sao devidamente fatorados e

evidenciados.

Este conceito e melhor entendido atraves de um exemplo. Suponha que haja

um conjunto de clausulas e deseja-se saber quais sao verdadeiras ou falsas para um

exemplo e.

1: p(X).2: p(X), q(X, a).3: p(X), q(X, b).4: p(X), q(X, c).5: p(X), q(X, Y ), t(X).6: p(X), q(X, Y ), t(X), r(Y, 1).7: p(X), q(X, Y ), t(X), r(Y, 2).

Figura 3.7: Conjunto de clausulas que se deseja saber se provam e

Tradicionalmente, seria armazenada a assercao sobre e como um fato e cada

clausula seria testada individualmente. Note que, o literal p(X) tem que ser provado

sete vezes e a conjuncao p(X), q(X, Y ), t(X) tres vezes. Para evitar tal desperdıcio,

o TILDE representa tais clausulas como uma disjuncao. Isto e importante no mo-

mento em que o TILDE computa a heurıstica para cada refinamento, onde e comum

35

Page 50: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

que dois ou mais refinamentos tenham literais em comum. A arvore na figura 3.8

representa o pacote de clausulas de tal conjunto.

Figura 3.8: Pacote de clausulas da figura 3.7.

3.1.6 Tratamento de Regressao - TILDE-RT

O TILDE tambem e capaz de tratar problemas de regressao, sendo chamado

TILDE-RT (TILDE Regression Trees) neste caso. O modelo de Aprendizado por

Interpretacoes usado na classificacao se mantem, porem, em vez de um fato sobre a

classe do exemplo, deve haver um fato sobre o predicado alvo, e tal predicado deve

ter uma variavel numerica que sera o alvo da regressao.

Para exemplificar a representacao, a versao do problema Machines [13] para

regressao e utilizada Neste problema, deseja-se saber o valor de uma maquina quando

esta possui um componente desgastado/defeituoso (ruim/1). Cada interpretacao

possui a lista dos componentes defeituosos e o valor associado a maquina, conforme

a figura 3.9.

Uma maquina pode ter: roda, motor, corrente, unidade de controle (uc) e engre-

nagem. Adicionalmente, existem componentes que podem ser substituıdos (substi-

begin(model(1)). begin(model(10)).valor(0.0). valor(0.0).ruim(motor). ruim(uc).ruim(engrenagem). end(model(10)).end(model(1)). ...

begin(model(2)).valor(1.0).ruim(roda).ruim(corrente).end(model(2))....

Figura 3.9: Arquivo kb do problema Machines

36

Page 51: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

substituivel(roda).substituivel(corrente).substituivel(engrenagem).

insubstituivel(motor).insubstituivel(uc).

Figura 3.10: Conhecimento preliminar do problema Machines

tuivel/1): roda, corrente e engrenagem; e componentes que nao podem (insubstitui-

vel/1): motor e unidade de controle. Esta informacao e representada no conheci-

mento preliminar, figura 3.10.

No arquivo de configuracao do problema, deve-se declarar que o TILDE devera

rodar em modo de regressao, atraves da declaracao “tilde mode(regression).”. E

necessario, tambem, especificar qual e o predicado alvo, bem como a variavel de-

pendente, atraves da declaracao “predict(valor(−)).”. A variavel da regressao deve

ser uma variavel de saıda, identificada atraves do modo −, neste exemplo, o pre-

dicado tem apenas uma variavel. Caso haja outras variaveis, deve-se especificar os

modos de cada uma. Por consequencia desta representacao o TILDE-RT e capaz de

tratar regressao em mais de uma variavel, porem este assunto foge ao escopo deste

trabalho.

As seguintes declaracoes podem ser usadas para especificar os literais da lin-

guagem que podem ser usados nos refinamentos: “rmode(substituivel(+X)).”,

“rmode(insubstituivel(+X)).” e “rmode(ruim(+-X)).”.

Na figura 3.11 ha um exemplo de arvore gerada pelo TILDE-RT para o problema

Machines em modo de regressao.

Figura 3.11: Arvore gerada para o problema Machines

37

Page 52: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.1.7 Heurıstica

Quando em modo de classificacao, o TILDE usa o Ganho de Informacao de forma

analoga ao C4.5, bem como outras heurısticas. Conforme dito, cada refinamento e

um teste logico que particiona um conjunto original em dois subconjuntos: dos

exemplos que tem sucesso e dos exemplos que falham. Para cada refinamento a

heurıstica e computada levando em conta os dois subconjuntos gerados, e o teste

escolhido e o que obtiver melhor valor para heurıstica.

Em modo de regressao, a heurıstica usada e a Reducao na Soma dos Quadrados

das Distancias. Esta heurıstica tambem pode ser usada pelo C4.5 em vez da reducao

da variancia (padrao no C4.5). Na sequencia define-se a soma dos quadrados das

distancias para um conjunto de numeros reais e, em seguida, a heurıstica em si.

Seja S um conjunto de exemplos, entao a soma dos quadrados das distancias do

conjunto S, SS(S), e dada por:

SS(S) =

|S|∑i=1

(yi − µ(S))2 (3.1)

onde yi e o valor da variavel dependente no atributo alvo do i-esimo exemplo de S

e µ(S) =P|S|i=1 yi|S| .

Adicionalmente, sejam: l uma folha, L o conjunto de valores da variavel regredida

nos exemplos da folha l, r um candidato a refinamento em l, P(r) ⊂ L os valores dos

exemplos que passam no teste de r e N(r) ⊂ L os valores dos exemplos que falham

em r. Entao, o valor da heurıstica do refinamento r na folha l, H(r, l), e dado por:

H(r, l) = SS(L)− (SS(N(r)) + SS(P(r))) (3.2)

Concluindo, e desejado o refinamento ρ que maximiza H na equacao 3.2, i.e., que

cause a maior reducao na soma dos quadrados das distancias quando comparam-se

os subconjuntos gerados ao conjunto original.

Note que, a unica diferenca entre a soma dos quadrados das distancias e a

variancia e a ausencia da divisao pelo numero total de exemplos de S, conforme

3.3. Esta diferenca nao afeta a escolha do algoritmo, isto e, um atributo que gera a

maior reducao na variancia de um conjunto tambem gera a maior reducao na soma

dos quadrados das distancia, o que pode ser constatado pelas equacoes a seguir.

Sejam: ∆S2(S) a reducao da variancia; e ∆SS(S) a reducao na soma dos qua-

drados das distancias. Para simplificar, para um mesmo refinamento r, sera usado:

N = N(r) e P = P (r).

38

Page 53: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

∆S2(S) = S2(S)− ((|N |/|S|) ∗ S2(N) + (|P |/|S|) ∗ S2(P ))

= SS(S)/|S| − ((|N |/|S|) ∗ SS(N)/|N |+ (|P |/|S|) ∗ SS(P )/|N |)

= (SS(S)/|S| − ((1/|S|) ∗ SS(N) + (1/|S|) ∗ SS(P )))

= (1/|S|) ∗ (SS(S)− (SS(N) + SS(P )))

= (1/|S|) ∗∆SS(S). (3.3)

3.1.8 Inducao de arvores de decisao de logica de primeira

ordem

Uma vez que os conceitos por tras do algoritmo foram detalhados, este capıtulo

e, entao, finalizado com a exposicao do pseudo-codigo do algoritmo TILDE. Este

algoritmo e, portanto, o que realiza o aprendizado das arvores decisao de logica de

primeira ordem (First Order Logical Decision Trees - FOLDT).

Entretanto, antes de expo-lo, e importante explicar a notacao usada para os

nos da arvore. Um no da arvore pode ser: 1) uma folha, que possui um modelo

preditivo associado (N = folha(modelo preditivo(E))), onde E e o conjunto de

exemplos que passaram pela folha durante o treinamento; ou 2) um no interno (N =

noInterno(conj, esq, dir)), que possui filhos esq e dir, e uma consulta associada

conj.

Novas variaveis introduzidas em um no nao sao repassadas ao ramo direito, pois

tais variaveis nao tem sentido para os exemplos que falham no teste deste no. Este

fato e explicitado na chamada do metodo ConstroiArvore para os ramos que ficam

a direita, no algoritmo 3.1 mostrado a seguir.

O modelo preditivo depende do tipo de problema tratado: na classificacao e a

classe majoritaria em E, na regressao e media da variavel dependente que aparece no

predicado alvo dos exemplos em E. Adicionalmente, os criterios de parada podem

ser verificados na avaliacao dos refinamentos, de modo que caso algum criterio seja

alcancado, nenhum refinamento sera considerado.

A chamada ao metodo recursivo ControiArvore(.), linha 1, da inıcio ao processo

de inducao. A inducao comeca na raiz, cuja consulta associada e definida como

Q = true e um conjunto de exemplos de treino, E, lhe e dado.

Em um no N qualquer os possıveis refinamentos de ← Q sao determinados

aplicando-se o operador de refinamentos, ρ(← Q). Desta forma, calcula-se a

heurıstica para cada refinamento e o melhor refinamento, ← Qb, e escolhido, linha

1.

Caso ← Qb nao seja adequado, apesar de ser o melhor, entao N torna-se uma

folha com um certo modelo preditivo, o qual leva em conta os exemplos em E, linhas

39

Page 54: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 3.1 Algoritmo do TILDE, para inducao de arvores de decisao de logicade primeira ordem, proposto em [5] [4]

Entrada:E e um conjunto de exemplos,Q e uma consulta Prolog.

Saıda:T e uma arvore de decisao de logica de primeira ordem.

Procedimento ConstroiArvore (E, Q)

1: Seja ← Qb o elemento de ρ(← Q) com o melhor valor de heurıstica.2: Se ← Qb nao for bom (por exemplo, tiver ganho nulo), entao3: Faca T = folha(modelo preditivo(E)).4: Senao5: Faca conj = Qb - Q.6: Faca E1 = {e ∈ E| ← Qb e verdadeira em e ∧B}.7: Faca E2 = {e ∈ E| ← Qb e falsa em e ∧B}.8: Faca esq = ConstroiArvore(E1, Qb).9: Faca dir = ConstroiArvore(E2, Q).

10: Faca T = noInterno(conj, esq, dir).11: Retorne T .

Entrada:E e um conjunto de exemplos.

Saıda:T e uma arvore.

Procedimento Tilde (E)

1: Seja T = ConstroiArvore(E, true).2: Retorne T .

40

Page 55: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

2 e 3. No caso das arvores do TILDE tal modelo prediz a classe mais frequente em

E.

Caso contrario, isto e,← Qb pode ser usado como teste, entao a conjuncao conj,

a qual foi usada para refinar ← Q, e extraıda de ← Qb e e armazenada no no, linha

5. Portanto, um particionamento acaba de ocorrer no no sendo processado.

Os exemplos de E sao particionados em E1 e E2 de acordo com o teste ← Qb.

Na sequencia, criam-se dois novos ramos: esq (esquerdo) que ficara associado a

subarvore que contempla os exemplos que tem sucesso no teste do no; e dir (direito)

que ficara associado a subarvore que contempla os exemplos que falham no teste,

linhas 6 e 7.

O processo de inducao e recursivamente executado, chamando-se o procedimento

ConstroiArvore para cada novo ramo. Conforme dito, no ramo esquerdo a consulta

associada e ← Qb e no ramo direito a consulta associada e ← (Qb − conj) = Q.

Portanto, cada ramo tornar-se-a uma subarvore, linhas 8 e 9.

No retorno das recursoes, o no N , torna-se um no interno cujos filhos sao esq

e dir e que armazena a conjuncao conj em sua estrutura, de modo que seu teste e

← (Q ∧ conj), linha 10.

Algoritmo 3.2 Algoritmo de classificacao de um exemplo usando um FOLDT (comum conhecimento preliminar B), proposto em [5] [4]

Entrada:e e um exemplo.

Saıda:c e uma classe.

Procedimento Classifica (e)

1: Seja Q a consulta Prolog ← true.2: Seja N o no raiz da arvore.3: Enquanto N 6= folha(c)4: Seja N = noInterno(conj, esq, dir).5: Se Q ∧ conj for verdadeira em e ∧B, entao6: Faca Q = Q ∧ conj.7: Faca N = esq.8: senao9: Faca N = dir.

10: Retorne c (a classe da folha).

O procedimento de classificacao de um exemplo e, algoritmo 3.2 inicia na raiz,

cuja consulta associada Q e ← true, linhas 1 e 2.

Para um no N qualquer, caso nao seja uma folha, entao componha seu teste

usando Q e conj, i.e., ← Q ∧ conj, caso e tenha sucesso no teste, faca N = esq

e Q =← Q ∧ conj, onde esq e seu filho esquerdo, caso contrario faca N = esq e

41

Page 56: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Q = Q, linhas 3 a 9.

Caso contrario, i.e., N e uma folha, entao retorne a classe armazenada pela folha

como predicao para e, linha 10.

3.2 VFDT - Very Fast Decision Tree

Nesta secao, e apresentado o sistema VFDT (Very Fast Decision Tree) [15],

que e um dos sistemas que serviram de base para o nosso trabalho. Na secao

3.2.1, e feita uma descricao geral do metodo; na secao 3.2.2, o resultado estatıstico

conhecido como limitante de Hoeffding e apresentado; na secao 3.2.3, mostra-se

como o limitante de Hoeffding foi aplicado no aprendizado de arvores de decisao; na

secao 3.2.4, o comportamento assintotico do algoritmo e discutido; na secao 3.2.5,

explica-se como o VFDT trata atributos numericos; e na secao 3.2.6, o algoritmo do

VFDT e exposto.

3.2.1 Introducao

O VFDT um e algoritmo escalavel que aprende arvores proposicionais para pro-

blemas de classificacao de forma incremental. Para tal, o VFDT inspeciona o con-

junto de treino de forma sequencial refinando o modelo aprendido progressivamente,

a medida que novos exemplos sao inspecionados. Ao inspecionar uma quantidade

suficiente de exemplos numa certa folha, determinada pelo resultado estatıstico co-

nhecido como limitante de Hoeffding, o algoritmo escolhe um novo atributo para

teste, realizando o particionamento nesta folha, entretanto, o VFDT descarta tais

exemplos em vez de repassa-los aos novos ramos da arvore. Adicionalmente, por

ser incremental, o VFDT pode realizar a tarefa de classificacao antes do processo

de aprendizado ter sido totalmente finalizado, i.e., que os exemplos de treinamento

tenham se esgotado.

3.2.2 Limitante de Hoeffding

Seja r uma variavel aleatoria real cujo domınio tem tamanho R. Considere n

observacoes independentes desta variavel e seja r sua media observada. O limitante

de Hoeffding [22] atesta que P (µr ≥ r − ε) = 1 − δ, onde µr e a verdadeira media

da variavel r, ε e dado pela equacao 3.4 e δ e um numero muito pequeno.

ε =

√R2 ln(1/δ)

2n(3.4)

42

Page 57: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.2.3 Arvores de Hoeffding

Proposta por Domingos e Hulten [15], a modelagem mostrada a seguir utiliza o

limitante de Hoeffding na escolha dos testes. Em funcao da aplicacao do limitante

de Hoeffding parametrizado por δ, da-se o nome de arvores de Hoeffding para tais

modelos.

Seja G a heurıstica a ser maximizada e sejam Xa e Xb os atributos com os

maiores valores para G. Seja ∆Gr = G(Xa) − G(Xb) a diferenca nos valores das

heurısticas dos atributos quando o algoritmo utiliza todo o conjunto de dados, e seja

∆G = G(Xa) − G(Xb) a diferenca observada quando apenas n exemplos chegaram

a um no.

Entao, dado um valor para δ, atraves do limitante de Hoeffding sabe-se que com

probabilidade 1−δ que ∆Gr ≥ ∆G− ε, onde ε e dado pela equacao 3.4. Se ∆G > ε,

entao e possıvel dizer que com mesma probabilidade ∆Gr > 0, logo G(Xa) > G(Xb),

i.e., com probabilidade 1− δ, Xa e o melhor atributo.

Em termos praticos, para poder afirmar que Xa e a melhor escolha, e necessario

verificar se ∆G ≥ ε. Entao, o que se deve fazer e processar exemplos ate acontecer

que ∆G ≥ ε, para o valor escolhido de δ e o numero corrente de exemplos numa

folha.

Pode acontecer que o melhor atributo, Xa, seja muito melhor que Xb, porem

realizar o particionamento usando Xa pode nao ser tao vantajoso. Para tratar tal

situacao, considera-se um atributo extra, X∅, que na verdade representa o valor da

heurıstica considerando apenas os exemplos na folha. Desta forma pode-se tratar

o caso de um particionamento no melhor atributo nao causar uma diferenciacao

efetivamente boa.

E importante destacar que o limitante de Hoeffding independe da distribuicao

da variavel considerada. Esta independencia vem com o custo de ser necessario pro-

cessar mais exemplos do que em metodos que usam limitantes especıficos. Porem,

dado o cenario das grandes massas de dados, isto nao configura um problema. Alem

disso, para o ganho de informacao tem-se 0 ≤ G ≤ log(|C|), onde C e o conjunto

das possıveis classes, o que satisfaz a condicao de a variavel ter seu domınio de-

limitado por uma faixa de tamanho R. E importante destacar que a distribuicao

das observacoes deve ser a mesma, portanto e feita uma hipotese de distribuicao

estacionaria no fluxo.

Segue, entao, o pseudo-codigo do algoritmo de inducao das arvores de Hoeffding.

O algoritmo de inducao das arvores de Hoeffding comeca na raiz l1, unico no

e folha da arvore sendo construıda. Conforme dito, alem dos possıveis atributos

X, considera-se um atributo extra, X∅. Ele, alem de funcionar como um contador

global na folha, representa o caso de nao se fazer teste algum, linhas 1 e 2. Alem

43

Page 58: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 3.3 Algoritmo de inducao de uma arvore de Hoeffding, proposto em[15]

Entradas:S e uma sequencia de exemplos,X e um conjunto de atributos discretos,G(.) e uma funcao de avaliacao de particionamento,δ e um menos a probabilidade desejada de se escolher o atributo correto em um

dado no.

Saıda:HT e uma arvore de decisao.

Procedimento HoeffdingTree (S, X, G, δ)

1: Seja HT uma arvore com uma unica folha l1 (a raiz).2: Seja X1 = X ∪ {X∅}.3: Seja G1(X∅) o valor de G obtido ao se predizer a classe mais frequente em S.4: Para cada classe yk5: Para cada valor xij de cada atributo Xi ∈ X6: Faca nijk(l1) = 0.7: Para cada exemplo (x, yk) em S8: Desca (x, y) ate uma folha l usando HT .9: Para cada xij em x tal que Xi ∈ Xl

10: Incremente nijk(l).11: Rotule a folha l com a classe majoritaria dos exemplos que chegaram nela

ate agora.12: Se os exemplos que chegaram ate agora em l nao forem todos da mesma

classe, entao13: Calcule Gl(Xi) para cada atributo Xi ∈ Xl - {X∅} usando os contadores

nijk(l).14: Faca Xa ser o atributo com o maior valor de Gl.15: Faca Xb ser o atributo com o segundo maior valor de Gl.16: Calcule ε usando a equacao 3.4.17: Se Gl(Xa) - Gl(Xb) > ε e Xa 6= X∅, entao18: Substitua l por um no interno cujo teste e o atributo Xa (ou seja, faca o

particionamento com o atributo Xa).19: Para cada ramo do particionamento20: Adicione uma nova folha lm, e faca Xm = X - {Xa}.21: Faca Gm(X∅) ser o valor de G obtido ao se predizer a classe mais

frequente em lm.22: Para cada classe yk e cada valor xij de cada atributo Xi ∈ Xm - {X∅}23: Faca nijk(lm) = 0.24: Retorne HT .

44

Page 59: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

disso, o valor da heurıstica de X∅ e justamente a entropia do conjunto.

Inicialmente, os contadores do no, identificados pela trinca: i = atributo , j =

j-esima possıvel valoracao do atributo i e k = classe, sao inicializados com valor 0,

linhas 5 e 6.

Apos tal inicializacao, os exemplos de S comecam a ser passados pela arvore

em construcao. Cada exemplo (x, yk) ∈ S a atravessa ate chegar em uma folha l

adequada, linhas 7 e 8.

Uma vez que o exemplo (x, yk) chegue na folha l, cada contador deve ser atu-

alizado, de acordo com as valoracoes dos atributos de x, linhas 9 e 10. l e, entao,

atualizada para predizer a classe que mais se repetiu no exemplos ate entao passados,

linha 11.

Caso todos os exemplos pertencam a mesma classe, entao l deve aguardar que

mais exemplos cheguem, pois nenhum particionamento e possıvel. Caso contrario,

a heurıstica deve ser computada para cada atributo, a fim de determinar os dois

melhores, linhas 12 a 15.

Determinados os dois melhores atributos, candidatos a teste no particionamento,

computa-se o limitante de Hoeffding. Verifica-se, entao, se a diferenca entre ambos

ja e suficiente, para que seja decidido se e possıvel realizar o particionamento usando

o melhor atributo, linhas 16 e 17.

Caso o limitante garanta que atributo Xa e estatisticamente melhor, entao l, que

era uma folha, torna-se um no interno, cujo teste e o proprio Xa. Adicionalmente,

um ramo descendente e criado para cada possıvel valor no domınio de Xa, linhas

18 a 20. Convem observar que os antigos contadores de l sao descartados neste

processo, portanto qualquer resquıcio de informacao sobre os exemplos e perdida.

Para cada novo filho lm, analogamente separa-se um atributo X∅. Os contadores

dos filhos sao analogamente inciados com valor 0, linhas 21 a 23.

Entao, o processo retorna ao ciclo principal, descrito na linha 7. Desta forma,

mais um exemplo sera conduzido ate uma folha, a qual avaliara a pertinencia de um

particionamento. Ao esgotarem-se os exemplos o processo termina.

45

Page 60: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.2.4 Propriedades das Arvores de Hoeffding

Em [15] foi demostrado que as arvores de Hoeffding sao assintoticamente seme-

lhantes aquelas produzidas por um algoritmo que escolhe os testes para seus nos

inspecionando todo o conjunto de dados de treinamento. Portanto, tal demostracao

e reproduzida a seguir.

Propriedade 3.1. O algoritmo de arvores de Hoeffding produz arvores assintotica-

mente proximas as produzidas pelo algoritmo tradicional.

A demostracao da propriedade em questao depende de conceitos que caracterizem

diferencas entre duas arvores. Para tal, os seguintes conceitos sao definidos:

Definicao 3.2 (Desigualdade entre nos). Dois nos de arvores de decisao sao dife-

rentes nos seguintes casos:

• Dois nos internos sao diferentes quando os seus testes sao diferentes.

• Duas folhas sao diferentes quando predizem classes diferentes.

• Um no interno e diferente de uma folha.

Definicao 3.3 (Desigualdade entre caminhos). Dois caminhos de arvores de decisao

sao diferentes se eles diferem em tamanho ou em pelo menos um no.

A partir desdes dois conceitos, derivam-se as definicoes de discordancia entre

arvores. Sejam:

• P (x) a probabilidade do vetor de atributos x ser observado.

• I(.) uma funcao que retorna 1 se o seu argumento for verdadeiro e 0 em caso

contrario.

Definicao 3.4 (Discordancia Extensional). Seja DTi(x) a classificacao dada pela

arvore DTi para o exemplo x. A discordancia extensional ∆e entre duas arvores de

decisao DT1 e DT2 e a probabilidade de elas predizerem classes diferentes para um

mesmo exemplo:

∆e(DT1, DT2) =∑x

P (x)I[DT1(x) 6= DT2(x)] (3.5)

Definicao 3.5 (Discordancia Intensional). Seja Caminhoi(x) o caminho do exemplo

x pela arvore DTi. A discordancia intensional ∆i entre duas arvores de decisao DT1

e DT2 e a probabilidade do caminho de um exemplo pela arvore DT1 ser diferente

do caminho do mesmo exemplo pela arvore DT2.

46

Page 61: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

∆i(DT1, DT2) =∑x

P (x)I[Caminho1(x) 6= Caminho2(x)] (3.6)

Duas arvores concordam de forma intensional em relacao a um exemplo se este

atravessa por cada uma das arvores usando a mesma sequencia de nos e ambas

predizem a mesma classe para ele. Vale notar que discordancia intensional e um

conceito mais forte do que discordancia extensional.

Seja pl a probabilidade de que um exemplo que desca ate o nıvel l em uma

arvore de decisao alcance uma folha neste nıvel. Para simplificar, assume-se que esta

probabilidade seja constante para todas as folhas (∀l pl = p), o que e uma hipotese

realista para arvores de decisao tıpicas. Alem disso, chama-se p de probabilidade de

folha.

Seja HTδ a arvore de Hoeffding gerada com a probabilidade desejada δ, dada

uma sequencia infinita de exemplos S. Seja DT∗ a arvore de decisao assintotica

produzida por um algoritmo tradicional, em que se escolhe em cada no o atributo

com maior valor de G, usando-se para isso infinitos exemplos em cada no. Seja

E[∆i(HTδ,DT∗)] o valor esperado de ∆i(HTδ,DT∗), calculado considerando-se to-

das as infinitas sequencias de treinamento possıveis. E possıvel afirmar o seguinte

resultado:

Teorema 3.1. Se HTδ e a arvore de decisao de Hoeffding produzida com a probabili-

dade desejada δ dados infinitos exemplos, DT∗ e a arvore de decisao assintotica pro-

duzida por um algoritmo tradicional e p e a probabilidade de folha, entao E[∆i(HTδ,

DT∗)] ≤ δ/p.

Prova: Considere um exemplo x que, na arvore HTδ, cai em uma folha no nıvel lh

e, na arvore DT∗, cai em uma folha no nıvel ld. Sejam:

• l = min{lh,ld}.

• CaminhoH(x) = (NH1 (x), NH

2 (x), ..., NHl (x)) o caminho de x pela arvore HTδ

ate o nıvel l, onde NHi (x) e o no em que o exemplo x cai no nıvel i em HTδ.

Analogamente, seja CaminhoD(x) o caminho de x pela arvore DT∗. Se l = lh,

entao NHl (x) e uma folha e, portanto, prediz uma classe; de forma semelhante,

se l = ld, entao NDl (x) e uma folha.

• Ii a proposicao “CaminhoH(x) = CaminhoD(x) ate o nıvel i, inclusive”, e I0

= true. Note que P (NHl (x) 6= ND

l (x)|Il−1) inclui P (lh 6= ld), porque se os dois

caminhos tem tamanhos diferentes, entao uma arvore deve ter uma folha onde

a outra tem um no interno.

47

Page 62: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Entao,

P (CaminhoH(x) 6= CaminhoD(x))

= P ((NH1 6= ND

1 ) ∨ (NH2 6= ND

2 ) ∨ ...(NHl 6= ND

l ))

= P (NH1 6= ND

1 |I0) + P (NH2 6= ND

2 |I1) + ...+ P (NHl 6= ND

l |Il−1)

=l∑

i=1

P (NHi 6= ND

i |Ii−1) ≤l∑

i=1

δ = δl (3.7)

Seja HTδ(S) a arvore de Hoeffding gerada pela sequencia de exemplos de trei-

namento S. Entao E[∆i(HTδ,DT∗)] e a media, considerando-se todas as infinitas

sequencias de treinamento S, da probabilidade do caminho de um exemplo na arvore

HTδ(S) ser diferente do caminho do mesmo exemplo na arvore DT∗:

E[∆i(HTδ, DT∗)]

=∑S

P (S)∑x

P (x)I[CaminhoH(x) 6= CaminhoD(x)]

=∑x

P (x)P (CaminhoH(x) 6= CaminhoD(x))

=∞∑i=1

∑x∈Li

P (x)P (CaminhoH(x) 6= CaminhoD(x)) (3.8)

onde Li e o conjunto de exemplos que caem em uma folha de DT∗ no nıvel i. De

acordo com a equacao 3.7, a probabilidade do caminho de um exemplo na arvore

HTδ(S) ser diferente do caminho do mesmo exemplo na arvore DT∗, dado que este

ultimo tem tamanho i, e no maximo δi (ja que i ≥ l). Entao,

E[∆i(HTδ, DT∗)] ≤∞∑i=1

∑x∈Li

P (x)(δi) =∞∑i=1

(δi)∑x∈Li

P (x) (3.9)

A soma∑

x∈Li P (x) e a probabilidade de um exemplo x cair em uma folha de

DT∗ no nıvel i e e igual a (1− p)i−1p, onde p e a probabilidade de folha. Entao,

E[∆i(HTδ, DT∗)]

≤∞∑i=1

(δi)(1− p)i−1p = δp

∞∑i=1

i(1− p)i−1

= δ

∞∑i=0

(1− p)i =δ

p(3.10)

Isto completa a demonstracao do Teorema 3.1.

48

Page 63: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

3.2.5 Tratamento de atributos numericos

Conforme visto na secao 2.2.2, ao tratar um atributo numerico Y , o C4.5 analisa

todos os exemplos e tenta determinar qual o valor constante c, que gera o particio-

namento binario Y < c e Y ≥ c, com o melhor valor de heurıstica.

O VFTD usa um metodo parecido com o do C4.5, entretanto, como nao inspe-

ciona todo os exemplos, ele armazena ate 1000 valores que tenham sido observados

numa folha e usa diretamente estes valores como os candidatos a constante do par-

ticionamento. Vale salientar que, ainda assim, e necessario fazer a ordenacao dos

exemplos no momento de avaliar os candidatos. Como o algoritmo opera em fluxos

de dados, as otimizacoes obtidas pelas listas de atributos [30], para evitar excessivas

ordenacoes, nao podem ser usadas.

Existem outras propostas de melhoria para o VFDT. Destaca-se a abordagem

usada em [24], onde se faz uso das arvores binarias de busca estendidas (Extended

Binary Search Trees - E-BST). Nela, cada atributo numerico em uma folha contem

uma E-BST e cada no de uma E-BST contem um valor chave que guia os exemplos

aos sub-ramos esquerdo ou direito atraves do teste “y < Chave”. Alem disso, cada

no possui dois vetores, um para cada filho, com as estatısticas: Numero de exemplos,

soma dos valores da atributo-alvo e soma dos quadrados dos valores.

Cada vez que um exemplo novo chega, a chave e confrontada, o contador ade-

quado e atualizado e o exemplo e repassado ao ramo adequado. Na hora do particio-

namento, para achar a melhor constante, o algoritmo realiza uma busca em profun-

didade visitando cada no, portanto na ordem correta. Neste processo, acumulam-se

os resultados da heurıstica para cada possıvel valor, para que, no final, seja escolhido

o de melhor heurıstica. Uma descricao mais completa o metodo pode ser encontrada

em [24].

3.2.6 VFDT

Utilizando a modelagem das arvores de Hoeffding, Domingos e Hulten desenvol-

veram o algoritmo VFDT (Very Fast Decision Tree) [15], um algoritmo de aprendi-

zado proposicional e escalavel em grandes bases de dados.

O VFDT pode, ao menos teoricamente, aprender a partir de bases de dados

potencialmente infinitas, por exemplo, minerando transacoes bancarias. Nesta si-

tuacao, mesmo com recursos fısicos ilimitados, nao seria possıvel reunir todo o con-

junto de dados de uma so vez. Devido a esta natureza incremental, o VFDT permite

que o modelo aprendido seja consultado antes do “fim” do aprendizado. Em funcao

disso, o VFDT e dito ser um algoritmo anytime.

O VFDT tem alguns elementos para melhorar ainda mais sua performance. Por

serem os relevantes a este trabalho, estao detalhados dois deles: um parametro

49

Page 64: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

para acumulo de exemplos nas folhas emin; e um parametro para desempate entre

atributos τ . Detalhes extras sobre o VFDT podem ser encontrados em [15].

O computo da heurıstica e um processo custoso. O parametro emin reduz o

tempo de inducao, permitindo que o usuario determine que cada novo computo da

heurıstica seja feito somente quando emin novos exemplos chegaram desde a folha

vazia ou o ultimo computo. Isto melhora a performance pois o algoritmo nao precisa

computar a heurıstica para todos os possıveis refinamentos todas as vezes que um

unico exemplo chega a folha. Portanto, no contexto de conjuntos de dados gigantes,

isto tem um grande impacto.

Quando dois ou mais atributos possuem valores de heurısticas muito proximos,

o algoritmo pode necessitar de um numero grande de exemplos ate escolher o me-

lhor atributo, o que e um desperdıcio, uma vez que nao fara grande diferenca qual

atributo seja escolhido, ja que estao muito proximos. Esta situacao e chamada de

empate e para resolve-la o VFDT usa um parametro fornecido pelo usuario que

impoe um limiar de desempate. Caso ∆G < ε < τ , o melhor atributo e escolhido

como o teste para o no.

50

Page 65: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Esta secao e finalizada mostrando-se as diferencas entre o algoritmo tradicional

de arvores de decisao [33] e o VFDT para comparacao.

Algoritmo 3.4 Algoritmo de Arvore de Decisao [33]

1: Raiz: Exs = todos os exemplos de treino.2: Baseado no conjunto de exemplos Exs, selecione o melhor atributo A como teste

do no.3: Crie um ramo para cada valor vi do atributo discreto A, correspondendo ao testeA = vi.

4: Separe os exemplos entre os nos filhos do no corrente de acordo com o valor deA, criando um novo conjunto de exemplos Exs para cada filho.

5: Repita o passo 2 para cada filho.

Algoritmo 3.5 VFDT [15]

1: Raiz: Exs = N primeiros exemplos de treino, onde N e obtido pelo limitantede Hoeffding (∆G > ε ou ∆G < ε < τ).

2: Baseado no conjunto de exemplos Exs, selecione o melhor atributo A como testedo no.

3: Crie um ramo para cada valor vi do atributo discreto A, correspondendo ao testeA = vi.

4: Descarte os exemplos que estavam antes no no. Separe os proximos exemplosentre os filhos do no corrente, de acordo com o valor de A, criando um conjuntode exemplos Exs para cada filho. O numero de exemplos de cada filho seratambem determinado pelo limitante de Hoeffding.

5: Repita o passo 2 para cada filho.

3.3 HTILDE - Hoeffding TILDE

Nesta secao, e apresentado o HTILDE. Este sistema e fundamental para este

trabalho, pois o algoritmo HTILDE-RT e uma extensao do HTILDE para resolver

problemas de regressao. Na secao 3.3.1, e feita uma introducao ao sistema; na secao

3.3.2, o algoritmo do HTILDE e exposto; e,na secao 3.3.3, detalhes relacionados a

especificacao de um problema estao apresentados.

3.3.1 Introducao

O HTILDE, proposto em [28], e um algoritmo baseado no TILDE e no VFDT,

combinando a expressividade da ILP a eficiencia da amostragem atraves do limitante

de Hoeffding. Sendo, portanto, um sistema de programacao em logica indutiva

escalavel para aprendizado em fluxos de dados relacionais.

Por ser baseado no TILDE, o HTILDE tambem utiliza aprendizado por inter-

pretacoes, o que permite a cobertura local dos exemplos, bem como se beneficia dos

51

Page 66: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

pacotes de clausulas. Porem, o processo de escolha dos refinamentos para teste se da

de forma analoga a que o VFDT usa para escolher atributos para teste, herdando,

portanto, os tres parametros basicos do VFDT: δ, emin e τ

Varios sistemas proposicionais usaram a metodologia proposta por Domingos e

Hulten [16] para tornar algoritmos de aprendizado de maquinas capazes de tratar

grandes fluxos de dados. Dentre eles, o VFDT [15] e o mais proximo do TILDE,

por ser uma arvore de decisao.

Entretanto, conforme constatado por Srinivasan [44], amostragem (sampling)

em ILP nao tem recebido muita atencao. Eu seu trabalho pioneiro existe uma

metodologia de amostragem aplicada no sistema ILP PROGOL, que usa aprendizado

por implicacao logica. Nesta metodologia, um tamanho fixo para todas as amostras

e determinado por um limitante dependente da suposicao de normalidade [47]. Alem

disso, o tamanho da populacao (numero total de exemplos) deve ser conhecido para

computo dos estimadores envolvidos, porem no contexto de fluxos de dados tal

parametro e potencialmente desconhecido.

O HTILDE e, portanto, um sistema que induz incrementalmente arvores de

decisao de logica de primeira ordem e utiliza o limitante de Hoeffding para tratar

grandes fluxos de dados. Alem disso, da mesma forma que o VFDT, o HTILDE e

tambem um algoritmo anytime. Na secao 3.3.2, estao detalhados os algoritmos de

aprendizado e inferencia do HTILDE.

3.3.2 Algoritmo

O pseudo-codigo do HTILDE e muito parecido com o do VFDT, mostrado no

algoritmo 3.3. A diferenca e que, em cada no, em vez de se avaliar qual e o melhor

atributo que pode ser colocado como teste do mesmo, sao considerados os possıveis

refinamentos.

Na tabela 3.1, sao destacadas as diferencas entre os algoritmos do VFDT e do

HTILDE. Novamente, assim como nos capıtulos 3.1 e 3.2, os pseudo-codigos sao

exibidos. Desta forma, confronta-se como ocorre a escolha de um atributo para

ser colocado como teste de um no interno nos dois algoritmos. Os passos que nao

estao exibidos do HTILDE (1 e 5) sao iguais aos do VFDT. Ja no algoritmo 3.6,

esta detalhado o pseudo-codigo do HTILDE, que utiliza de forma auxiliar a funcao

FazParticionamento, mostrada no algoritmo 3.7.

O processo de inducao do HTILDE e bastante parecido tanto com o VFDT

quanto com o TILDE, pois herda suas caracterısticas de ambos. Comecando por

uma unica folha inicial, a raiz l1, cuja consulta associada e ← true, os possıveis

refinamentos sao determinados pelo operador ρ(.), linhas 1 e 2.

Analogamente ao VFDT, cada folha l possui um conjunto de contadores, n, que

52

Page 67: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 3.6 Algoritmo do HTILDE, para inducao de uma arvore de decisao delogica de primeira ordem escalavel para grandes fluxos dados.

Entradas:S e uma sequencia de exemplos,ρ(.) e o operador de refinamento,Q e um conjunto de refinamentos,G(.) e uma funcao de avaliacao de particionamento,δ e um menos a probabilidade desejada de se escolher o refinamento correto em

um dado no.τ e um valor definido pelo usuario para detectar empates de refinamentos.emin e um numero que indica de quantos em quantos exemplos sera verificado se

a folha deve sofrer um particionamento.

Saıda:HT e uma arvore de decisao de logica de primeira ordem.

Procedimento HTILDE (S, G, δ, τ , emin)

1: Seja HT uma arvore com uma unica folha l1 (a raiz).2: Seja Q1 = ρ(← true).3: Para cada classe c4: Para cada refinamento Qi ∈ Q1

5: Faca n[l1][i][V erdadeiro][c] = 0.6: Faca n[l1][i][Falso][c] = 0.7: Para cada exemplo e em S8: Desca e ate uma folha l usando HT .9: Faca Ql ser a consulta associada de l.

10: Seja Ql = ρ(Ql).11: Para cada refinamento Qi ∈ Ql

12: Se ← Qi for verdadeira em e ∧B, entao13: Incremente n[l][i][V erdadeiro][classe(e)] em 1.14: Senao15: Incremente n[l][i][Falso][classe(e)] em 1.16: Faca El ser o numero de exemplos que chegaram ate agora na folha l.17: Se os exemplos que chegaram ate agora em l nao forem todos da mesma classe

e El modulo emin = 0, entao18: Calcule Gl(Qi) para cada refinamento Qi ∈ Ql usando os contadores n.19: Faca Qa ser o refinamento com o maior valor de Gl.20: Faca Qb ser o refinamento com o segundo maior valor de Gl.21: Calcule ε usando a equacao 3.4.22: Faca ∆Gl = Gl(Qa) - Gl(Qb).23: Se ∆Gl > ε ou ∆Gl ≤ ε < τ , entao24: FazParticionamento(HT , l, Qa, Ql).25: Retorne HT .

53

Page 68: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

VFDT HTILDE1. Raiz: Exs = os N primeirosexemplos de treinamento, N dado pelolimite de Hoeffding (∆G > εou ∆G < ε < τ).2. Baseado no conjunto de ⇒ 2. Baseado no conjunto deexemplos Exs, escolha exemplos Exs, escolhao melhor atributo A para o melhor refinamento R paraser colocado como teste do no. ser colocado como teste do no.3. Crie um ramo para cada valor vi ⇒ Crie dois ramos: um correspondentedo atributo A, correspondente ao ao teste R = V erdadeiro eteste A = vi. o outro a R = Falso.4. Descarte os exemplos ja ⇒ Descarte os exemplos jaconsiderados para o particionamento. Divida os considerados para o particionamento. Divida osproximos exemplos entre os nos filhos, proximos exemplos entre os nos filhos,de acordo com o valor do atributo A, de acordo com o valor do refinamento R,gerando os conjuntos de exemplos gerando os conjuntos de exemplosExs de cada filho. Exs de cada filho.O numero de exemplos de cada O numero de exemplos de cadafilho tambem sera determinado filho tambem sera determinadopelo limite de Hoeffding. pelo limite de Hoeffding.5. Repita 2 para cada filho.

Tabela 3.1: Diferencas entre os algoritmos em alto nıvel do VFDT e do HTILDE.

sao identificados pelas seguintes informacoes: 1) o ındice da propria folha, l (l1 no

caso da raiz); 2) pelo ındice do refinamento, i; 3) um campo que pode ser V erdadeiro

ou Falso se o refinamento provar o exemplo ou nao; e 4) o ındice c, que denota a

classe do exemplo. Em todas folhas, estes contadores comecam com valores 0, linhas

3 a 6.

Inicializada a raiz, os exemplos em S comecam a ser entregues ao modelo em

evolucao. Ao percorrer a arvore em construcao, cada exemplo e ∈ S e entao enca-

minhado a uma folha l adequada.

Para cada possıvel refinamento existente em l, atualizam-se seus contadores de

acordo com o resultado do confronto entre o exemplo e e seu teste, linhas 9 a 15. Vale

lembrar que os refinamentos sao determinados aplicando-se ρ(.) a consulta associada

Q de l, quando de sua criacao.

Atualizados os contadores, deve-se verificar se um particionamento ja e possıvel.

Primeiramente, testa-se se um certo numero de exemplos, emin ja chegou em l, linha

17. Em caso negativo, espera-se por mais exemplos; em caso positivo procede-se o

computo da heurıstica para os refinamentos, linha 18.

Feito isso, determinam-se os dois melhores candidatos a teste para o particio-

namento e entao o limitante de Hoeffding e computado, linhas 19 a 21. Caso a

54

Page 69: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

diferenca tenha ultrapassado o limitante, ou seja suficientemente pequena, entao l

sofrera um particionamento (procedimento FazParticionamento(.)), linhas 22 e 23.

Caso contrario, espera-se por mais exemplos.

Ao termino do particionamento, l deixa de ser uma folha e passa a ser um no

interno com dois filhos. Conforme dito, o procedimento de particionamento esta

detalhado no algoritmo 3.7, a ser explicado em seguida.

Algoritmo 3.7 Funcao FazParticionamento, chamada pelo HTILDE, cujo pseudo-codigo e exibido no algoritmo 3.6.

Entradas:HT e a arvore logica de primeira ordem que vai ser modificada,l e a folha de HT que vai sofrer o particionamento,Qa e o melhor refinamento para o no l,Ql e a consulta associada do no l.

Saıda:HT , que e a arvore de decisao de logica de primeira ordem, tendo sofrido o

particionamento no no l.

Procedimento FazParticionamento (HT , l, Qa, Ql)

1: Faca conj = Qa −Ql.2: Substitua l por um no interno cujo teste e a conjuncao de literais conj.3: Para cada ramo do particionamento4: Adicione uma nova folha lm.5: Se for o ramo esquerdo, entao6: Faca Qm = ρ(Qa).7: Senao (ou seja, se for o ramo direito)8: Faca Qm = ρ(Ql).9: Para cada classe c

10: Para cada refinamento Qi ∈ Qm

11: Faca n[lm][i][V erdadeiro][c] = 0.12: Faca n[lm][i][Falso][c] = 0.13: Retorne HT .

Dados: o no l, que e uma folha; seu melhor refinamento, Qa; e sua consulta

associada Ql; a conjuncao conj e obtida e armazenada em l, que se torna um no

interno com dois filhos, linhas 1 e 2.

A consulta associada do filho esquerdo e a propria consulta do melhor refina-

mento, Qa, enquanto que a consulta associada do filho direito e Ql, i.e., a consulta

associada de l. Dado isto, os candidatos a refinamentos de cada filho sao determi-

nados por ρ(.), linhas 3 a 8.

Em cada filho, os contadores de cada candidato sao inicializados com valor 0,

linhas linhas 9 e 12. Finalmente, a arvore modificada, HT , e retornada ao processo

que chamou este procedimento.

55

Page 70: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Esta secao e finalizada exibindo o algoritmo 3.8, no qual e mostrado o pseudo-

codigo utilizado para classificar um exemplo usando o HTILDE. Ele e muito parecido

com o algoritmo 3.2, que classifica um exemplo com o TILDE.

Porem, a diferenca agora e que pode ocorrer o caso em que uma folha nao tenha

exemplos, ou seja, ela foi criada por um particionamento do no pai, mas depois

nenhum outro exemplo de treinamento chegou nela. Para contornar estes casos e

poder classificar um exemplo que venha a cair neste tipo de folha, estabelece-se

como classe padrao de uma folha a classe que o seu no pai tinha antes de sofrer o

particionamento. Esta estrategia e semelhante a utilizada pelo VFDT nesses casos.

Algoritmo 3.8 Algoritmo de classificacao de um exemplo usando o HTILDE (comum conhecimento preliminar B)

Entrada:e e um exemplo.

Saıda:c e uma classe.

Procedimento Classifica (e)

1: Seja Q a consulta Prolog V erdadeiro.2: Seja N o no raiz da arvore.3: Enquanto N nao for uma folha4: Seja N = noInterno(conj, esq, dir).5: Se Q ∧ conj for verdadeira em e ∧B, entao6: Faca Q = Q ∧ conj.7: Faca N = esq.8: Senao9: Faca N = dir.

10: Faca n = numero de exemplos de treinamento que caıram na folha N .11: Se n = 0, entao12: Faca c = a classe do no pai de N , antes de sofrer o particionamento.13: Senao14: Faca c = a classe mais frequente entre os exemplos de treinamento que caıram

no N .15: Retorne c.

O processo de predicao do HTILDE e bastante semelhante ao do TILDE. Porem,

como existe a possibilidade de uma folha nao receber exemplo algum apos sua

criacao, deve-se armazenar numa folha recem-criada a predicao de seu pai, ate que

algum exemplo chegue. Esta situacao diferente e contemplada nas linhas 11 e 12.

3.3.3 Especificacao de um problema

Antes de concluir o capıtulo, e interessante fazer um comentario sobre como

um problema e representado no HTILDE. Como ele foi desenvolvido no mesmo

56

Page 71: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

ambiente do TILDE, um problema e especificado de maneira muito semelhante nos

dois sistemas: atraves dos arquivos “.kb”, “.bg” e “.s”, que foram explicados no

capıtulo 3.1.

Para utilizar o HTILDE, algumas pequenas mudancas devem ser feita no ar-

quivo “.s”. O usuario deve incluir tres linhas especıficas para definir os parametros

utilizados pelo algoritmo: htilde delta, htilde emin e htilde tau. Estes comandos de-

finem, respectivamente, os parametros δ, emin e τ do algoritmo. Para comecar a

executa-lo, deve-se utilizar o comando “execute(induce(htilde)).”. Finalmente, vale

ressaltar que a heurıstica e a mesma usada como padrao no VFDT, que e o ganho de

informacao. Como esta nao e a medida padrao do TILDE, deve-se colocar mais um

comando, “heuristic(gain).”, para definir que se deseja usar o ganho de informacao

como heurıstica. Um exemplo destes comandos podem ser vistos a seguir:

htilde delta(0.000001).htilde emin(300).htilde tau(0.05).heuristic(gain).execute(induce(htilde)).

Alem das alteracoes no arquivo .s, pode ser necessario incluir novas linhas no

arquivo .bg para informar quais predicados sao simetricos. O tratamento de predi-

cados simetricos e importante pois pode gerar empates inquebraveis, impedindo o

processo de particionamento. O tratamento deste problema e detalhado em [28].

57

Page 72: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 4

HTILDE: Novos resultados

Neste capıtulo, estao listadas contribuicoes complementares ao trabalho de Lopes

e Zaverucha em [28], que sao relacionadas a classificacao. Na secao 4.1, discute-se o

comportamento assintotico dos modelos aprendidos pelo HTILDE e, na secao 4.2,

estao apresentados os resultados complementares obtidos com a base de dados real

CORA [6].

4.1 Propriedades das HTILDE-Trees

Nesta secao e enunciado que as propriedades assintoticas das arvores de Hoeff-

ding proposicionais se preservam nas arvores geradas pelo HTILDE (HTILDE-Trees)

quando o aprendizado por interpretacoes e usado. Portanto, o teorema 4.1, a ser

enunciado, estende a validade do teorema 3.1 para o aprendizado por interpretacoes.

Teorema 4.1. Seja S uma sequencia de infinitos exemplos, onde cada exemplo x e

uma interpretacao I com um numero arbitrario de atomos. Seja HTTδ uma arvore

de Hoeffding de logica de primeira ordem do HTILDE, com parametro δ, treinada

usando S. Seja LDT∗ a arvore de decisao de logica de primeira ordem treinada com

os infinitos exemplos de S. Entao, analogamente ao caso proposicional, e valido que

E[∆i(HTTδ, DT∗)] ≤ δ/p quando o aprendizado por interpretacao e usado.

Prova: A demonstracao e bastante direta e consiste em mostrar que P (NHTTδi 6=

NLDT∗i |Ii−1) ≤ δ, onde δ e determinado pela equacao 3.4, permanece valida. Para tal,

e analisada a inequacao P (NHTTδi 6= NLDT∗

i |Ii−1) ≤ δ′ no contexto do aprendizado

logico por interpretacoes.

Durante o treinamento, esta inequacao do limitante de Hoeffding limita a pro-

babilidade de os modelos terem escolhas diferentes no nıvel i, com ambos possuindo

caminhos/testes iguais ate o nıvel i− 1. Deve-se, entao, argumentar que δ′ = δ.

Alem disso, define-se que duas formulas f1 e f2 sao equivalentes, denotado por

f1 ≡ f2, se diferem apenas pela nomeacao de suas variaveis.

58

Page 73: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Dado o exposto, vem que:

1. Como o vies de linguagem e o mesmo para ambos modelos, todo candidato

a refinamento de HTTδ tera um, e somente um, correspondente equivalente

em LDT∗ no nıvel i, e vice e versa (duas formulas sao equivalentes se diferem

apenas na nomeacao de suas variaveis). Ou seja, existe uma funcao bijetora

que relaciona os candidatos a refinamentos dos modelos num mesmo nıvel.

Portanto, da mesma forma que no caso proposicional os algoritmos escolhiam

seus testes baseados em conjuntos de atributos iguais, na representacao por

interpretacoes, os algoritmos logicos escolhem sobre conjuntos de refinamentos

equivalentes.

2. Como o background knowledge e o mesmo para ambos algoritmos (pois e

especıfico do problema), um refinamento de HTTδ cobre o mesmo espaco de

exemplos que o seu equivalente em LDT∗, e vice e versa. Portanto, ambos

particionam o espaco de exemplos da mesma forma.

3. No aprendizado por interpretacoes, a classe de um exemplo nao e influenci-

ada pela presenca ou ausencia de quaisquer outros exemplos, alem disso, sua

cobertura por uma clausula depende apenas: da clausula, dos fatos em sua

interpretacao e do background knowledge; que sao os mesmos para ambos

modelos. Logo, um exemplo, alem de independente dos demais, e coberto da

mesma forma por ambos os modelos, quando compara-se os pares de clausulas

relacionadas pela bijecao.

4. Permanece a hipotese de distribuicao estacionaria do fluxo, i.e., o fluxo de da-

dos tem distribuicao igual (muito proxima) a da populacao original (ausencia

mudancas na distribuicao durante o tempo - concept drifts). Logo, em qual-

quer segmento do fluxo, com tamanho suficiente, a distribuicao das classes tera

proporcao muito proxima a do conjunto de dados inteiro.

Dado o exposto, concluımos que a probabilidade de haver escolhas diferentes no

nıvel i nao sofre a influencia de elementos adicionais gerados pelo aprendizado por

interpretacao, i.e., elementos que nao estivessem presentes no caso proposicional, e,

portanto, e possıvel computar δ′ usando diretamente a expressao do limitante de

Hoeffding sem alteracoes. Portanto, δ′ = δ, onde δ e dado pela equacao 3.4. Pode-se

afirmar, entao, que a inequacao P (NHTTδi 6= NLDT∗

i |Ii−1) ≤ δ se preserva, da mesma

forma que no paradigma proposicional.

O restante da demonstracao segue da mesma forma que no caso proposicional,

ou seja, conforme o restante do teorema 3.1.

59

Page 74: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

4.2 Resultados com a base de dados CORA

O CORA e uma base de dados relacional real introduzido por McCallum em [29]

e esta disponıvel em [6]. Ele contem informacoes sobre publicacoes cientıficas, como

tıtulo, nome do autor, editora, ano de publicacao. O problema proposto consiste em

identificar quando duas referencias estao relacionadas a um mesmo artigo.

Em relacao a sua estrutura, o CORA e uma base desbalanceada cujos exemplos

positivos compoem apenas 4% do total, sendo negativos os 96% restantes. Desta

forma, a medida-F (F-measure) foi levada em consideracao na avaliacao da perfor-

mance. Alem disso, o conjunto total dos dados e composto de 5 particoes (folds),

de modo que cada uma possui aproximadamente 840 mil exemplos e conhecimento

preliminar (background knowledge).

Em [28] executou-se variados experimentos com o CORA visando uma melhor

medida-F, porem os resultados obtidos com o HTILDE nao ultrapassaram 41%.

Dado o exposto, estudou-se sua estrutura, buscando um entendimento que explicasse

a causa dos maus resultados.

Foi, entao, descoberto que a versao distribuıda em [6] apresenta, em cada uma de

suas particoes, a seguinte organizacao: uma sequencia de exemplos de treino com,

aproximadamente, 400000 positivos seguida de 20000 negativos e uma sequencia de

teste com, aproximadamente, 400000 exemplos positivos seguidos de 20000 negati-

vos.

Uma vez que o HTILDE le sequencialmente os dados, tal organizacao estava cau-

sando uma mudanca de distribuicao drastica, o que e um problema para o HTILDE,

bem como o seria para VFDT. Alem disso, este tipo de sequencia dificilmente acon-

teceria em um fluxo real.

A partir desta descoberta, adotou-se a estrategia de reordenar os exemplos do

CORA, antes da execucao de quaisquer experimentos. Tal ordenacao e feita de modo

a garantir distribuicao estacionaria ao fluxo dados a ser analisado pelo HTILDE. Por

fim, este procedimento levou a resultados expressivamente melhores. Antes de expor

os resultados, alguns detalhes sobre como realizam-se os novos experimentos com o

CORA sao discutidos.

Aproveitando o particionamento original, foi realizada validacao cruzada 5x2

[14], desta forma cada particao fornecia duas rodadas de treino/teste: na primeira

rodada a primeira metade serve de treino (e restante de teste) e na segunda rodada a

primeira serve de teste (e o restante de treino). As medidas colhidas foram: tempo

de inducao (em segundos), numero de nos (regras), numero de literais, acuracia,

medida-F, AUC-ROC e AUC-PR.

Cada bateria de 5x2 = 10 experimentos foi realizada 10 vezes, todos com dados

estacionariamente distribuıdos. Adicionalmente, o teste t corrido [35] [48] foi usado

60

Page 75: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

para verificar se as diferencas entre os algoritmos eram significativas. Os resultados

numericos seguem na tabela 4.1.

TILDE HTILDETempos 40,5 21,1Nos 23,9 6,2Literais 57,7 18,4Acuracia 0,99 0,99Medida-F 0,94 0,90AUC-PR 0,95 0,93AUC-ROC 0,99 0,99

Tabela 4.1: Resultados para o problema CORA

O HTILDE apresentou um tempo de aprendizado quase 2 vezes mais rapido,

numero de nos (e portanto de regras) 3,8 vezes menor e literais 3,1 vezes menor,

todos com diferenca estatisticamente significativa para p < 0, 001. Adicionalmente,

nao houve diferencas em relacao a acuracia e AUC-ROC. Porem, o TILDE conseguiu

uma medida-F 0,03 melhor e AUC-PR 0,02 melhor, tambem para p < 0, 001.

Dados o tamanho do conjunto de dados do CORA e o comportamento assintotico

esperado do HTILDE, tais resultados mostraram-se coerentes com os obtidos em [28]

com a base BONGARD. A medida que o numero de exemplos cresce, as medidas

de performance melhoraram. As curvas de aprendizado obtidas com o CORA estao

mostradas na tabela 4.2. Para confeccionar tais curvas, subconjuntos de dados com

percentuais dos exemplos originais foram construıdos, e progressivamente aumentou-

se a porcentagem de exemplos para treino. Alem disso, a proporcao de 96% e 4%

entre as classes foi preservada.

61

Page 76: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

%exemplos Tempo Nos Lits. Acur. Medida-F AUC-PR AUC-ROCHTILDE

0,004 1,6 0,0 0,0 0,96 0,00 0,03 0,480,008 1,7 1,0 3,0 0,99 0,91 0,83 0,990,016 1,9 1,5 4,5 0,99 0,91 0,80 0,990,031 2,2 1,7 5,1 0,99 0,91 0,80 0,990,063 2,9 2,0 6,0 0,99 0,91 0,80 0,990,125 4,1 2,4 7,2 0,99 0,91 0,80 0,990,250 7,2 3,7 11,1 0,99 0,89 0,96 0,990,500 11,8 4,8 14,2 0,99 0,90 0,97 0,991,000 21,1 6,2 18,4 0,99 0,90 0,93 0,99

TILDE0,004 1,6 3,2 9,6 0,99 0,92 0,93 0,980,008 1,8 4,7 13,7 0,99 0,94 0,94 0,990,016 2,0 5,7 16,9 0,99 0,94 0,97 0,990,031 2,6 7,9 21,7 0,99 0,93 0,94 0,990,063 3,9 10,0 25,6 0,99 0,93 0,93 0,990,125 5,5 11,6 30,6 0,99 0,93 0,95 0,990,250 10,2 15,5 39,3 0,99 0,93 0,95 0,990,500 17,4 20,2 50,0 0,99 0,93 0,95 0,991,000 40,5 23,9 57,7 0,99 0,94 0,95 0,99

Tabela 4.2: CORA - Curvas de aprendizado

E possıvel notar que a acuracia pouco varia em funcao de o conjunto ser desba-

lanceado. A AUC-ROC tambem mostra pouca sensibilidade. Devido a forma como

ambas as medidas sao calculadas, basta predizer a classe mais frequente para um

bom resultado.

A AUC-PR, assim como a medida-F, leva em conta a precisao e a revocacao.

Desta forma, caso um classificador deixe de aprender alguma das classes, influenciado

pelo mal-balanceamento, estas medidas automaticamente tornam-se baixas. Isso

faz com que ambas sejam mais confiaveis. Os graficos relacionados as curvas de

aprendizado para a medida-F e AUC-PR estao mostrados nas figuras 4.1 e 4.2,

respectivamente.

Por essas curvas, e possıvel notar que o HTILDE precisa de mais exemplos do

que o TILDE para o aprendizado. Este resultado e esperado, pois o HTILDE usa

amostragem e, apos uma decisao de particionamento, faz o descarte dos da amostra

usada para tomar tal decisao.

Suponha um conjunto de dados com 1000 exemplos e que o HTILDE esteja com

o parametro emin = 300; caso o limitante de Hoeffding fosse superado na raiz com

os primeiros 300 exemplos, os proximos 700 seriam repassado para seus filhos. Num

caso extremo, se todos os exemplos fossem encaminhados apenas aos sub-ramos da

62

Page 77: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0F-

Mea

sure

0.004 0.008 0.016 0.031 0.063 0.125 0.25 0.5 1.0

%exemplos

Learning Curves

TILDEHTILDE

Figura 4.1: CORA: Curvas de aprendizado para a medida-F

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

AU

C-P

R

0.004 0.008 0.016 0.031 0.063 0.125 0.25 0.5 1.0

%exemplos

Learning Curves

TILDEHTILDE

Figura 4.2: CORA: Curvas de aprendizado para a AUC-PR

63

Page 78: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

esquerda, o HTILDE teria apenas 3 oportunidades de evoluir a arvore. Isto gera um

modelo excessivamente geral.

Ja o TILDE, por nao descartar exemplos, tem muito mais oportunidades de

adaptar a arvore aos dados, mesmo com um conjunto menor. Porem, a analise do

comportamento assintotico garante que quando ha um numero grande de exemplos,

ambos algoritmos tendem a aprender classificadores bastante proximos.

E importante destacar que conforme o numero de exemplos aumenta, a diferenca

na qualidade dos modelos aprendidos pelos dois algoritmos torna-se desprezıvel Alem

disso, o HTILDE aprende mais rapido que o TILDE. Essas duas caracterısticas

evidenciam a vantagem do HTILDE nos conjuntos de dados gigantes.

Tambem foi investigado como os parametros emin, τ e δ poderiam melhorar os

modelos aprendidos. Para tal, validacao interna 5x2 foi executada da seguinte forma:

cada parametro foi variado de um valor mınimo a um maximo, seguindo uma certa

forma de atualizacao, enquanto os demais foram mantidos nos valores padrao.

O parametro emin foi testado com 1% e depois variado entre 5% e 100%

dos exemplos, com incrementos de 5%. O parametro τ foi variado entre 0% e

20% com incrementos de 1% e de 20% a 100% com passos de 5%, esta ultima

granularidade foi usada pois o parametro mostrou-se mais sensıvel na faixa de

0% a 20%. E, por fim, o parametro δ foi testado com os seguintes valores:

{10−8, 10−7, 10−6, 10−5, 10−4, 10−3, 10−2, 10−1}. Os valores de cada parametro que

obtiveram os melhores resultados foram combinados com os melhores valores dos

demais e novos experimentos foram executados.

Ao termino dessa bateria de experimentos, foi verificado que a melhor para-

metrizacao foi justamente aquela composta pelos valores padrao do VFDT, i.e.:

emin = 300, τ = 0, 05 e δ = 10−6, os mesmos usados em nossos experimentos. A

melhor parametrizacao foi considerada aquela que obteve menor tempo de inducao,

menor tamanho dos modelos e melhores medidas de qualidade.

64

Page 79: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 5

HTILDE-RT

Neste capıtulo, sao apresentadas as principais contribuicoes deste trabalho: o

algoritmo HTILDE-RT, que e explicado na secao 5.1 e os resultados experimentais,

que sao discutidos na secao 5.2.

5.1 Hoeffding TILDE Regression Trees

Nesta secao, e apresentado o algoritmo HTILDE-RT: um algoritmo escalavel

para o aprendizado de arvores de regressao de logica de primeira ordem em fluxos de

dados. Sua organizacao e a seguinte: na secao 5.1.1, e apresentada a motivacao e faz-

se uma introducao ao metodo; na secao 5.1.2, discute-se a adaptacao da heurıstica

as condicoes do limitante de Hoeffding; na secao 5.1.3, o tratamento de atributos

numericos usado neste trabalho e discutido; na secao 5.1.4, e provido o pseudo-codigo

do algoritmo HTILDE-RT; na secao 5.1.5, detalhes sobre a especificacao de um

problema sao fornecidos; e, na secao 5.1.6, alguns detalhes da atual implementacao

sao apresentados.

5.1.1 Introducao

O HTILDE-RT e uma extensao do HTILDE para os problemas de regressao,

que une o poder do representacao do TILDE-RT a eficiencia do VFTD. O HTILDE-

RT, herda os tres parametros emin, τ e δ do VFDT e realiza o aprendizado de seus

modelos de forma bastante parecida com a do TILDE-RT, conforme e mostrado

adiante.

As arvores de regressao em logica de primeira ordem permitem o tratamento de

problemas de regressao em ILP de forma bastante direta, alem de terem a atraente

propriedade de manterem a interpretabilidade dos modelos, como as arvores de de-

cisao. Alem disso, tais modelos podem ter aplicacoes em diversas outras areas, por

exemplo: na representacao das tabelas de probabilidade condicionais das redes de

65

Page 80: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

dependencias relacionais (Relational Dependency Networks) [36]; e na representacao

de funcoes potenciais em campos condicionais aleatorios aplicados a problemas re-

lacionais [21].

Uma vez que os sistemas VFDT e TILDE/TILDE-RT ja foram explicados nos

capıtulos anteriores, o entendimento do HTILDE-RT fica bastante facilitado. Porem,

neste capıtulo, e explicado de forma mais detalhada as principais diferencas, bem

como argumentos teoricos por tras do HTILDE-RT sao providos.

5.1.2 Alteracao da heurıstica

Foi exposto que o TILDE-RT usa como heurıstica a reducao na soma dos qua-

drados das distancias, porem o limitante de Hoeffding precisa que a variavel obser-

vada esteja delimitada em um intervalo. Para tal, foi aplicada uma normalizacao a

heurıstica, dando origem a seguinte heurıstica modificada:

H(r, l) =SS(L)− (SS(N(r)) + SS(P(r))

SS(L)(5.1)

O teorema 5.1 garante que SS(L) ≥ SS(N(r)) + SS(P(r)), entao e valido que

0 ≤ H ≤ 1. Logo, e possıvel usar R = 1 na equacao do limitante de Hoeffding,

resultando em:

ε =

√ln(1/δ)

2n(5.2)

Vale reforcar que o Aprendizado por Interpretacoes garante a cobertura local dos

exemplos. Esta condicao permite o uso de amostragem uma vez que a cobertura de

um exemplo nao depende de outro.

A demonstracao de que a normalizacao delimita a heurıstica usada e provida.

Isto e importante para satisfazer as condicoes necessarias do limitante de Hoeffding.

Seja S ⊂ R e y ∈ R, entao a soma dos quadrados das distancias entre o valor y e os

elementos de S e dado por:

SS(y, S) =

|S|∑i=1

(y − yi)2 (5.3)

Observacao: Para simplificar, e cometida uma sobrecarga do functor SS/2. Porem,

somente no contexto desta demonstracao, o primeiro argumento refere-se a um

numero real, em vez de um refinamento.

Lema 5.1. SS(y, S) tem valor mınimo quando y = µ(S).

66

Page 81: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Prova 5.1. Tomando-se a primeira derivada vem que:

dSS(y, S)

dy=

|S|∑i=1

2(y − yi) = 2(|S|y −|S|∑i

yi)

Igualando a zero, vem:

2(|S|y −|S|∑i=1

yi) = 0→ y =

∑|S|i yi|S|

= µ(S) �

Teorema 5.1. Sejam S1 e S2 subconjuntos de S, tais que: S1∪S2 = S e S1∩S2 = ∅,entao: SS(S) ≥ SS(S1) + SS(S2)

Prova 5.2. Sejam: SS(S) = SS(µ(S), S); SS(S1) = SS(µ(S1), S1); e SS(S2) =

SS(µ(S2), S2).

Ocorre que: SS(µ(S), S) = SS(µ(S), S1) + SS(µ(S), S2).

Mas: SS(µ(S), S1) ≥ SS(µ(S1), S1), pois a media µ(S1) e o ponto que minimiza

SS(S1), e o analogo pode ser dito para SS(S2).

Entao: SS(S) = SS(µ(S), S1) + SS(µ(S), S2) ≥ SS(µ(S1), S1) + SS(µ(S2), S2).

Logo:

SS(S) ≥ SS(S1) + SS(S2) �

5.1.3 Tratamento de atributos numericos

O TILDE/TILDE-RT pode tratar os atributos numericos basicamente de duas

formas: 1) O usuario usa seu conhecimento sobre o domınio e fornece as constantes

candidatas ao particionamento; ou 2) Aplica um pre-processamento para determinar

tais constantes, que pode ser feito atraves de um processo de discretizacao, que pode

ser feito por um algoritmo de agrupamento (clustering), ou de simples coleta de todos

os valores que ocorrem nos dados (semelhante ao C4.5).

Posto isso, neste trabalho, foram fornecidas ao HTILDE-RT as constantes candi-

datas ao particionamento, visto que pre-processamento nao e adequado ao ambiente

de fluxos, pois apenas uma passada dos exemplos e possıvel. Alem disso, como ape-

nas conjuntos de dados sinteticos foram usadas, tais constantes eram conhecidas.

Suponha que o problema Milhas por Galao fosse tratado no HTILDE-RT.

Entao, um predicado aceleracao(Ex,A) poderia ter as constantes candidatas ao

particionamento com as seguintes declaracoes: rmode((aceleracao(+Ex,A), A <

#[10, 15, 20])). e rmode((aceleracao(+Ex,A), A > #[20]))..

A variavel +Ex indica que o identificador do exemplo e uma variavel de en-

trada, a variavel A sera unificada com a aceleracao do exemplo analisado, sendo

comparada atraves do operador < com as constantes 10 e 15 e atraves do operador

67

Page 82: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

> com a constante 20. Gerando os seguintes literais, que poderao ser acrescenta-

dos aos refinamentos: aceleracao(+Ex,A), A < 10, aceleracao(+Ex,A), A < 15,

aceleracao(+Ex,A), A < 20 e aceleracao(+Ex,A), A > 20.

E possıvel ainda usar uma forma mais avancada de declaracao dos rmodes. Tal

forma assemelha-se a estrategia do VFDT, em que uma certa quantidade de valores

que ocorrem nos exemplos de uma folha sao usados como limiares (threshold). A

construcao possui o seguinte padrao: “rmode(N : #(n*m*V : conj1, conj2 )).”, onde:

N - e o numero de vezes que a conjuncao conj2 pode ser usada em um caminho

entre a raiz e uma folha;

n - e o numero maximo de exemplos a ser considerado dentre os exemplos da folha;

m - e o numero maximo de ocorrencias do padrao conj1 por exemplos;

V - e uma lista de variaveis que ocorre em conj1, cujas unificacoes com os exemplos

retornam as possıveis constantes;

conj1 - e o padrao a ser procurado nos exemplos;

conj2 - e a conjuncao final, que podera ser acrescentadas aos refinamentos.

Por exemplo, se o problema MPG fosse adaptado ao formato das interpretacoes,

cada exemplo possuiria um fato sobre o atributo cilindradas: “cilindradas(X).”.

Entao, ao tentar refinar a raiz, a declaracao:

“rmode(1 : #(3 ∗ 1 ∗ C : cilindradas(C), (cilindradas(+X), X < C))).”;

implicaria que as conjuncoes: (cilindradas(+X), X < 429)), (cilindradas(+X), X <

454)), (cilindradas(+X), X < 455)); poderiam ser usadas nos refinamentos, cada

uma no maximo N = 1 vezes.

Ainda neste exemplo: o padrao conj1 = cilindradas(C) deve ser procurado nos

exemplos; os n = 3 primeiros exemplos sao usados para retornar possıveis valores de

C; apenas m = 1 ocorrencias por exemplo devem ser consideradas, maiores detalhes

sobre a geracao de constantes podem ser obtidos em [13].

5.1.4 Algoritmo

Antes de apresentar os algoritmos, e importante explicar a seguinte notacao:

cada folha l da arvore tem um contador contador[l], que armazena estatısticas glo-

bais dos exemplos observados no vetor contador[l].estatisticas. Este vetor guarda

as seguintes informacoes: a componente contador[l].estatisticas[0] conta o numero

de exemplos que ja passaram por l; a componente contador[l].estatisticas[1] ar-

mazena a soma dos valores do atributo alvo y nos exemplos de l; e a componente

contador[l].estatisticas[2] armazena a soma dos quadrados dos valores do atributo

alvo, i.e. y2. Portanto, uma vez que o algoritmo preditivo 5.3 usa o valor medio de

y como saıda para uma nova observacao que chegue em l, para computar a media

68

Page 83: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

em l basta usar: contador[l].estatisticas[1]/contador[l].estatisticas[0].

Alem disso, cada folha tem contadores adicionais associados a cada um de seus

possıveis refinamentos, denotados conforme a seguinte notacao: cada refinamento i

de uma folha l tem um contador para os exemplos que tem sucesso no teste de i:

contador[l][i][true].estatisticas; e, adicionalmente, um contador para os exemplos

que falham no teste de i: contador[l][i][false].estatisticas. Quando l e criada,

todos os seus contadores sao inicializados com a tripla 〈0, 0, 0〉, que significa: zero

exemplos, soma dos valores de y igual a zero e soma dos quadrados dos valores de y

igual a zero.

O pseudo-codigo do procedimento de inducao e mostrado no algoritmo 5.1.

Comeca-se com uma folha unica l1, a raiz, e sua consulta associada e a consulta

vazia, Q1 = true. Entao, atraves dos literais (ou conjuncoes) providas no vies de

linguagem do problema, todos os possıveis refinamentos sao gerados pelo operador

de refinamento ρ, o qual cria uma nova consulta para cada possibilidade de literal a

ser adicionado, linha 2. Uma vez que nenhum exemplos passou por l1, as estatısticas

globais, e de todos os refinamentos, sao inicializadas com 〈0, 0, 0〉, linhas 3 a 6.

Em seguida, os exemplos no fluxo S comecam a ser entregues, um a um, para o

modelo em aprendizado, linha 7. O exemplo e e levado ate uma folha da arvore, o

que e feito atraves da cobertura dos fatos que compoem sua interpretacao com as

consultas associadas de cada no presente no caminho entre a raiz e a folha adequada,

linha 8. No caso da raiz vazia, qualquer exemplo, inclusive e, tem sucesso na consulta

associada de l1, true.

Entao, as estatısticas globais de l1, contador[l1].estatisticas, sao atualizadas. Se

y e o atributo alvo de e, entao:

contador[l1].estatisticas[0] := contador[l1].estatisticas[0]+1;

contador[l1].estatisticas[1] := contador[l1].estatisticas[1]+y;

contador[l1].estatisticas[2] := contador[l1].estatisticas[2]+y2;

conforme a linha 12. A mesma atualizacao e feita nos contadores de cada refinamento

de acordo com a cobertura de e: Se Qi cobrir e, entao contador[l][i][true].estatisticas

e atualizado de forma semelhante, caso contrario, contador[l][i][false].estatisticas

e atualizado, linhas 13 a 17.

Este processo de cobertura e altamente otimizado pelo uso dos pacotes de

clausulas, pois numa folha todos os refinamentos possuem o mesmo prefixo (sua con-

sulta associada). Conforme a arvore cresce, a profundidade de suas folhas tambem

aumenta e o numero de literais nas respectivas consultas associadas tambem. Por-

tanto, a medida que o processo de aprendizado se desenvolve os, pacotes proporcio-

nam progressivamente mais economia.

Em cada momento que um novo exemplo chega em uma folha l, ela precisa

verificar se emin novos exemplos ja foram observados. Em outras palavras, ela verifica

69

Page 84: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

se ja pode recomputar as heurısticas para cada refinamento e verificar se pode haver

particionamento, linha 19. Caso nao tenham chegado exemplos suficientes, entao

simplesmente espera-se por mais, caso contrario, as heurısticas dos refinamentos

sao computadas usando a equacao 5.1. Em funcao do uso dos contadores, toda

informacao necessaria para tal tarefa esta prontamente disponıvel, linha 21.

Finalmente, deve-se verificar se a diferenca entre os dois melhores refinamentos

e maior que o limitante de Hoeffding, ou se e menor que o limiar de desempate τ . O

limitante e computado usando a equacao 5.2, que utiliza δ e o numero de exemplos

|El|, linhas 21 ate 26. Se uma das duas condicoes estiver satisfeita, entao a folha

sofrera particionamento e tornar-se-a um no interno cujo teste e Qa, senao a folha

devera esperar por mais emin novos exemplos ate que o processo de verificacao se

repita. A notacao |El| e usada para tornar a leitura mais clara, pois, na verdade,

basta consultar contador[l].estatisticas[0] para saber o numero de exemplos que

passaram por l.

O algoritmo do HTILDE-RT guarda semelhancas do HTILDE. De fato, as prin-

cipais mudancas no aprendizado estao: na heurıstica usada, que deve ser adequada

ao caso contınuo, e ao passo extra de normalizacao, que acarreta apenas o custo de

uma operacao extra de divisao; e no acumulo das estatısticas em vez de contagem

das classes.

A funcao FazParticionamento esta detalhada no algoritmo 5.2. Provida do me-

lhor refinamento e a consulta associada de l, a funcao primeiramente identifica a

conjuncao de literais que havia sido adicionada em Ql para gerar Qa. Esta e uma

tarefa facil, uma vez que Ql e prefixo de Qa, linha 1.

Em seguida, l e convertida em um no interno, cujo teste e conj, e seus contadores

sao descartados, linha 2.

Duas novas folhas sao criadas para cada ramo: a folha esquerda ficara associada

aos exemplos que tiverem sucesso no teste de seu pai, desta forma sua consulta asso-

ciada sera o melhor refinamento de seu pai (agora o teste do pai) e seus candidatos

a refinamentos sao obtidos atraves de ρ(Qa), linha 6; a folha da direita ficara associ-

ada aos exemplos que falham no teste Qa, porem a antiga consulta associada de l e

valida nestes exemplos (a antiga consulta associada de l, quando era uma folha, era

o teste de seu pai, que agora e avo da nova folha direita de l), portanto a consulta

associada da folha direita sera a mesma do avo Ql e seus refinamentos sao obtidos

por ρ(Ql), linha 8.

Note que este passo garante que novas variaveis que aparecam em Qa nao sao

propagadas ao ramo direito, isto e importante pois elas nao teriam significado para

os exemplos que caıssem nesta folha.

Alem disso, cada nova consulta tem seus contadores inicializados com a tupla

〈0, 0, 0〉, linhas 11 e 12. Finalmente, o novo modelo e retornado ao processo incre-

70

Page 85: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 5.1 Algoritmo HTILDE-RT, para inducao de uma arvores de regressaode logica de primeira ordem em fluxos de dados.Entradas:

S e um fluxo de exemplos (interpretacoes);ρ(.) e um operador de refinamento;Q um conjunto de possıveis refinamentos;H(.) uma funcao de heurıstica para avaliar os refinamentos;δ e um menos a probabilidade desejada de escolher

o teste correto em qualquer no;τ e o limiar de desempate definido pelo usuario;emin e o numero mınimo de exemplos entre cada computo das heurısticas.

Saıda: HTRT , uma arvore de regressao de logica de primeira ordem.Procedimento HTILDERT (S, H, δ, τ , emin)

1: Seja HTRT uma arvore com uma folha unica l1 (a raiz).2: Seja Q1 = ρ(← true).3: Faca contador[l1].estatisticas = 〈0, 0, 0〉.4: Para cada refinamento ← Qi ∈ Q1 {Inicializa raiz}5: Faca contador[l1][i][true].estatisticas = 〈0, 0, 0〉.6: Faca contador[l1][i][false].estatisticas = 〈0, 0, 0〉.7: Para cada exemplo e ∈ S {Entrega os exemplos para as folhas}8: Desca e ate a folha l usando HTRT .9: Seja ← Ql a consulta associada de l.

10: Seja Ql = ρ(← Ql).11: Seja y o atributo alvo de e12: Atualize contador[l].estatisticas com y.13: Para cada refinamento ← Qi ∈ Ql

14: Se ← Qi tem sucesso a partir de e ∧B, entao15: Atualize contador[l][i][true].estatisticas com y.16: Senao17: Atualize contador[l][i][false].estatisticas com y.18: Seja El o conjunto atual dos exemplos de l.19: Se |El| mod emin = 0, entao {Verifica possibilidade do split}20: Para cada refinamento ← Qi ∈ Ql21: Compute H(Qi, l) usando a equacao 5.1 e |El|22: Seja ← Qa o refinamento de maior H.23: Seja ← Qb o refinamento com o segundo maior H.24: Compute ε usando a equacao 5.2.25: Seja ∆H = H(Qa, l)−H(Qb, l).26: Se ∆H > ε ou ∆H ≤ ε < τ , entao27: FazParticionamento(HTRT , l, Qa, Ql).28: Retorne HTRT .

71

Page 86: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

mental de inducao.

Algoritmo 5.2 Funcao FazParticionamento, chamada pelo HTILDE-RT, cujopseudo-codigo e exibido no algoritmo 5.1.

Entradas:HTRT e a arvore de regressao de LPO a ser modificada;l e uma folha de HTRT que sofrera particionamento;Qa e o melhor refinamento para o no l;Ql e a consulta associada do no l.

Saıda: HTRT , que e a arvore de regressao de LPO que sofreu particionamento nono l.Funcao FazParticionamento (HTRT , l, Qa, Ql)

1: Seja conj = Qa −Ql.2: Substitua l por um no interno cujo teste e conj. {l vira um no interno}3: Para cada ramo do particionamento {Cria os novas folha}4: Adicione uma nova folha lm.5: Se lm e do ramo esquerdo, entao6: Faca Qm = ρ(← Qa).7: Senao (lm e do ramo direito)8: Faca Qm = ρ(← Ql).9: Seja contador[lm].estatisticas = 〈0, 0, 0〉. {Incializa novos contadores}

10: Para cada refinamento ← Qi ∈ Qm

11: Faca contador[lm][i][true].estatisticas = 〈0, 0, 0〉12: Faca contador[lm][i][false].estatisticas = 〈0, 0, 0〉13: Retorne HTRT .

O processo de predicao de exemplo e, cujo atributo alvo e nao observado,

esta mostrado no algoritmo 5.3. Ele consiste em fazer e percorrer a arvore ate

uma folha adequada l, linha 3, iterativamente testando o exemplo contra a con-

sulta associada de cada no no caminho da raiz a folha, linhas 4 a 9. As es-

tatısticas armazenadas no contador global da folha sao entao usadas para obter

o valor de saıda. O valor predito e o valor medio do atributo alvo observado

nos exemplos de treino que alcancaram l. Desta forma, a saıda e obtida por:

contador[l].estatisticas[1]/contador[l].estatisticas[0], linha 10.

72

Page 87: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Algoritmo 5.3 Algoritmo de predicao de um exemplo usando o HTILDE-RT

Entrada:e e um exemplo.

Saıda:y e a media que ficou guardada na folha alcancada por e.

Procedimento Prediz (e)

1: Seja Q a consulta Prolog true.2: Seja N o no raiz da arvore.3: Enquanto N nao for uma folha {Encaminha ‘e’ a folha adequada}4: Seja N = noInterno(conj, esq, dir).5: Se Q ∧ conj for verdadeira em e ∧B, entao {Monta consulta associada}6: Faca Q = Q ∧ conj.7: Faca N = esq.8: Senao9: Faca N = dir.

10: Faca y = contador[N ].estatisticas[1]/contador[N ].estatisticas[0]11: Retorne y. {Responde conforme o modelo preditivo}

5.1.5 Especificacao de um problema

Para especificar-se um problema a ser resolvido pelo HTILDE-RT, basta usar

os recursos ja explicados nas secoes anteriores. Para tal, deve-se acrescentar as

seguintes declaracoes no arquivo de configuracoes “.s” do problema:

1. Pedir a carga do modulo do HTILDE: load package(htilde).;

2. Determinar o predicado alvo e sua variavel de saıda:

predict(predicadoAlvo(+,...,-)).;

3. Determinar que deve ocorrer uma regressao: tilde mode(regression).;

4. Especificar o vies de linguagem atraves das declaracoes dos “rmodes” e dos

tipos;

5. Especificar os parametros δ, emin e τ , aqui exemplificados com seus

valores padrao:

(a) htilde delta(0.000001).

(b) htilde emin(300).

(c) htilde tau(0.05).

6. Determinar que a inducao deve ser feita com o HTILDE: exe-

cute(induce(htilde)).

Alem disso, deve-se prover o arquivos “.kb” que contem os exemplos, o arquivo

“.bg” com o conhecimento preliminar (opcional).

E possıvel ainda fazer uso de outras funcionalidades do sistema ACE (sistema do

qual tanto o TILDE quanto HTILDE fazem parte), como padroes de saıda para os

73

Page 88: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

modelos (formato de arvores C4.5 e/ou clausulas Prolog) uso de validacao cruzada,

dentre outros. Estas e mais funcionalidades estao detalhadas em [13].

5.1.6 Aspectos de implementacao

O HTILDE-RT foi implementado como parte do sistema ILP ACE. Embora

o HTILDE-RT tenha a facilidade de usar funcionalidades providas pelo sistema

ACE, tal sistema e um ambiente ILP generico, que suporta outros algoritmos de

aprendizado, nao sendo verdadeiramente otimizado para tratar dados infinitos. De

fato, o sistema armazena listas de inteiros que indexam os exemplos e muitas outras

informacoes que crescem na memoria conforme o numero de exemplos aumenta.

Portanto, dependendo do numero de exemplos, o sistema pode simplesmente

abortar por falta de memoria. Entao, sob um ponto de vista teorico, o HTILDE-

RT tem a capacidade de aprender de uma massa de dados potencialmente infinita,

porem, em termos praticos, o ambiente em que foi desenvolvido nao suporta tal tipo

de processamento.

Durante as tentativas de contornar tais limitacoes, interagiu-se diversas vezes

com os desenvolvedores do sistema ACE, que, apesar de proporcionarem enorme

ajuda com sistema, concluıram que tais limitacoes somente podem ser rompidas

numa implementacao dos algoritmos HTILDE/HTILDE-RT que seja independe do

sistema ACE.

5.2 Resultados Experimentais

Nesta secao, os resultados experimentais obtidos com o HTILDE-RT sao apre-

sentados. Na secao 5.2.1, e explicada a metodologia aplicada nos experimentos com

todos os problemas (conjuntos de dados). Na secao 5.2.2, cada problema e intro-

duzido e os respectivos resultados sao expostos e analisados. Os problemas sao

expostos na seguinte ordem: nas duas sub-secoes iniciais, sao apresentados dois pro-

blemas relacionais e resultados obtidos; e nas tres ultimas secoes, sao apresentados

os resultados em tres problemas proposicionais complementares.

5.2.1 Metodologia

Conforme constatado em [46], existe uma escassez de problemas de regressao

relacionais publicamente disponıveis. Durante o desenvolvimento deste trabalho,

foi constatado tambem que os conjuntos de dados proposicionais disponıveis nao

possuem uma quantidade de exemplos suficientemente grande que justifique o uso

do HTILDE-RT e tampouco um gerador de exemplos pode ser construıdo para

torna-los maiores.

74

Page 89: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Em funcao do exposto, cinco conjuntos artificiais foram utilizados. Construımos

programas geradores de exemplos para os dois conjuntos sinteticos relacionais intro-

duzidos em [46] e para tres conjuntos proposicionais adicionais: FRIEDMAN, MV

e 2D-Planes; que podem ser obtidos em [45].

Todos os conjuntos de dados foram gerados com 2 milhoes de exemplos. Cada

gerador foi implementado de acordo com as leis de formacao especıficas de cada

problema. Os estimadores das medidas de interesse foram obtidos atraves de va-

lidacao cruzada externa 5x2 [14]. As medidas de interesse coletadas foram: Tempo

de aprendizado em segundos, Tempo; tamanho das arvores em numero de nos, Nos ;

numero de literais na teoria, Literais ; coeficiente de correlacao de Pearson, Pearson;

e a raiz quadrada do erro quadratico medio, RMSE.

Adicionalmente, curvas de aprendizado foram tracadas da seguinte forma: o

conjunto de teste, cujo tamanho foi estabelecido em 100000 exemplos, foi fixado

e separado dos demais; em seguida, as medidas de interesse foram monitoradas

conforme numero de exemplos de treino foi aumentado.

Em relacao aos atributos contınuos, como os conjuntos usados sao sinteticos, os

limiares dos atributos contınuos eram facilmente determinaveis. Portanto, foram

fornecidos no vies de linguagem de cada problema. Alem disso, os valores dos

parametros do HTILDE-RT foram mantidos em configuracao padrao igual a do

VFDT [15]: emin = 300, δ = 10−6 e τ = 0, 05.

O algoritmo TILDE-RT foi usado para comparacao, com todos os seus

parametros deixados com os seus valores padrao. Convem citar que o HTILDE-

RT herda os parametros do TILDE-RT, excetuando criterios de parada e poda.

Adicionalmente, e importante salientar que ambos algoritmos funcionam dentro do

mesmo sistema ILP, ACE, o que torna a comparacao das medidas mais imunes a

elementos externos.

Apos a validacao externa, foi usado o teste t corrigido [35] [48], para verificar

se a diferenca entre as medidas obtidas pelos algoritmos eram estatisticamente sig-

nificativas. O valor de confianca do teste foi p = 0, 001, e as hipoteses alternativas

foram as seguintes:

1. O HTILDE-RT aprende os modelos mais rapido que o TILDE-RT;

2. O HTILDE-RT tem medidas de erro (Pearson/RMSE) melhores que o

TILDE-RT;

3. O HTILDE-RT produz modelos menores que o TILDE-RT;

enquanto que a hipotese nula do teste foi: Ambos algoritmos sao iguais.

Para mostrar que resultados melhores poderiam ser obtidos, foi usada validacao

interna 5x2 nos problemas relacionais Artificial1 e Artificial2. O procedimento ado-

75

Page 90: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

tado para validacao cruzada interna variou cada parametro de acordo com a seguinte

estrategia:

• emin foi variado no intervalo [150,Max], dobrando seu valor a cada passo. Max

e o numero maximo de exemplos na validacao interna;

• δ foi variado no intervalo [10−8, 10−1], sendo multiplicado por 10 a cada passo;

• τ foi variado no intervalo [0.1, 0.9], com passos de 0, 05, adicionalmente foram

usados os valores {0.01, 0.05, 0.95, 0.99}. 1

Cada parametro foi variado mantendo os dois restantes com seus valores padrao.

Os valores que obtiveram: baixo tempo de aprendizado e/ou baixo tamanho do

modelo e/ou baixo erro, foram selecionados para mais rodadas de validacao in-

terna. Nestas ultimas rodadas, todos os parametros foram variados de acordo com as

possıveis combinacoes geradas ao cruzar-se os valores promissores de cada parametro.

Convem deixar claro que o objetivo da validacao interna foi apenas demons-

trar que melhores resultados podem ser obtidos com um ajuste dos parametros do

HTILDE-RT. Entretanto, como nao foi realizada validacao interna para aprender os

parametros do TILDE-RT, nao seria justo confrontar os resultados obtidos apos a

validacao interna do HTILDE-RT com os resultados obtidos com os valores padrao

do TILDE-RT.

5.2.2 Conjuntos de dados

Artificial1

Este problema possui dois atributos independentes: x(X) e y(Y ), cujo argumento

e uma variavel real. Cada exemplo contem um fato sobre o predicado x/1 oito fatos

sobre o predicado y/1, que podem ser resumidos atraves de agregacoes. O valores

numericos foram obtidos de forma aleatoria, de uma distribuicao uniforme entre 0

e 10. O predicado alvo, t(T ), tem o valor de seu argumento determinado de acordo

com a funcao descrita na figura 5.1.

Adicionalmente, uma segunda versao deste conjunto de dados foi gerada

acrescentando-se ruıdo gaussiano (Artificial1* ), que consistiu na adicao de um valor

ao predicado alvo, sorteado aleatoriamente de uma distribuicao normal: N ∼ σ(0, 1).

Na tabela 5.1 estao expostos os resultados obtidos.

1Excepcionalmente neste paragrafo, o ponto foi usado como separador decimal para nao haverconfusao com a vırgula, que e usada nas representacoes de conjunto e intervalo

76

Page 91: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

x(X), X < 5?+sim : maxY |y(Y ) < 9?|+ sim : 4x(X) + 6avgY |y(Y )|+ nao : 3maxY |y(Y ) + 1+nao : avgY |y(Y ) < 4?|+ sim : 3x(X) + 4|+ nao : x(X)− 2maxY |y(Y ) + 3avgY |y(Y )

Figura 5.1: Predicado alvo para Artificial1

Tempos (s) Nos Literais Pearson RMSEArtificial1

TILDE-RT 2779,2 626,5 1253,0 1,00 1,49HTILDE-RT 533,9 208,5 417,0 1,00 1,53HTILDE-RT† 474,6 144,5 289,0 1,00 1,58

Artificial1*TILDE-RT 2756,6 560,5 1121,0 0,99 2,49

HTILDE-RT 534,3 205,0 410,0 0,99 2,53HTILDE-RT† 456,8 143,5 287,0 0,99 2,58

Tabela 5.1: Resultados para Artificial1

O HTILDE-RT foi cinco vezes mais rapido que o TILDE-RT e gerou um modelo

tres vezes menor, alem de nao demonstrar perda em relacao ao coeficiente de Pear-

son. De acordo com o teste t, estas diferencas foram estatisticamente significativas

para p < 0, 001. Entretanto, o HTILDE-RT obteve um discreto aumento no RMSE

de 2%.

O ruıdo afetou discretamente ambos algoritmos, porem de forma semelhante.

Uma discreta reducao no tamanho dos modelos, ou mesmo dos tempos, era espe-

rada. Este fenomeno se deve ao fato de ambos algoritmos terem que adiar suas

decisoes para melhor ajustarem-se aos dados, consumindo mais exemplos por parti-

cionamento.

Conforme dito, para mostrar que era possıvel melhorar os resultados, foi execu-

tada validacao interna, que obteve os parametros: emin = 2400, δ = 10−8 e τ = 0, 05.

Os resultados obtidos com tal configuracao estao mostrados nas entradas marcada

com HTILDE-RT†. A nova configuracao causou um aumento de 2% no RMSE,

entretanto uma reducao de ao menos 11% no tempo de inducao e 30% no tamanho

dos modelos sem afetar o coeficiente de Pearson.

A curva de aprendizado manteve o padrao apresentado em [28], mostrando que

o HTILDE-RT tem uma curva de aprendizado mais lenta, porem os resultados de

menor qualidade estao presentes nos conjuntos cuja quantidade de exemplos nao

justifica seu uso. Esta situacao pode ser contornada usando a tecnica de bootstrap

mostrada em [15]: treina-se um modelo com o algoritmo convencional usando uma

quantidade de pequena de exemplos, apos certo ponto evolui-se o modelo usando o

77

Page 92: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

tecnica de aprendizado para fluxos. Tal padrao de aprendizado foi verificado tanto

no conjunto original quanto no ruidoso. Convem notar que com 1000 exemplos, o

HTILDE-RT nem mesmo chegou a realizar particionamento (Note que o parametro

emin impoe que somente a cada 300 exemplos observados as heurısticas para os

refinamentos sejam recomputadas).

Nas tabelas 5.2 e 5.3 estao as curvas de aprendizado para ambos algoritmos, e

na Figura 5.2 ha um grafico para a evolucao do RMSE.

Tabela 5.2: Curva de Aprendizado para Artificial1#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE-RT1× 103 77,3 3,0 6,0 0,95 19,765× 103 78,1 5,0 10,0 0,96 17,801× 104 79,7 8,0 16,0 0,97 12,065× 104 94,3 47,0 94,0 0,99 2,671× 105 109,5 92,0 184,0 1,00 1,735× 105 298,9 256,0 512,0 1,00 1,531× 106 522,0 338,0 676,0 1,00 1,50

TILDE-RT1× 103 78,5 65,0 130,0 1,00 2,135× 103 83,7 121,0 242,0 1,00 1,641× 104 91,2 153,0 306,0 1,00 1,605× 104 146,1 268,0 536,0 1,00 1,531× 105 224,0 348,0 696,0 1,00 1,515× 105 1039,5 551,0 1102,0 1,00 1,491× 106 2352,2 634,0 1268,0 1,00 1,49

78

Page 93: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Tabela 5.3: Curva de Aprendizado para Artificial1*#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE-RT1× 103 77,8 3,0 6,0 0,95 20,865× 103 78,7 4,9 9,8 0,95 18,811× 104 80,1 8,0 16,0 0,97 13,065× 104 94,6 44,9 89,8 0,99 3,721× 105 108,7 84,3 168,5 0,99 2,765× 105 294,9 253,9 507,8 0,99 2,541× 106 517,1 345,9 691,8 0,99 2,51

TILDE-RT1× 103 78,9 52,1 104,3 0,99 3,345× 103 83,8 104,1 208,3 0,99 2,711× 104 90,3 133,6 267,3 0,99 2,635× 104 144,8 230,6 461,3 0,99 2,541× 105 218,9 294,5 589,0 0,99 2,525× 105 1028,1 477,6 955,3 0,99 2,501× 106 2343,1 563,4 1126,8 0,99 2,49

0

2

4

6

8

10

12

14

16

18

20

RM

SE

1x103

5x103

1x104

5x104

1x105

5x105

1x106

#Exemplos

Curvas de aprendizadoTILDE-RTHTILDE-RT

Figura 5.2: Artificial1 - Curvas de aprendizado

79

Page 94: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Artificial2

Este segundo problema possui tres atributos independentes: x(X), y(C, Y ) e

z(Z). Cada exemplo contem: um fato sobre os predicados x/1 e z/1, cujos ar-

gumentos sao reais e identicamente distribuıdos entre 0 e 10; e quinze fatos sobre

o predicado y/2, cujo primeiro argumento e booleano, gerado com probabilidades

P (C = true) = P (C = false) = 0, 5, e o segundo argumento e real e uniforme-

mente distribuıdo entre 0 e 10. Novamente, os atributos com fatos multiplos foram

tratados com agregacoes. O predicado alvo, t(T ), e gerado de acordo com a funcao

mostrada na figura 5.3.

x(X), X < 6?+sim : minY |y( , Y ) < 1?|+ sim : 2x(X) + 3maxY |y(true, Y ) + 3|+ nao : 2x(X) + 5minY |y( , Y )+nao : −2x(X) + z(Z)?

Figura 5.3: Predicado alvo para Artificial2

De forma semelhante ao Artificial1, gerou-se uma segunda versao do conjunto

de dados com ruıdo gaussiano, com distribuicao N ∼ σ(0, 1), que foi chamada de

Artificial2*. Na tabela 5.4 estao expostos os resultados obtidos.

Tempos (s) Nos Literais Pearson RMSEArtificial2

TILDE-RT 5453,6 302,0 604,0 0,99 1,44HTILDE-RT 974,5 204,5 409,0 0,99 1,46HTILDE-RT† 914,9 137,5 275,0 0,99 1,46

Artificial2*TILDE-RT 5437,3 272,5 544,0 0,99 2,44

HTILDE-RT 979,6 203,5 407,0 0,99 2,46HTILDE-RT† 897,9 138,5 277,0 0,99 2,46

Tabela 5.4: Resultado para Artificial2

Neste problema, o HTILDE-RT conseguiu um aprendizado ate 5, 6 vezes mais

rapido e gerou um modelo 33% menor, sem afetar o coeficiente de Pearson, signi-

ficancia p < 0, 001. Novamente o ruıdo afetou igualmente ambos algoritmos, e de

forma analoga ao exposto no Artificial1. O TILDE-RT foi melhor que o HTILDE-

RT em relacao ao RMSE, com p < 0, 001, porem com diferenca percentual de 1%.

Os valores para o coeficiente de Pearson tiveram o mesmo comportamento que no

Artificial1.

80

Page 95: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

O processo de validacao interna obteve os valores: emin = 2400, τ = 0.05 e δ =

10−8; cujo resultado esta indicado por HTILDE-RT†. Desta vez, a nova configuracao

nao causou impactos ao RMSE nem ao Pearson, porem reduziu em ate 8% o tempo

de inducao e em 32% o tamanho das arvores.

As curvas de aprendizado mantiveram padrao semelhante ao do Artificial1. Nas

tabelas 5.5 e 5.6 seguem as curvas das medidas colhidas para ambos conjuntos de

dados e na Figura 5.4 segue a curva de aprendizado do RMSE.

Tabela 5.5: Curva de Aprendizado para Artificial2#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE-RT1× 103 190,2 1,0 2,0 0,92 17,825× 103 192,1 6,0 12,0 0,98 5,721× 104 195,1 12,0 24,0 0,99 3,365× 104 214,4 57,0 114,0 0,99 1,691× 105 261,6 89,0 178,0 0,99 1,565× 105 570,7 249,0 498,0 0,99 1,461× 106 953,2 367,0 734,0 0,99 1,45

TILDE-RT1× 103 192,3 66,0 132,0 0,99 1,735× 103 200,0 100,0 200,0 0,99 1,531× 104 209,1 117,0 234,0 0,99 1,505× 104 292,4 163,0 326,0 0,99 1,451× 105 448,4 189,0 378,0 0,99 1,455× 105 2081,6 249,0 498,0 0,99 1,441× 106 4509,6 308,0 616,0 0,99 1,44

81

Page 96: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Tabela 5.6: Curva de Aprendizado para Artificial2*#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE-RT1× 103 191,3 1,0 2,0 0,92 18,825× 103 192,8 5,4 10,8 0,97 7,231× 104 195,9 11,4 22,8 0,98 4,555× 104 215,2 51,4 102,8 0,99 2,761× 105 262,1 88,5 177,0 0,99 2,565× 105 571,6 243,9 487,8 0,99 2,461× 106 955,9 365,1 730,3 0,99 2,45

TILDE-RT1× 103 192,9 50,0 100,0 0,99 2,925× 103 200,8 92,5 185,0 0,99 2,581× 104 209,6 105,4 210,8 0,99 2,535× 104 290,9 142,6 285,3 0,99 2,461× 105 444,6 168,1 336,3 0,99 2,455× 105 2081,7 239,0 478,0 0,99 2,441× 106 4498,2 286,6 573,1 0,99 2,44

0

2

4

6

8

10

12

14

16

18

RM

SE

1x103

5x103

1x104

5x104

1x105

5x105

1x106

#Exemplos

Curvas de aprendizadoTILDE-RTHTILDE-RT

Figura 5.4: Artificial2 - Curvas de aprendizado

82

Page 97: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

FRIED Artificial Domain

Este problema proposicional foi introduzido por Friedman em [19]. Cada exemplo

possui dez atributos (predicados) reais independentes, xi | i ∈ {1, ..., 10}, todos

obtidos com distribuicao uniforme no intervalo [0, 1]. O atributo (predicado) alvo,

y, e obtido atraves da equacao 5.4. Mais informacoes sobre este problema podem

ser obtidas em [45]

y = 10 ∗ sin(πx1x2) + 20(x3 − 0.5)2 + 10x4 + 5x5 + σ(0, 1) (5.4)

A adaptacao da estrutura deste conjunto de dados para interpretacoes de logica

de primeira ordem e bastante direta. Cada atributo xi torna-se um predicado unario

xi(Xi), cujo argumento e o valor numerico do atributo xi, e a mesma conversao e

feita para gerar o atributo alvo y(Y ). Alem disso, nao ha conhecimento preliminar

(background knowledge).

Este problema, embora proposicional, tem a propriedade atrativa de o atributo

alvo ser gerado atraves de uma funcao nao trivial. Alem disso, e considerado um

problema de referencia para testar algoritmos (benchmark). Os resultados para o

conjunto de dados FRIED sao expostos na tabela 5.7

Tempo (s) Nos Literais Pearson RMSETILDE-RT 118850,8 40376,0 80752,0 0,94 1,48

HTILDE-RT 457,5 260,0 520,0 0,94 1,51

Tabela 5.7: FRIED : FRIEDMAN

Neste problema o HTILDE-RT obteve resultados expressivamente melhores, p <

0, 001, chegando a aprender 260 vezes mais rapido com modelos 155 vezes menores,

mantendo o mesmo coeficiente de Pearson e RMSE discretamente aumentado em

2%.

O tamanho excessivo dos modelos do TILDE-RT esta provavelmente relacionado

a super-adaptacao (overfitting), pois os modelos com grandes numeros de literais/nos

sugerem uma tentativa de “memorizacao” dos exemplos de treino. Ja o HTILDE-

RT, por realizar o aprendizado atraves da inspecao de pequenas amostras, torna-se

menos sensıvel a este efeito.

O grande numero de nos/literais tambem manifestou-se nas curvas de aprendi-

zado. Note que a ordem de grandeza do tamanho dos modelos do HTILDE-RT variou

em mesma escala que a variacao do numero de exemplos, enquanto o TILDE-RT

teve um crescimento mais elevado no tamanho de seus modelos. Seguem as curvas

na tabela 5.8 e o grafico do RMSE na Figura 5.5.

83

Page 98: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Tabela 5.8: Curva de aprendizado para o problema FRIED#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE1× 103 64,4 1,0 2,0 0,67 7,695× 103 65,0 3,0 6,0 0,75 5,951× 104 66,3 7,0 14,0 0,82 4,495× 104 76,6 39,6 79,1 0,91 2,401× 105 95,2 79,2 158,4 0,93 1,935× 105 263,0 391,3 782,7 0,95 1,421× 106 487,1 817,0 1634,0 0,95 1,34

TILDE1× 103 71,4 201,7 403,3 0,89 3,065× 103 122,9 877,3 1754,7 0,91 2,371× 104 217,8 1534,9 3069,8 0,92 2,145× 104 1807,5 5507,3 11014,7 0,93 1,831× 105 5009,2 9119,6 18239,1 0,94 1,735× 105 47983,2 26795,4 53590,9 0,94 1,521× 106 114462,3 40999,1 81998,2 0,95 1,45

84

Page 99: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

1

2

3

4

5

6

7

8

RM

SE

1x103

5x103

1x104

5x104

1x105

5x105

1x106

#Exemplos

Curvas de aprendizadoTILDE-RTHTILDE-RT

Figura 5.5: FRIED - Curvas de aprendizado

MV Artificial Domain

Este e outro conjunto de dados artificial proposicional. Os exemplos contem

dez atributos, xi | i ∈ {1, ..., 10}, interdependentes. A maneira como os valores do

atributos sao gerados, bem como a atributo alvo, y, esta exposta na figura 5.6. O

processo para conversao deste conjunto para interpretacoes e o mesmo usado no

problema FRIED. Mais informacoes sobre este problema podem ser obtidas em [45].

Embora proposicional, este problema possui duas propriedades atrativas: a pri-

meira e o fato de a funcao que gera o atributo alvo ser um conjunto de regras com

formato proximo ao de uma arvore; e a segunda e o fato de os atributos preditivos

estarem relacionados entre si. Os resultados obtidos para o MV estao expostos na

tabela 5.9.

Tempo (s) Nos Literais Pearson RMSETILDE-RT 1706,1 1230,5 2425,5 0,99 24,76

HTILDE-RT 354,2 230,0 453,0 0,99 24,95

Tabela 5.9: Resultados para MV

O HTILDE-RT conseguiu aprender 4, 8 vezes mais rapido com modelos 5, 3 vezes

menores, p < 0, 001, porem com um discreto aumento de 0, 7% no RMSE.

Em relacao as curvas de aprendizado, o HTILDE-RT obteve uma curva mais

lenta nos conjuntos de dados menores, fato evidenciado principalmente pelo maior

valor no RMSE. Porem, apos 100000 exemplos o padrao de aprendizado seguiu o

85

Page 100: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Geracao dos atributos:x1 : uniformemente distribuıdo em [−5, 5]x2 : uniformemente distribuıdo em [−15,−10]x3 : se (x1 > 0) entao x3 = verde

senao x3 = vermelho com prob. 0, 4 e x4 = marrom com prob. 0, 6x4 : se (x3 = verde) entao x4 = x1 + 2x2

senao x4 = x1/2 com prob. 0, 3, e x4 = x2/2 com prob. 0, 7x5 : uniformemente distribuıdo em [−1, 1]x6 : x6 = x4 ∗ ε, onde ε e uniformemente distribuıdo em [0, 5]x7 : x7 = sim com prob. 0, 3 e x7 = nao com prob. 0, 7x8 : se (x5 < 0.5) entao x8 = normal senao x8 = grandex9 : uniformemente distribuıdo em [100, 500]x10 : inteiro uniformemente distribuıdo em [1000, 1200]

Para obter y, usar as seguintes regras:se (x2 > 2) entao y = 35− 0.5x4

senao se (−2 <= x4 <= 2) entao y = 10− 2x1

senao se (x7 = sim) entao y = 3− x1/x4

senao se (x8 = normal) entao y = x6 + x1

senao y = x1/2

Figura 5.6: Gerador do conjunto de dados MV

mesmo dos demais problemas. Adicionalmente, o coeficiente de Pearson mostrou

evolucao parecida com a obtida no FRIED. A tabela 5.10 mostra, entao, as curvas

de aprendizado para o conceito MV, alem disso o grafico do RMSE esta exposto na

figura 5.7.

86

Page 101: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Tabela 5.10: Curva de Aprendizado para MV#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE1× 103 66,1 1,0 2,0 0,50 708,425× 103 67,1 4,0 6,1 0,73 467,321× 104 67,4 8,5 12,9 0,92 136,325× 104 78,2 39,1 73,0 0,99 27,521× 105 86,4 81,4 155,9 0,99 25,975× 105 219,5 367,9 723,9 0,99 25,121× 106 388,7 704,4 1387,1 0,99 25,03

TILDE1× 103 69,2 126,4 240,1 0,98 33,955× 103 76,4 273,6 530,1 0,99 28,191× 104 82,1 362,0 704,8 0,99 27,075× 104 122,3 654,8 1282,4 0,99 25,691× 105 160,4 810,6 1594,0 0,99 25,325× 105 609,3 1104,4 2169,5 0,99 24,921× 106 1348,5 1205,4 2368,8 0,99 24,84

0

100

200

300

400

500

600

700

800

RM

SE

1x103

5x103

1x104

5x104

1x105

5x105

1x106

#Exemplos

Curvas de aprendizadoTILDE-RTHTILDE-RT

Figura 5.7: MV - Curvas de aprendizado

87

Page 102: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

2D-Planes

Este problema e similar, porem nao igual, ao descrito em [10]. Cada exemplo

possui 10 variaveis independentes, Xi | i ∈ {1, ..., 10}, e uma variavel dependente Y .

O valor das variaveis preditivas sao gerados de forma independente de acordo com

as probabilidades na figura 5.2.2.

Formacao dos atributos:P (x1 = 1) = P (x1 = −1) = 1

2;

P (xm = 1) = P (xm = 0) = P (xm = −1) = 13,m ∈ {2, ..., 10};

A variavel dependente, y, e entao formada atraves da equacao:

y =

{3 + 3x2 + 2x3 + x4 + σ(0, 1), se x1 = 1

−3 + 3x5 + 2x6 + x7 + σ(0, 1), se x1 = −1

Figura 5.8: Gerador do conjunto de dados 2D-Planes

Este problema e mais simples em relacao aos demais usados. Esta caracterıstica e

interessante, pois permite verificar se o HTILDE-RT consegue adaptar-se aos dados

tao rapidamente quanto o TILDE-RT. Devido a menor complexidade do conceito,

era esperado que o TILDE-RT adaptar-se-ia rapidamente e que o HTILDE-RT con-

seguisse RMSE bem mais proximo ao do TILDE-RT.

Tempo (s) Nos Literais Pearson RMSETILDE-RT 609,0 144,5 289,0 0,97 1,00

HTILDE-RT 259,1 201,5 402,0 0,97 1,00HTILDE-RT† 199,6 113,0 226,0 0,97 1,00

Tabela 5.11: Resultados para 2D-Planes

O HTILDE-RT conseguiu um aprendizado 2, 5 vezes mais rapido, sem perdas em

relacao ao coeficiente de Pearson e no RMSE, p < 0, 001, conseguindo convergencia

nas duas medidas. Porem, o modelo gerado ficou 40% maior que o TILDE-RT.

A ausencia de perdas no RMSE evidenciou o fato esperado de que o HTILDE-RT

conseguiria maior proximidade com os resultados do TILDE-RT, o que foi alcancado

nos experimentos, com uma convergencia rapida.

Para mostrar que e possıvel melhorar os modelos aprendidos, aplicou-se dire-

tamente a configuracao dos parametros obtida na validacao interna do Artificial2

(resultados indicados por HTILDE-RT†). A nova parametrizacao conseguiu 23%

de reducao no tempo de aprendizado e 43% no tamanho das arvores, sem afetar as

medidas de qualidade (Pearson e RMSE).

88

Page 103: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

A intuicao para o uso de tal configuracao foi a mesma no Artificial2 : com

emin maior o algoritmo faria menos computos da heurıstica, logo espera-se alguma

reducao no tempo de inducao; e com δ menor, o algoritmo tornar-se-ia mais rigo-

roso, causando uma reducao na quantidade de particionamentos, levando a modelos

menores. Entretanto, nao foi gerada por validacao interna deste problema, e isto

abre a possibilidade de que melhores resultados ainda podem ser obtidos.

A tabela 5.12 mostra o aprendizado neste problema e a Figura 5.9 expoe a curva

de aprendizado relativa ao RMSE.

Tabela 5.12: Curva de Aprendizado para 2D-Planes#Exemplos Tempo (s) Nos Literais Pearson RMSE

HTILDE-RT1× 103 52,5 1,0 2,0 0,68 10,495× 103 53,2 3,0 6,0 0,84 5,841× 104 53,5 7,0 14,0 0,90 3,685× 104 58,8 37,3 74,5 0,97 1,171× 105 67,1 70,1 140,3 0,97 1,015× 105 156,6 269,1 538,3 0,97 1,001× 106 268,4 479,1 958,3 0,97 1,00

TILDE-RT1× 103 54,4 97,1 194,3 0,96 1,385× 103 56,3 137,1 274,3 0,97 1,101× 104 56,8 133,0 266,0 0,97 1,055× 104 65,1 139,5 279,0 0,97 1,011× 105 75,2 139,5 279,0 0,97 1,015× 105 285,9 140,8 281,5 0,97 1,001× 106 606,3 140,3 280,5 0,97 1,00

89

Page 104: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

0

2

4

6

8

10

12

RM

SE

1x103

5x103

1x104

5x104

1x105

5x105

1x106

#Exemplos

Curvas de aprendizadoTILDE-RTHTILDE-RT

Figura 5.9: 2D-Planes - Curvas de aprendizado

90

Page 105: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Capıtulo 6

Conclusao

Neste trabalho, foi desenvolvido e implementado o HTILDE-RT que e um al-

goritmo de programacao em logica indutiva escalavel para grandes bases de dados

relacionais e tratamento de fluxos de dados (streams). Este e uma extensao do

HTILDE para tratar problemas de regressao que utiliza arcabouco da ILP aliado a

eficiencia da amostragem empregando o limitante de Hoeffding em problemas rela-

cionais de regressao representados atraves do formato de interpretacoes.

Adicionalmente, uma alteracao da heurıstica foi utilizada para contemplar as

condicoes necessarias para a validade do limitante de Hoeffding, bem como foi enun-

ciado um corolario que estende a validade do comportamento assintotico das arvores

de Hoeffding para o aprendizado por interpretacoes. Complementarmente, resulta-

dos obtidos com a base de dados real CORA foram melhorados.

Experimentos em cinco grandes bases de dados artificiais foram realizados, onde

duas bases sao relacionais e as demais proposicionais, porem com propriedades inte-

ressantes para analise do comportamento do algoritmo. Os resultados sugerem uma

boa troca entre eficiencia e acuracia, pois o HTILDE-RT conseguiu aprendizado de

2.4 ate 260 vezes mais rapido, com uma perda maxima de 2% na medida RMSE e

sem perdas no coeficiente de Pearson. Alem disso, na grande maioria dos problemas

o HTILDE-RT foi capaz de aprender modelos menores e, mesmo quando modelos

maiores foram gerados, uma alteracao intuitiva dos parametros conseguiu reduzir os

tamanhos dos modelos sem causar grande perda nas demais medidas.

Com os resultados obtidos nos problemas Artificial1 e Artificial2, este trabalho

deu origem a um artigo publicado no XX Encontro Nacional de Inteligencia Artificial

(ENIA 2011) [31]. Em sequencia, dispondo de todos os resultados com os demais

problemas, um novo artigo foi confeccionado, para ser submetido a uma conferencia

internacional [32].

91

Page 106: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

6.1 Trabalhos Futuros

Nesta secao esta enumerada uma lista de trabalhos futuros potencialmente de-

sejaveis. Segue:

1. Aprimorar o tratamento de atributos contınuos para fluxos de dados, atraves

da aplicacao das arvores binarias de busca estendidas conforme [24];

2. Embora aproveite muitas das funcionalidades do sistema ACE, tal sistema e

generico e comporta varios algoritmos de aprendizado ILP, nao sendo adequa-

damente preparado para o tratamento de fluxos. Deste modo, o HTILDE-RT

sofre limitacoes em funcao de certos gargalos que o sistema apresenta. Entao,

e desejada elaboracao uma implementacao do HTILDE-RT de forma indepen-

dente do sistema ACE;

3. Obter bases de dados relacionais reais, com potenciais problemas de regressao,

a fim de realizar experimentos com o HTILDE-RT em tais bases;

4. O HTILDE-RT possui aplicacao potencial para a area de aprendizado relaci-

onal estatıstico (SRL - Statistical Relational Learning), como no aprendizado

das funcoes potenciais quando campos aleatorios condicionais sao usados em

problemas relacionais (TILDE-CRF [21]), ou mesmo no aprendizado das dis-

tribuicoes condicionais nas redes de dependencia relacionais (RDN - Relational

Dependency Networks [36]);

5. Comparar diretamente outros sistemas propostos para fluxos de dados com o

HTILDE-RT, como o VFDT e o FIMT, em bases de dados relacionais;

6. Adaptar o HTILDE-RT para o aprendizado de arvores-modelo (model trees)

[24] [38] [46];

7. Prover suporte a fluxos com mudanca da distribuicao (concept drifts) [23].

92

Page 107: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

Referencias Bibliograficas

[1] AGGARWAL, C., 2007, “An Introduction to Data Streams”. In: Aggarwal,

C. C., Elmagarmid, A. K. (Eds.), Data Streams: Models and Algorithms,

v. 31, The Kluwer International Series on Advances in Database Systems,

Springer US, pp. 1–8.

[2] BLOCKEEL, H., DEHASPE, L., DEMOEN, B., et al., 2002, “Improving the

efficiency of inductive logic programming through the use of query packs”,

Journal of Artificial Intelligence Research, v. 16, pp. 135–166.

[3] BLOCKEEL, H., 1998, Top-down Induction of First Order Logical Decision

Trees. Tese de Doutorado, Katholieke Universiteit Leuven, December.

[4] BLOCKEEL, H., RAEDT, L. D., 1998, “Top-Down Induction of First-Order

Logical Decision Trees”, Artificial Intelligence, v. 101, n. 1-2, pp. 285–

297.

[5] BLOCKEEL, H., RAEDT, L. D., JACOBS, N., et al., 1999, “Scaling Up Induc-

tive Logic Programming by Learning from Interpretations”, Data Mining

and Knowledge Discovery, v. 3, n. 1, pp. 59–93.

[6] BLOCKEEL, H., DEHASPE, L., RAMON, J., et al., 2009. “Cora data set”.

http://dtai.cs.kuleuven.be/ACE/data/cora.zip.

[7] BONGARD, M. M., 1970, Pattern Recognition. Spartan Books.

[8] BOSTROM, H., 1995, “Covering vs. Divide-and-Conquer for Top-Down Induc-

tion of Logic Programs”. In: Proceedings of the Fourteenth International

Joint Conference on Artificial Intelligence, pp. 1194–1200. Morgan Kauf-

mann.

[9] BRATKO, I., MUGGLETON, S., 1995, “Applications of inductive logic pro-

gramming”, Communications of the ACM, v. 38, n. 11, pp. 65–70. ISSN:

0001-0782. doi: http://doi.acm.org/10.1145/219717.219771.

[10] BREIMAN, L., FRIEDMAN, J. H., OLSHEN, R. A., et al., 1984, Classification

and Regression Trees. Chapman & Hall, New York, NY.

93

Page 108: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

[11] DE RAEDT, L., DZEROSKI, S., 1994, “First order jk-clausal theories are

PAC-learnable”, Artificial Intelligence, v. 70, pp. 375–392.

[12] DE RAEDT, L., 1998, “Attribute-value learning versus inductive logic pro-

gramming: The missing links”. In: Page, D. (Ed.), Inductive Logic Pro-

gramming, v. 1446, Lecture Notes in Computer Science, Springer Ber-

lin / Heidelberg, pp. 1–8. ISBN: 978-3-540-64738-6. Disponıvel em:

<http://dx.doi.org/10.1007/BFb0027304>. 10.1007/BFb0027304.

[13] DEHASPE, L., RAMON, J., STRUYF, J., et al., 2005, The ACE Data Mining

System - User’s Manual, December.

[14] DIETTERICH, T. G., 1998, “Approximate Statistical Test For Comparing Su-

pervised Classification Learning Algorithms”, Neural Computation, v. 10,

n. 7, pp. 1895–1923.

[15] DOMINGOS, P., HULTEN, G., 2000, “Mining high-speed data streams”. In:

Knowledge Discovery and Data Mining, pp. 71–80.

[16] DOMINGOS, P., HULTEN, G., 2003, “A General Framework for Mining

Massive Data Stream”, Journal of Computational and Graphical Sta-

tistics, v. 12, pp. 945–949. Disponıvel em: <citeseer.ist.psu.edu/

hulten02mining.html>.

[17] Dzeroski, Lavrac (Eds.), 2001, Relational Data Mining. Berlin, SV. ISBN:

3-540-42289-7.

[18] FRANK, A., ASUNCION, A., 2010. “UCI Machine Learning Repository”.

Disponıvel em: <http://archive.ics.uci.edu/ml>.

[19] FRIEDMAN, J. H., 1991, “Multivariate Adaptive Regression Splines”, Annals

of Statistics, v. 19, pp. 1–67. doi: 10.1214/aos/1176347963.

[20] GAMA, J., 2003, “Accurate decision trees for mining high-speed data streams”.

In: In Proc. SIGKDD, pp. 523–528. ACM Press.

[21] GUTMANN, B., KERSTING, K., 2006, “TildeCRF: Conditional random fields

for logical sequences”. In: In Proceedings of the 15th European Conference

on Machine Learning (ECML-06, pp. 174–185. Springer.

[22] HOEFFDING, W., 1963, “Probability inequalities for sums of bounded random

variables”, v. 58, pp. 13–30.

94

Page 109: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

[23] HULTEN, G., SPENCER, L., DOMINGOS, P., 2001, “Mining Time-Changing

Data Streams”. In: Proceedings of the Seventh ACM SIGKDD Internati-

onal Conference on Knowledge Discovery and Data Mining, pp. 97–106,

San Francisco, CA. ACM Press.

[24] IKONOMOVSKA, E., , GAMA, J., et al., 2011, “Learning model trees from

evolving data streams”, Data Mining and Knowledge Discovery, v. 23,

n. 1, pp. 128–168. ISSN: 1384-5810.

[25] JENSEN, D., NEVILLE, J., 2002, “Autocorrelation and linkage cause bias

in evaluation of relational learners”. In: In Proceedings of the Twelfth

International Conference on Inductive Logic Programming, pp. 101–116.

Springer.

[26] KARALIC, A., BRATKO, I., 1997, “First Order Regression”, Machine Lear-

ning, v. 26, n. 2-3, pp. 147–176.

[27] KRAMER, S., 1996, “Structural Regression Trees”. In: Proceedings of the Thir-

teenth National Conference on Artificial Intelligence (AAAI-96), pp. 812–

819, Cambridge/Menlo Park. AAAI Press/MIT Press.

[28] LOPES, C., ZAVERUCHA, G., 2009, “HTILDE: scaling up relational deci-

sion trees for very large databases”. In: Proceedings of the 2009 ACM

Symposium on Applied Computing (SAC), Honolulu, Hawaii, USA, pp.

1475–1479.

[29] MCCALLUM, A., NIGAM, K., RENNIE, J., et al., 1999, “Building domain-

specific search engines with machine learning techniques”. In: Proc.

AAAI-99 Spring Symposium on Intelligent Agents in Cyberspace, 1999.

[30] MEHTA, M., AGRAWAL, R., RISSANEN, J., 1996, “SLIQ: A Fast Scalable

Classifier for Data Mining”. In: Apers, P. M. G., Bouzeghoub, M., Gar-

darin, G. (Eds.), Advances in Database Technology - EDBT 96, 5th Inter-

national Conference on Extending Database Technology, Avignon, France,

March 25-29, 1996, Proceedings, v. 1057, Lecture Notes in Computer Sci-

ence, pp. 18–32. Springer. ISBN: 3-540-61057-X.

[31] MENEZES, G., ZAVERUCHA, G., 2011, “HTILDE-RT: Um algoritmo para

aprender Arvores de Regressao Relacionais em grandes conjuntos de da-

dos”, VIII Encontro Nacional de Inteligencia Artificial, pp. 430–442.

[32] MENEZES, G., ZAVERUCHA, G., 2011, “HTILDE-RT: A first order logic

regression tree learner for relational data streams”, a ser submetido.

95

Page 110: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

[33] MITCHELL, T., 1997, Machine Learning. New York, McGraw-Hill.

[34] MUGGLETON, S., RAEDT, L. D., 1994, “Inductive Logic Programming: The-

ory and Methods”, Journal of Logic Programming, v. 19/20, pp. 629–679.

[35] NADEAU, C., BENGIO, Y., 2003, “Inference for the Generalization Error”,

Machine Learning, v. 52, n. 3, pp. 239–281.

[36] NEVILLE, J., JENSEN, D., CHICKERING, M., 2007, “Relational dependency

networks”, Journal of Machine Learning Research, v. 8, pp. 2007.

[37] NIENHUYS-CHENG, S.-H., DE WOLF, R., 1997, Foundations of Induc-

tive Logic Programming, v. 1228, LNAI. SV. ISBN: 3-540-62927-0.

Disponıvel em: <http://www.springer.de/cgi-bin/search_book.pl?

isbn=3-540-62927-0>.

[38] POTTS, D., SAMMUT, C., 2005, “Incremental Learning of Linear Model

Trees.” Machine Learning, pp. 5–48.

[39] QUINLAN, J. R., 1992, “Learning With Continuous Classes”. In: 5th Austra-

lian Joint Conference on Artificial Intelligence, pp. 343–348, Singapore.

World Scientific.

[40] QUINLAN, J. R., 1986, “Induction of Decision Trees”, Machine Learning, v. 1,

n. 1, pp. 81–106.

[41] QUINLAN, J. R., 1993, C4.5: Programs for Machine Learning. Morgan Kauf-

mann.

[42] RAEDT, L., 2008, Logical and relational learning. Cognitive Technologies.

Springer. ISBN: 978-3-540-20040-6.

[43] RAEDT, L. D., 1997, “Logical settings for concept-learning”, Artificial In-

telligence, v. 95, n. 1, pp. 187–201. ISSN: 0004-3702. doi: http:

//dx.doi.org/10.1016/S0004-3702(97)00041-6.

[44] SRINIVASAN, A., 1999, “A study of two sampling methods for analysing large

datasets with ILP”, Data Mining and Knowledge Discovery, v. 3, n. 1,

pp. 95–123.

[45] TORGO, L. “Regression Datasets”. http://www.liaad.up.pt/~ltorgo/

Regression/DataSets.html.

[46] VENS, C., RAMON, J., BLOCKEEL, H., 2006, “ReMauve: A Relational Mo-

del Tree Learner.” In: Muggleton, S., Otero, R. P., Tamaddoni-Nezhad,

96

Page 111: HTILDE-RT: Um algoritmo de aprendizado de árvores de ...objdig.ufrj.br/60/teses/coppe_m/GlauberMarciusCardosoMenezes.pdf · son Cardoso Menezes, ... Renan Marcolino, Vin cius Ferreira,

A. (Eds.), ILP, v. 4455, Lecture Notes in Computer Science, pp. 424–438.

Springer. ISBN: 978-3-540-73846-6.

[47] WIRTH, J., CATLETT, J., 1988, “Experiments on the Costs and Benefits of

Windowing in ID3”. In: ML, pp. 87–99.

[48] WITTEN, I. H., FRANK, E., 2005, Data Mining: Practical Machine Learning

Tools and Techniques. Morgan Kaufmann Series in Data Management

Sys. Morgan Kaufmann. ISBN: 0120884070.

97