ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA
ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA
ID3-RMF: UM ALGORITMO DE APRENDIZADO INDUTIVO ... - SBA
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