05.08.2013 Views

ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA

ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA

ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

<strong>ID3</strong>-<strong>RMF</strong>: <strong>UM</strong> <strong>ALGORITMO</strong> <strong>DE</strong> <strong>APRENDIZADO</strong> <strong>INDUTIVO</strong> <strong>DE</strong> MÁQUINA<br />

BASEADO EM FUNÇÕES <strong>DE</strong> PERTINÊNCIA APROXIMADA<br />

Junior Assis Barreto Bernardes ∗ , Joaquim Quinteiro Uchôa ∗<br />

∗ Departamento de Ciência da Computação<br />

Universidade Federal de Lavras - UFLA<br />

Caixa Postal 3037 - CEP 37.200-000 - Lavras (MG)<br />

jrassis@comp.ufla.br, joukim@ginux.ufla.br<br />

Abstract— The Rough Sets Theory has been used in various areas of research, especially those related to<br />

knowledge reasoning and machine learning. This work describes the possibility of using rough membership<br />

functions (an extension of the classical membership functions in the context of rough sets) to help and model the<br />

construction of machine learning algorithms and representation of uncertainty.<br />

Keywords— Machine Learning, Knowledge-Based Systems, Rough Set Theory, Rough Membership Functions.<br />

Resumo— A Teoria de Conjuntos Aproximados tem sido utilizada em várias áreas de pesquisa, principalmente<br />

naquelas relacionadas com representação de conhecimento e aprendizado de máquina. Este trabalho descreve a<br />

possibilidade do uso de funções de pertinência aproximada (uma extensão das funções de pertinência clássicas<br />

no contexto de conjuntos aproximados) para auxiliar e modelar a construção de algoritmos de aprendizado de<br />

máquina e representação de incerteza.<br />

Palavras-chave— Aprendizado de Máquina, Sistemas Baseados em Conhecimento, Teoria de Conjuntos Aproximados,<br />

Funções de Pertinência Aproximada.<br />

1 Introdução<br />

A Teoria de Conjuntos Aproximados (TCA)<br />

foi proposta por Pawlak (1982), como um novo<br />

modelo matemático para representação do conhecimento,<br />

tratamento de incerteza e classificação<br />

aproximada. Em (Uchôa, 1998) pode ser verificado<br />

que a TCA pode ser utilizada com sucesso<br />

na implementação de métodos de representação de<br />

conhecimento incerto, bem como um formalismo<br />

matemático subsidiando aprendizado de máquina.<br />

A TCA não necessita e nem leva em conta<br />

qualquer tipo de informação a respeito dos dados.<br />

Porém, ela é capaz de representar apenas um<br />

tipo de incerteza: a indiscernibilidade, que ocorre<br />

quando dois ou mais elementos são indistinguíveis<br />

à luz do conhecimento disponível sobre eles.<br />

Este trabalho descreve a utilização do formalismo<br />

para a representação de incerteza proporcionado<br />

pela TCA, mais precisamente as funções<br />

de pertinência aproximada, na construção de um<br />

novo algoritmo de aprendizado de máquina para<br />

montagem de uma árvore de decisão.<br />

O artigo está organizado da seguinte forma:<br />

na Seção 2 são apresentados os conceitos básicos<br />

de Sistemas Baseados em Conhecimento e de<br />

Aprendizado de Máquina; na Seção 3 são apresentados<br />

os principais conceitos e medidas da TCA;<br />

na Seção 4 são apresentados alguns trabalhos relacionados<br />

com o tema; na Seção 5 são apresentados<br />

as características e os passos do algoritmo<br />

proposto; na Seção 6 são apresentados alguns testes<br />

efetuados com o algoritmo e seus respectivos<br />

resultados; por fim, na Seção 7 são apresentadas<br />

as conclusões do trabalho realizado.<br />

2 Sistemas Baseados em Conhecimento<br />

Sistemas Baseados em Conhecimento (SBCs),<br />

Figura 1, podem ser definidos como programas de<br />

computador que resolvem problemas utilizando<br />

conhecimento representado explicitamente e<br />

que, não fosse essa representação, exigiriam um<br />

especialista humano no domínio do problema<br />

para a sua solução.<br />

Figura 1: Arquitetura básica de um SBC – Fonte:<br />

(Uchôa, 1998)<br />

Um SBC possui, então, três módulos principais,<br />

a saber:<br />

1. Base de Conhecimentos (BC): contém o<br />

conhecimento específico do domínio da aplicação<br />

organizado em forma de objetos ou regras.<br />

Tal conhecimento pode ser entendido<br />

como um tipo de informação que pode aumentar<br />

a eficiência e a eficácia na resolução<br />

de um problema.<br />

2. Motor de Inferência (MI): mecanismo<br />

responsável pelo processamento do conhecimento<br />

da BC, utilizando-se de alguma linha<br />

de raciocínio. Implementa as estratégias de<br />

inferência e controle do SBC.<br />

3. Interface com o Usuário (IU): módulo<br />

responsável pela comunicação entre o usuário<br />

e o sistema. Deve fornecer, também, justificativas<br />

e explicações referentes às conclusões<br />

obtidas na BC, e o raciocínio utilizado.<br />

ISSN: 2175-8905 - Vol. X 69


X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

Uma das principais atividades relacionadas ao<br />

desenvolvimento de um SBC consiste na transferência<br />

de conhecimento à sua Base de Conhecimento.<br />

Este processo é conhecido como Aquisição<br />

de Conhecimento e é, reconhecidamente, o processo<br />

mais difícil durante o desenvolvimento de<br />

SBCs, exigindo um grande investimento em tempo<br />

e esforço.<br />

Nesse ponto é que se torna necessário o<br />

Aprendizado de Máquina, definido por Wang<br />

et al. (2009) como o estudo da utilização de<br />

computadores para simular atividades humanas<br />

de aprendizagem e desenvolver métodos autoincrementais<br />

de obtenção de novos conhecimentos<br />

e novas habilidades e identificação de conhecimento<br />

já existente. A Figura 2 ilustra a estrutura<br />

básica de um sistema de aprendizado de máquina.<br />

Figura 2: Sistema baseado em aprendizado de máquina<br />

– Adaptada de (Xue and Zhu, 2009)<br />

Entre os vários modelos existentes para aprendizado,<br />

o aprendizado simbólico conhecido como<br />

aprendizado indutivo baseado em exemplos é o<br />

que mais tem sido pesquisado e o que mais tem<br />

contribuído efetivamente para a implementação de<br />

sistemas de aprendizado de máquina. A partir de<br />

um conjunto de exemplos, expressões para tarefas<br />

classificatórias podem ser aprendidas (induzidas)<br />

como, por exemplo, diagnóstico de doenças, etc.<br />

A Figura 3 ilustra esse processo.<br />

Conjunto de<br />

Treinamento<br />

Exemplo : Decisão 1 i1<br />

Exemplo : Decisão<br />

. 2 . i2<br />

. .<br />

Exemplo : Decisão n in<br />

Sistema de<br />

Aprendizado Indutivo<br />

Regras de Decisão<br />

Padrão ⇒ Decisão 1 j1<br />

Padrão ⇒ Decisão<br />

. 2 . j2<br />

. .<br />

Padrão ⇒ Decisão m jm<br />

Figura 3: Esquema geral de aprendizado indutivo de regras<br />

– Adaptada de (Shaw and Gentry, 1990)<br />

No aprendizado indutivo baseado em exemplos,<br />

também referenciado como aprendizado indutivo,<br />

o conjunto de exemplos, também denominado<br />

de conjunto de treinamento, é fornecido ao<br />

sistema por um instrutor ou pelo ambiente (base<br />

de dados, sensores, etc.). Esse conjunto de treinamento<br />

é geralmente composto de exemplos positivos<br />

(exemplos do conceito) e exemplos negativos<br />

(contra-exemplos do conceito). A indução do conceito<br />

corresponde a uma busca no espaço de hipóteses,<br />

de forma a encontrar aquelas que melhor<br />

classificam os exemplos, em termos de precisão e<br />

consistência.<br />

De uma maneira geral, um sistema que<br />

aprende a partir de exemplos recebe como dados<br />

informações na forma de situações específicas,<br />

cada uma delas devidamente classificadas (geralmente<br />

por especialista humano no domínio),<br />

caracterizando o que se convenciona chamar de<br />

aprendizado supervisionado, e produz, como resultado,<br />

hipótese(s) que generaliza(m) aquelas situações<br />

inicialmente fornecidas.<br />

Um algoritmo bastante utilizado e pesquisado<br />

nesta área de aprendizado supervisionado é o <strong>ID3</strong><br />

(Iterative Dichotomiser 3), proposto por Quinlan<br />

(1986). Este algoritmo tem como entrada elementos<br />

caracterizados por atributos e como saída<br />

uma árvore de decisão, cujo processo de construção<br />

possui uma heurística de seleção de atributos<br />

baseada no ganho de informação durante o processo<br />

de construção em si. Ou seja, o algoritmo<br />

visa ganhar o máximo possível em informação à<br />

medida em que vai adicionando nós na árvore.<br />

A construção propriamente dita da árvore de<br />

decisão, pelo algoritmo <strong>ID3</strong>, consiste em ir adicionando<br />

nós, representando os atributos, na árvore<br />

de acordo com o ganho de informação, através do<br />

cálculo de entropia. No momento em que existir<br />

apenas objetos de uma classe, insere-se um nó<br />

folha com o nome daquela classe.<br />

3 Teoria dos Conjuntos Aproximados<br />

Um espaço aproximado é um par ordenado<br />

A = (U, R), onde:<br />

• U é um conjunto não vazio, denominado conjunto<br />

universo;<br />

• R é uma relação de equivalência sobre U, denominada<br />

relação de indiscernibilidade. Dados<br />

x, y ∈ U, se xRy então x e y são indiscerníveis<br />

em A, ou seja, a classe de equivalência<br />

definida por x é a mesma que a definida por<br />

y, i.e., [x]R = [y]R. Nesse caso, [x]R é um<br />

conjunto elementar, ou átomo, de A.<br />

Dado um espaço aproximado A = (U, R) e<br />

um conjunto X ⊆ U, com o objetivo de verificar<br />

o quão bem X é representado pelos conjuntos<br />

elementares de A, são definidas:<br />

• aproximação inferior de X em A, AA-inf (X),<br />

como a união de todos os conjuntos elementares<br />

que estão contidos em X:<br />

AA-inf (X) = {x ∈ U | [x]R ⊆ X}<br />

• aproximação superior de X em A,<br />

AA-sup(X), como a união dos conjuntos<br />

que possuem intersecção não vazia com X:<br />

AA-sup(X) = {x ∈ U | [x]R ∩ X = ∅}<br />

As aproximações inferior e superior permitem<br />

a classificação do espaço aproximado em regiões:<br />

1. região positiva de X em A, formada por<br />

todas as classes de equivalência de U contidas<br />

inteiramente no conjunto X:<br />

posA(X) = AA-inf (X)<br />

ISSN: 2175-8905 - Vol. X 70


X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

2. região negativa de X em A, formada<br />

pelos conjuntos elementares de A que não<br />

estão contidos na aproximação superior de X:<br />

negA(X) = U − AA-sup(X)<br />

3. região duvidosa de X em A, formada pelos<br />

elementos que pertencem a aproximação<br />

superior mas não pertencem à aproximação<br />

inferior:<br />

duvA(X) = AA-sup(X) − AA-inf (X)<br />

Dado um espaço aproximado A = (U, R),<br />

um conjunto X ⊆ U e um elemento x ∈ U,<br />

pode-se definir uma função que representa o grau<br />

de pertinência do elemento x no conjunto X,<br />

levando em consideração somente as informações<br />

do espaço aproximado A, da seguinte maneira:<br />

µ A X(x) = |[x]R ∩ X|<br />

|[x]R|<br />

4 Trabalhos correlatos<br />

RS1: O RS1, proposto por Wong and Ziarko<br />

(1986), é um algoritmo de aprendizado indutivo<br />

de máquina baseado em um conceito da TCA chamado<br />

índice discriminante, uma medida relativa<br />

do tamanho da região duvidosa de um dado conjunto<br />

em um determinado espaço aproximado.<br />

O algoritmo RS1 percorre os elementos do espaço<br />

aproximado induzido pelo atributo de decisão<br />

e, para cada um desses conjuntos, executa os<br />

seguintes passos: começa calculando seus índices<br />

discriminantes nos espaços aproximados induzidos<br />

pelos atributos de condição; a partir daí, o algoritmo<br />

verifica qual o maior valor obtido, adiciona<br />

o atributo que o proporcionou em um conjunto e<br />

segue, iterativamente, recalculando os índices discriminantes<br />

com base nesse conjunto de atributos<br />

e atualizando esse conjunto.<br />

À medida que o conjunto de atributos vai<br />

sendo atualizado, o RS1 verifica se existe uma<br />

aproximação inferior do átomo de decisão em<br />

questão no espaço induzido pelos atributos do conjunto<br />

e, caso exista, uma regra é criada utilizando<br />

os valores dos atributos do conjunto no(s) exemplo(s)<br />

que compõe(m) a aproximação inferior. Depois<br />

disso desconsidera-se os elementos da região<br />

duvidosa do átomo de decisão e remove o(s) atributo(s)<br />

utilizado(s) daqueles possíveis de serem<br />

utilizados.<br />

Fuzzy-Rough Sets: Existem, na visão de Du<br />

et al. (2005), duas desvantagens em relação ao modelo<br />

matemático de conjuntos aproximados definido<br />

por Pawlak (1982): é relativamente difícil de<br />

se satisfazer a relação de equivalência R em situações<br />

reais e as aproximações inferior e superior<br />

têm um caráter muito exato, o que impossibilita<br />

o manuseio de informações ruidosas.<br />

Uma das alternativas para contornar essa<br />

situação, conforme apresentado em (Du et al.,<br />

2005), é a combinação da TCA com a Teoria<br />

dos Conjuntos F uzzy (TCF). Na TCF, diferentemente<br />

da teoria clássica de conjuntos, a pertinência<br />

de um dado elemento a um conjunto assume<br />

valores em [0, 1]. Desta forma, os conjuntos fuzzy<br />

descrevem o conhecimento de forma aproximada,<br />

através da função de pertinência, manipulando incertezas<br />

típicas nas linguagem naturais humanas.<br />

Os chamados Fuzzy-Rough Sets, propostos<br />

inicialmente por (Dubois and Prade, 1992), são<br />

baseados na função de pertinência fuzzy e não<br />

em uma relação de equivalência, o que evita as<br />

desvantagens apresentadas por eles.<br />

F<strong>ID3</strong>: O algoritmo F<strong>ID3</strong> foi proposto por Ding<br />

et al. (2009) como uma forma de solucionar alguns<br />

problemas que, segundo eles, são inerentes<br />

ao <strong>ID3</strong>. Para os autores, o ganho de informação<br />

como medida para selecionar atributos tem uma<br />

polarização (bias) interno que favorece os atributos<br />

que possuem o maior número de valores possíveis.<br />

A escolha dos atributos por ganho de informação<br />

portanto, não pode ser sempre o melhor.<br />

Um outro problema verificado é a instabilidade<br />

da construção da árvore de decisão a partir<br />

do ganho de informação. Os autores afirmam que<br />

a árvore de decisão irá gerar regras de classificação<br />

diferentes, uma vez que os conjuntos de teste são<br />

modificados, mesmo que numa escala pequena.<br />

Diante desses problemas, eles propõem uma<br />

medida baseada na dependência entre o atributo<br />

em questão e o atributo que representa as classes<br />

(atributo de decisão), dada por:<br />

ISSN: 2175-8905 - Vol. X 71<br />

<br />

Gainfix(A) = 2<br />

κ(A, δ) ∗ Gain<br />

m<br />

em que C é uma coleção de objetos, κ(A, δ) =<br />

card(pos(A, δ))/card(C) é o grau de dependência<br />

do atributo que representa a classe dos objetos δ<br />

do em relação a A, Gain é o ganho de informação<br />

clássico do <strong>ID3</strong> e m é o número de valores possíveis<br />

para o atributo A ∈ C. Aqui, card(X) representa<br />

a cardinalidade (número de elementos) de X.<br />

Construção de uma árvore de decisão baseada<br />

no VPRSM: Como apresentado anteriormente,<br />

um modelo baseado na TCA é incapaz<br />

de lidar com ruídos nos dados de entrada e, no<br />

caso de construção de uma árvore de decisão, esses<br />

ruídos irão gerar partições excessivas e uma<br />

quantidade desnecessária de nós na árvore.<br />

Para contornar tal situação, foi proposto por<br />

(Ziarko, 1993) o modelo de conjuntos aproximados<br />

com precisão variável (VPRSM), como uma<br />

extensão da noção de conjuntos aproximados<br />

original, permitindo a definição de um erro de<br />

classificação relativo de um conjunto X em um<br />

conjunto Y da seguinte maneira:<br />

e(X, Y ) = 1 − card(X ∩ Y )/card(X), se card(X) = 0<br />

= 0, se card(X) = 0<br />

Com esta definição do erro relativo de classificação<br />

entre dois conjuntos, as noções de


X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

aproximações inferior e superior de um conjunto<br />

X em um espaço aproximado (U, R) podem ser<br />

reformuladas, considerando-se um limite β para o<br />

erro relativo de classificação:<br />

A β<br />

inf (X) = {E ∈ U/R : e(E, X) ≤ β}<br />

A β sup(X) = {E ∈ U/R : e(E, X) < 1 − β}<br />

Em (Li and Dong, 2008) foi proposto um algoritmo<br />

para a construção de uma ávore de decisão,<br />

cuja seleção de atributos possui como critério a<br />

média ponderada de precisão variável, uma medida<br />

criada por esses autores a partir das novas<br />

definições.<br />

5 O algoritmo <strong>ID3</strong>-<strong>RMF</strong><br />

O <strong>ID3</strong>-<strong>RMF</strong> (<strong>ID3</strong> using Rough Membership<br />

Function) foi desenvolvido por nossa equipe para<br />

demonstrar a possibilidade de desenvolvimento de<br />

algoritmos de aprendizado indutivo de máquina<br />

subsidiados por funções de pertinência aproximada.<br />

A ideia por trás do algoritmo consiste<br />

em uma reformulação do algoritmo clássico <strong>ID3</strong><br />

(Quinlan, 1986) utilizando o conceito de pertinência<br />

associado a conjuntos aproximados.<br />

Para elaborar este algoritmo, utilizamos como<br />

base o algoritmo <strong>ID3</strong>, já que é um algoritmo bastante<br />

clássico e consolidado na literatura, sendo<br />

utilizado em larga escala em comparações entre<br />

algoritmos de aprendizado de máquina, principalmente<br />

por parte dos pesquisadores da TCA.<br />

A estrutura geral do algoritmo aqui proposto<br />

é análoga à do <strong>ID3</strong>: construir uma árvore de decisão<br />

através da escolha recursiva de atributos para<br />

serem os nós dessa árvore. Porém, propomos um<br />

critério diferente para escolher os atributos, que<br />

utiliza o conceito de funções de pertinência aproximada<br />

e será apresentado na sequência.<br />

5.1 Uma nova abordagem para a escolha dos<br />

atributos<br />

Investigando as funções de pertinência aproximada,<br />

percebe-se que elas retornam valores entre<br />

0 e 1. Se o número de elementos na interseção da<br />

classe de equivalência do elemento com um determinado<br />

conjunto for alto, a divisão desse número<br />

pela cardinalidade da classe resultará em um valor<br />

próximo a 1; se o número de elementos na interseção<br />

for baixo, o resultado será próximo a 0.<br />

Porém, para o algoritmo aqui proposto, o interessante<br />

é selecionar atributos que induzem conjuntos<br />

elementares mais definíveis no espaço induzido<br />

pela decisão, ou seja, conjuntos elementares<br />

cujos elementos possuem um grau alto de certeza<br />

de pertinência ou de não-pertinência nos átomos<br />

de decisão. Com isso, são desejáveis valores de<br />

pertinência aproximada próximos de 1 (pertinência)<br />

ou próximos de 0 (não-pertinência). Para obter<br />

esses valores de interesse, foi proposto um reajuste<br />

da seguinte forma: seja µX(x) a pertinência<br />

aproximada de x em X, o novo valor a ser considerado<br />

pelo algoritmo será |1 − 2µX(x)|.<br />

Portanto, a escolha do atributo que irá fazer<br />

parte de um nó não-folha da árvore de decisão<br />

gerada pelo algoritmo <strong>ID3</strong>-<strong>RMF</strong> será feita com<br />

base nos valores das médias aritméticas das pertinências<br />

aproximadas de cada elemento nos átomos<br />

induzidos pelo atributo de condição. Essas pertinências<br />

aproximadas serão calculadas nos conjuntos<br />

elementares induzidos pelo atributo de decisão,<br />

porém levando em consideração as informações do<br />

espaço aproximado induzido pelo atributo de condição<br />

em questão.<br />

O cálculo do valor da pertinência aproximada<br />

se mostra muito custoso, já que analisa interseções<br />

e, por definição, todos elementos de uma determinada<br />

classe terão o mesmo valor de pertinência<br />

aproximada num determinado conjunto. Assim,<br />

calcula-se o valor da pertinência aproximada de<br />

apenas um elemento da classe e multiplica esse<br />

valor pelo número de elementos da classe.<br />

5.2 Passos do algoritmo<br />

Seja conjunto universo U de exemplos, C o<br />

conjunto de atributos de condição e d o atributo<br />

de decisão. O funcionamento do algoritmo pode<br />

ser descrito da seguinte maneira:<br />

1. Verificar se todos os exemplos do universo pertencem<br />

à uma mesma classe;<br />

2. Se todos elementos pertencerem à uma mesma<br />

classe, criar um nó folha com o valor daquela classe<br />

e retorná-lo;<br />

3. Caso ainda existam elementos pertencentes a classes<br />

diferentes, verificar se ainda existem atributos<br />

em C (a serem considerados naquele ramo da árvore,<br />

visto que, como no algoritmo <strong>ID3</strong>, um atributo<br />

que faz parte de um nó não pode ser escolhido em<br />

qualquer descendente desse nó);<br />

4. Se não há mais atributos a serem considerados em<br />

C, criar um nó folha com os valores das classes dos<br />

exemplos do universo e retorná-lo;<br />

5. Caso existam atributos em C ainda não utilizados,<br />

criar o espaço aproximado induzido por d (será<br />

usada a notação U/d para designá-lo);<br />

6. Para cada atributo c ∈ C, criar o espaço aproximado<br />

induzido por c (será usada a notação U/c<br />

para designá-lo) e fazer mediac = 0; ∀Di ∈ U/d,<br />

para cada Ei ∈ U/c, calcular mediac = mediac +<br />

|1−2∗µ U/c<br />

Di (Ei[0])|∗|Ei|/(|U|∗|U/d|). Onde |Ei|,<br />

|U| e |U/d| representam a cardinalidade (número de<br />

elementos) de um conjunto e |1−2∗µDi(Ei[0])| representa<br />

o módulo (valor absoluto) de um número;<br />

7. Escolher o atributo A que tiver o maior valor entre<br />

as médias de pertinências aproximadas e criar um<br />

nó não-folha para armazenar esse atributo;<br />

8. Para cada valor possível ai de A, fazer UAa (ele-<br />

i<br />

mentos do universo U que possuem valor ai para<br />

o atributo A) e voltar ao passo 1 considerando o<br />

universo U como sendo UAa e os atributos de con-<br />

i<br />

dição C como sendo C − {A}.<br />

O algoritmo desenvolvido, assim como o <strong>ID3</strong>,<br />

produz uma árvore de decisão cujas regras são obtidas<br />

percorrendo a árvore de sua raiz até um de<br />

ISSN: 2175-8905 - Vol. X 72


X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

seus nós folhas. Ao percorrer a árvore, os nós<br />

são analisados indicando o caminho que se deve<br />

seguir, sendo que os nós não-folha compõem o antecedente<br />

de uma regra (condições de uma regra)<br />

e os nós folhas compõem o conseqüente da regra<br />

(conclusão de uma regra).<br />

6 Testes e Discussão dos Resultados<br />

Foram feitos testes comparativos do tipo validação<br />

cruzada utilizando, para isso, duas bases<br />

de dados de classificação binária, Cars 1 , com 1728<br />

elementos e 6 atributos, e Mushroom 2 com 5936<br />

elementos e 22 atributos, e uma base de dados com<br />

classificação não binária, KDD99 3 .<br />

A base KDD99 possui mais de 5 milhões<br />

de registros e 41 atributos. Para viabilizar o<br />

trabalho, utilizou-se um subconjunto contendo<br />

494021 registros (10% da base original). Além<br />

disso, dividiu-se esse subconjunto em 80 partições<br />

e aplicou-se uma variação do teste do tipo validação<br />

cruzada, conforme ilustrado na Tabela 1. Em<br />

cada teste, foram utilizadas nove partições (55577<br />

registros) para treinamento e uma partição (6176<br />

registros) para teste, o que resulta em 1/8 dos<br />

registros utilizados.<br />

Tabela 1: Pastas usadas para treinamento e teste com o<br />

KDD99.<br />

Treinamento Teste<br />

9, 17, 25, 33, 41, 49, 57, 65, 73 1<br />

10, 18, 26, 34, 42, 50, 58, 66, 74 2<br />

11, 19, 27, 35, 43, 51, 60, 67, 75 3<br />

12, 20, 28, 36, 44, 52, 61, 68, 76 4<br />

14, 21, 29, 37, 45, 53, 62, 69, 77 5<br />

15, 22, 30, 38, 46, 54, 63, 70, 78 6<br />

16, 23, 31, 39, 47, 55, 64, 71, 79 7<br />

17, 24, 32, 40, 48, 56, 65, 72, 80 8<br />

A comparação foi feita entre o algoritmo<br />

proposto neste trabalho, o <strong>ID3</strong> clássico proposto<br />

por Quinlan (1986), o F<strong>ID3</strong> (Ding et al., 2009) e<br />

o algoritmo RS1 (Wong and Ziarko, 1986). Foram<br />

avaliados os seguintes quesitos:<br />

A - Número de regras geradas;<br />

B - Tamanho da menor regra;<br />

C - Tamanho da maior regra;<br />

D - Tamanho médio das regras;<br />

E - Grau de suporte do algoritmo;<br />

F - Regras não utilizadas;<br />

G - Elementos não classificados;<br />

H - Tempo de treinamento;<br />

I - Tempo de teste.<br />

Com relação à implementação dos algoritmos,<br />

foi utilizada a linguagem de programação interpretada<br />

Python 4 e o interpretador Python Interpreter<br />

v2.6 (nativo do Ubuntu Linux 10.04 5 ). O computador<br />

utilizado para os testes com as bases com<br />

1 Disponível em http://archive.ics.uci.edu/ml<br />

2 Disponível em http://archive.ics.uci.edu/ml<br />

3 Disponível em http://kdd.ics.uci.edu<br />

4 Python: http://www.python.org<br />

5 Ubuntu Linux: http://www.ubuntu.com<br />

classificação binária foi um computador com um<br />

processador Intel Core 2 Duo T5670 1.8GHz Cache<br />

2Mb, 2Gb de Memória RAM DDR2, Disco<br />

SATA de 160Gb. Já para os testes com a base<br />

KDD99, foram utilizados 8 computadores com a<br />

seguinte configuração: Processador AMD Athlon<br />

64 1800 Mhz, 512MB de Memória RAM DDR2,<br />

Disco SATA de 80GB. Os resultados estão apresentados<br />

nas Tabelas 2, 3 e 4.<br />

Tabela 2: Resultados dos testes feitos na base Cars.<br />

Quesitos <strong>ID3</strong> F<strong>ID3</strong> RS1 <strong>ID3</strong>-<strong>RMF</strong><br />

A 267.4 267.4 272.2 283.8<br />

B 1 1 1 1<br />

C 6 6 6 6<br />

D 5.46 5.46 5.50 5.51<br />

E 88.89% 88.89% 88.43% 87.09%<br />

F 217.9 217.9 224.2 235.7<br />

G 15.3 15.3 16.6 18.1<br />

H 0.096s 2.165s 13.399s 0.805s<br />

I 0.155s 0.156s 0.168s 0.197s<br />

Tabela 3: Resultados dos testes feitos na base Mushroom.<br />

Quesitos <strong>ID3</strong> F<strong>ID3</strong> RS1 <strong>ID3</strong>-<strong>RMF</strong><br />

A 15 22 15 12.9<br />

B 1 1 1 1<br />

C 3 3 3 3<br />

D 2 2.05 1.54 1.83<br />

E 100% 100% 100% 100%<br />

F 0.8 3 0.8 0.3<br />

G 0 0 0 0<br />

H 1.177s 109.837s 398.45s 25.847s<br />

I 0.038s 0.042s 0.037s 0.035s<br />

Tabela 4: Resultados dos testes feitos na base KDD99,<br />

conforme a organização apresentada na Tabela 1<br />

Quesitos <strong>ID3</strong> F<strong>ID3</strong> RS1 <strong>ID3</strong>-<strong>RMF</strong><br />

A 1773.3 2101.9 5338.6 1842.6<br />

B 1 1 1 1<br />

C 4 5 5 4<br />

D 1.47 2.22 2.03 1.48<br />

E 98.40% 98.06% 94.32% 98.23%<br />

F 1303 1592 4582 1396<br />

G 91.6 111.6 342.1 102.5<br />

H 967.16s 55185.95s 119157.98s 7665.34s<br />

I 39.44s 59.80s 120.60s 40.75s<br />

A partir dos testes efetuados, verificamos que<br />

o algoritmo aqui proposto obteve resultados muito<br />

semelhantes aos outros algoritmos, apresentando<br />

um grau de suporte muito satisfatório e uma árvore<br />

de decisão relativamente boa, o que pode ser<br />

verificado observando os quesitos de A a E.<br />

Com relação ao algoritmo RS1, o algoritmo<br />

proposto neste trabalho se mostrou mais eficiente,<br />

produzindo resultados muito semelhantes em um<br />

tempo de execução bem inferior. Entendemos que<br />

isso ocorre devido ao cálculo repetitivo de aproximações<br />

por parte do RS1, o que não ocorre no<br />

<strong>ID3</strong>-<strong>RMF</strong>.<br />

Além disso, entendemos que o algoritmo F<strong>ID3</strong><br />

consiste apenas em uma tentativa de refinar o cálculo<br />

do ganho de informação do <strong>ID3</strong> clássico, o<br />

que, em algumas situações, não tem efeito algum,<br />

conforme pode ser observado nos resultados com<br />

a base Cars, em que os dois algoritmos resultaram<br />

nos mesmos valores. Em outros casos, o refinamento<br />

não é vantajoso, visto que, nos testes<br />

ISSN: 2175-8905 - Vol. X 73


X <strong>SBA</strong>I – Simpósio Brasileiro de Automação Inteligente<br />

18 a 21 de setembro de 2011<br />

São João del-Rei - MG - Brasil<br />

efetuados, os resultados do F<strong>ID3</strong> não superaram<br />

os do <strong>ID3</strong>.<br />

Já o algoritmo aqui proposto não utiliza nenhum<br />

cálculo existente no <strong>ID3</strong>, apenas a ideia de<br />

escolher atributos para construir a árvore de decisão.<br />

Em vez disso, o <strong>ID3</strong>-<strong>RMF</strong> apresenta um cálculo<br />

todo baseado no conceito de funções de pertinência<br />

aproximada, possibilitando o tratamento<br />

de informações incertas e, consequentemente, uma<br />

maior capacidade de aprendizado em determinados<br />

casos.<br />

Por outro lado, esse cálculo é baseado em interseções<br />

entre conjuntos e acarreta em um tempo<br />

de treinamento maior em relação ao tempo gasto<br />

pelo cálculo do ganho de informação que, por sua<br />

vez, apenas conta elementos e, com isso, tem um<br />

tempo de execução bem inferior. Essa velocidade<br />

pode ser constatada na Tabela 2, em que o tempo<br />

de treinamento (quesito H ) do <strong>ID3</strong> foi inferior ao<br />

seu tempo de teste (quesito I ).<br />

Com isso, conforme pode ser observado na Tabela<br />

3, o <strong>ID3</strong>-<strong>RMF</strong> conseguiu obter o mesmo grau<br />

de suporte do <strong>ID3</strong> com um número menor de regras,<br />

o que evidencia essa maior capacidade em<br />

algumas situações. Na base KDD99, o <strong>ID3</strong> se mostrou<br />

melhor mas com pouca diferença em relação<br />

ao algoritmo aqui proposto.<br />

7 Conclusão<br />

O algoritmo proposto se mostrou, nos testes<br />

efetuados, bastante estável em diferentes bases,<br />

com diferentes números de dados e atributos e diferentes<br />

tipos de classificação (binária e não binária),<br />

e com uma capacidade de aprendizado e<br />

generalização equivalentes a algoritmos já consagrados<br />

na literatura, como o <strong>ID3</strong> clássico e o RS1.<br />

Com relação ao tempo de execução, o <strong>ID3</strong>-<br />

<strong>RMF</strong> foi um pouco mais lento que o <strong>ID3</strong> clássico,<br />

porém muito mais rápido e igualmente eficiente ao<br />

o RS1. Essa perda no tempo de execução para o<br />

<strong>ID3</strong> pode ser compensada pelo fato de o <strong>ID3</strong>-<strong>RMF</strong><br />

ser inspirado na Teoria de Conjuntos Aproximados,<br />

que é um formalismo matemático proposto<br />

para representação de incerteza. Além disso, esse<br />

formalismo também é largamente utilizado para<br />

indução de conhecimento e possui propostas atuais,<br />

conforme pode ser visto nos trabalhos de Li<br />

and Dong (2008) e Ding et al. (2009).<br />

Como o algoritmo aqui proposto conta com<br />

esse formalismo matemático não só para induzir<br />

conhecimento, mas também para a representação<br />

de incerteza (a indiscernibilidade), ele se mostra,<br />

em determinadas situações, mais capaz de descobrir<br />

conhecimento que o <strong>ID3</strong> clássico, que constrói<br />

uma árvore de decisão sem tratar, e sequer analisar,<br />

informações incertas.<br />

Além disso, como visto em (Uchôa, 1998), a<br />

função de pertinência aproximada é o elo de ligação<br />

entre a TCA e a Teoria de Conjuntos Fuzzy,<br />

que é outro formalismo consagrado e largamente<br />

utilizado para indução de conhecimento e representação<br />

de incerteza, possibilitando uma extensão<br />

do algoritmo <strong>ID3</strong>-<strong>RMF</strong> com conceitos da TCF<br />

de uma maneira relativamente simples e imediata.<br />

Como trabalho futuro, além da combinação<br />

do algoritmo aqui proposto com a TCF, está a<br />

melhoria desse algoritmo utilizando características<br />

próprias da TCA, com o objetivo de diminuir seu<br />

tempo de execução e aumentar seu grau de suporte<br />

e sua capacidade de induzir conhecimento.<br />

8 Agradecimentos<br />

Os autores agradecem À FAPEMIG, pelo apoio<br />

recebido durante a realização deste trabalho.<br />

Referências<br />

Ding, B., Zheng, Y. and Zang, S. (2009). A New Decision<br />

Tree Algorithm Based on Rough Set Theory,<br />

Asia-Pacific Conference on Information Processing<br />

.<br />

Du, W., Li, H., Gao, Y. and Meng, D. (2005). Another<br />

Kind of Fuzzy Rough Sets, IEEE International<br />

Conference on Granular Computing 1: 145.<br />

Dubois, D. and Prade, H. (1992). Intelligent Decision<br />

Support: Handbook of Applications and Advances<br />

of the Sets Theory, Kluwer, Dordrecht, chapter<br />

Putting fuzzy sets and rough sets together,<br />

pp. 203–232.<br />

Li, X. and Dong, M. (2008). An Algorithm for Constructing<br />

Decision Tree Based on Variable Precision<br />

Rough Set Model, Fourth International Conference<br />

on Natural Computation 1: 280.<br />

Pawlak, Z. (1982). Rough sets., International Journal<br />

of Computer and Information Sciences. pp. 341–<br />

356.<br />

Quinlan, J. R. (1986). Induction of Decision Trees,<br />

Machine Learning 1: 81–106.<br />

Shaw, M. J. and Gentry, J. A. (1990). Inductive learning<br />

for risk classification., IEEE Expert pp. 47–<br />

53.<br />

Uchôa, J. Q. (1998). Representação e indução de conhecimento<br />

usando teoria de conjuntos aproximados,<br />

Master’s thesis, UFScar.<br />

Wang, H., Ma, C. and Zhou, L. (2009). A Brief Review<br />

of Machine Learning and its Application.,<br />

Information Engineering and Computer Science.<br />

.<br />

Wong, S. K. M. and Ziarko, W. (1986). Comparison<br />

of rough-set and statistical methods in inductive<br />

learning., Internacional Journal of Man-Machine<br />

Studies 24: 53–72.<br />

Xue, M. and Zhu, C. (2009). A Study and Application<br />

on Machine Learning of Artificial Intellligence.,<br />

International Joint Conference on Artificial Intelligence.<br />

.<br />

Ziarko, W. (1993). Variable Precision Rough Set Model,<br />

Journal of Computer and System Sciences<br />

46: 39–59.<br />

ISSN: 2175-8905 - Vol. X 74

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!