SIGM-TREE: OTIMIZAÇÃO DE ÁRVORES SINTÁTICAS APLICADA À CLASSIFICAÇÃO DE PADRÕES



Documentos relacionados
Otimização de Árvores Sintáticas aplicada à Detecção de Células Cancerígenas

UMA ABORDAGEM DE PODA PARA MÁQUINAS DE APRENDIZADO EXTREMO VIA ALGORITMOS GENÉTICOS

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Simulador de Redes Neurais Multiplataforma

Estudo de Casos Estudo de Caso 1: Velocidade Intervalar e Espessura da Camada

Redes Neurais. A IA clássica segue o paradigma da computação simbólica

Aplicação de Ensembles de Classificadores na Detecção de Patologias na Coluna Vertebral

Redes Neurais Artificiais: Funções de Base Radial

Modelos Pioneiros de Aprendizado

Redes Neurais Artificiais na Engenharia Nuclear 2 Aula-1 Ano: 2005

Aula 4 Estatística Conceitos básicos

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

3 Estratégia para o enriquecimento de informações

Trabalho de Implementação Jogo Reversi

ALGORITMOS E FLUXOGRAMAS

Lista de Exercícios Tratamento de Incerteza baseado em Probabilidade

Aprendizagem de Máquina

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Extração de Conhecimento & Mineração de Dados

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

2 Gerenciamento de Log 2.1 Definições básicas

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução. Capítulo. 1.1 Considerações Iniciais

Algoritmos e Programação Parte Teórica

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

AMOSTRAGEM ESTATÍSTICA EM AUDITORIA PARTE ll

ARQUITETURA DE COMPUTADORES

Resolução de sistemas lineares

Do neurônio biológico ao neurônio das redes neurais artificiais

Administração da Produção I

2 Classificação de Imagens de Sensoriamento Remoto

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Complexidade de Algoritmos

MODELOS PROBABILÍSTICOS MAIS COMUNS VARIÁVEIS ALEATÓRIAS DISCRETAS

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO

Preparação do Trabalho de Pesquisa

O Tema Progresso e o Princípio de Gerenciar por Estágios. Palavras Chave: Estágios de Gerenciamento. Progresso. Controle. Projetos. PRINCE2.

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Engenharia de Software II

Guia de utilização da notação BPMN

Objetivo: descrever como abrir uma solicitação de suporte técnico através da internet.

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Sistema de Controle de Cédulas e Moedas Encaminhadas para Exame de Legitimidade

2. Objetivos do Sistema

PORTABILIDADE NUMÉRICA UMA SOLUÇÃO ORIENTADA PELA SIMPLICIDADE, QUALIDADE E BAIXO CUSTO

Considerações sobre redimensionamento de motores elétricos de indução

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS

Engenharia de Software II

Gerenciamento de Projeto: Planejando os Riscos. Prof. Msc Ricardo Britto DIE-UFPI

2 Fundamentação Conceitual

VISÃO GERAL DE BANCO DE DADOS

aplicada a problemas de poluição do ar

Projeto de inovação do processo de monitoramento de safra da Conab

Guia do professor. Introdução

Eduardo Camponogara. DAS-5103: Cálculo Numérico para Controle e Automação. Departamento de Automação e Sistemas Universidade Federal de Santa Catarina

Prof. Daniela Barreiro Claro

Objetivos Específico

O processo envolve quatro questões básicas:

FERRAMENTAS DA QUALIDADE

Teste de Software Parte 1. Prof. Jonas Potros

ESTUDO DE CASO: LeCS: Ensino a Distância

Administração da Produção I

TÉCNICAS DE PROGRAMAÇÃO

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I

Atuadores: Atuadores: Atuadores:

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

5 Considerações finais

MS777: Projeto Supervisionado Estudos sobre aplicações da lógica Fuzzy em biomedicina

Manual das planilhas de Obras v2.5

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

PROCEDIMENTOS DE AUDITORIA INTERNA

Auditoria de Segurança e Saúde do Trabalho da SAE/APO sobre Obra Principal, Obras Complementares, Obras do reservatório e Programas Ambientais

Desenvolvimento de uma Etapa

Medição tridimensional

ITIL v3 - Operação de Serviço - Parte 1

BIOESTATÍSTICA: ARMADILHAS E COMO EVITÁ-LAS

Curva ROC. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

4 Avaliação Experimental

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Planificação de. Aplicações Informáticas B

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão:

A otimização é o processo de

Transcrição:

SIGM-TREE: OTIMIZAÇÃO DE ÁRVORES SINTÁTICAS APLICADA À CLASSIFICAÇÃO DE PADRÕES Juliana Oliveira Ferreira 1 Humberto César Brandão de Oliveira 2 Melise Maria Veiga de Paula 3 Universidade Federal de Alfenas Departamento de Ciências Exatas Rua Gabriel Monteiro da Silva, 714 Alfenas MG Brasil CEP: 37130-000 { 1 juliana@bcc.unifal-mg.edu.br, 2 humberto.brandao@gmail.com, 3 melisepaula@gmail.com } RESUMO Esta pesquisa investiga a otimização de Árvores Sintáticas para o problema de Classificação de Padrões. As Árvores Sintáticas utilizadas têm o propósito de representar expressões aritméticas baseadas em uma específica Linguagem Livre de Contexto, e estas, ao serem processadas informam se determinado padrão pertence ou não à determinada classe. O principal objetivo da pesquisa é mostrar que é possível classificar padrões não linearmente separáveis com algoritmos diferentes da Programação Genética e das Redes Neurais. Ao final, este trabalho faz uma comparação com outros classificadores divulgados na literatura. Os resultados obtidos pela otimização de Árvores Sintáticas são promissores, se mostrando robustos se comparados a outros sistemas utilizados sobre as mesmas bases de dados. PALAVRAS CHAVE. Classificação de Padrões, Otimização, Aplicações à Saúde. ABSTRACT This research investigates Parse trees optimization applied to the pattern classification problem. The parse trees are used to represent arithmetic expressions based on a specific context-free language, and these, when processed, infer if a certain pattern belongs or not to a specific class. The main aim of the research is to show that it is possible classify patterns not linearly separable with different algorithms of the Genetic Programming and the Neural Nets. In the end, this work presents a comparison between the approach presented and other classifiers in the literature. The results obtained using parse tree optimization are promising, being this approach robust if compared to other systems using the same data base. PALAVRAS CHAVE. Pattern Classification, Optimization, Applications to Health. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1478

1. Introdução A busca por ferramentas para o problema de Classificação de Padrões vem crescendo a cada dia e, nas últimas décadas, diferentes abordagens vêm sendo consideradas para auxiliar a análise deste problema em diferentes contextos. No que se refere à aplicação, na medicina, por exemplo, pode-se determinar, com considerável precisão, se determinado paciente é diabético ou não de acordo com determinadas características ou, ate mesmo, determinar se um tumor retirado de um paciente representa uma anomalia maligna ou benigna antes mesmo do resultado da biópsia, fornecendo mais tempo de tratamento adequado a este paciente. Por outro lado, em relação às abordagens definidas para solucionar o problema, historicamente, diferentes métodos foram criados para a classificação automática em diversas áreas do conhecimento como na Programação Genética [Koza (1992)] [Teredesai (2004)] e nos diferentes tipos de Redes Neurais [Haykin (1998)]. Na busca por sistemas mais robustos, novos algoritmos e modelos de treinamento de máquinas artificiais ainda vêm sendo discutidos. Alinhados a esta tendência, o objetivo deste trabalho foi desenvolver uma técnica para o reconhecimento de padrões, que utiliza a base de dados reais, conhecida como Proben1, publicada no Relatório Técnico de Prechelt (1994), focando na base de células cancerígenas e diabetes. Este artigo está organizado como se segue: na seção 2, é apresentado o conceito de classificadores de padrões, sendo este, o problema ao qual a pesquisa busca solucionar, na seção 3, é detalhada a técnica proposta e também a base de dados utilizada para realizar os testes e, na seção 4, é apresentado os resultados obtidos e uma comparação com alguns classificadores existentes na literatura. 2. Revisão Bibliográfica Como o principal objetivo deste trabalho é o desenvolvimento de uma técnica para resolver o problema de classificação de padrões, esta seção busca esclarecer este problema. Outros conceitos importantes são apresentados ao longo do texto. 2.1. Classificação de Padrões Diversas técnicas surgiram com o objetivo de armazenar em um computador o conhecimento necessário para, futuramente, se classificar determinado objeto baseando-se em determinadas características. Os Sistemas Classificadores começam sem nenhum conhecimento, e através de algoritmos de treinamento buscam novas soluções que possam classificar determinadas classes. Essas técnicas consistem, basicamente, em encontrar propriedades comuns entre um conjunto de instâncias em um banco de dados, que são previamente conhecidas, e os classificar em diferentes categorias de acordo com algumas características disponíveis, permitindo assim a classificação de novas entradas. Uma das técnicas mais estudadas atualmente é a Rede Neural Perceptron Multicamada (Multilayer Perceptron MLP). Concorrentemente, outras técnicas vêm sendo desenvolvidas com o intuito de fazer das máquinas verdadeiros bancos de conhecimento. Como exemplo, Redes de Função de Base Radial (Radial Basis Function RBF), Máquina de Vetor Suporte (Support Vector Machine SVM) e a técnica do vizinho mais próximo (knn) Nunes (2004). 3. O Sistema Classificação de Padrões Baseado em Árvores Sintáticas Nesta seção, será apresentada a técnica desenvolvida nesta pesquisa. Contudo, para facilitar o entendimento, serão descritas as informações referentes à base de dados utilizada para realizar os experimentos. 3.1. Base de dados Este trabalho utiliza uma base de dados com dados reais, conhecida como Proben1, publicada no Relatório Técnico de Prechelt (1994), focando na base de células cancerígenas e na base de diabetes. Esta base de dados pode ser encontrada no seguinte link: ftp://ftp.ira.uka.de/pub/neuron/proben1.tar.gz. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1479

A base de dados de células cancerígenas descreve informações retiradas de células de câncer de mama, obtidas através de imagens digitalizadas. Para cada uma das 699 amostras da base, são informadas 9 características das células, sendo estas: espessura da massa celular, uniformidade do tamanho da célula, uniformidade do formato da célula, adesão marginal, tamanho de uma célula epitelial, núcleo vazio, cromatina branda, nucléolo normal e mitose. Além de indicar se a mesma possui câncer maligno ou benigno. Das 699 células, 65% possuem câncer benigno. Já a base de dados de diabetes descreve informações pessoais de pacientes além de informações de exames médicos. Nesta base, existem dados de 768 pacientes, sendo que 500 destes pertencem à classe dos não-diabéticos (65,10%) e 268 à classe dos diabéticos (34,90%). Para cada uma das 768 amostras da base, são informadas 8 características dos pacientes, sendo estas: quantidade de gravidez, concentração plasmática de glicose de 2h no teste oral de tolerância a glicose, pressão sanguínea diastólica, espessamento da prega cutânea do tríceps, insulina sérica de 2h, índice de massa corpórea, função de continuidade de diabetes e idade. Além de indicar se o mesmo possui diabetes ou não. Os dados de cada base são divididos em 3 conjuntos: 1. Conjunto de treinamento - utilizado durante o processo de otimização, ou seja, são os dados utilizados para encontrar a melhor solução para distinguir os objetos em diferentes classes; 2. Conjunto de validação são os dados utilizados para parar o processo de otimização,esses dados determinam o momento de finalizar o algoritmo; 3. Conjunto de teste são os dados utilizados para avaliar a capacidade de generalização da melhor solução encontrada pelo conjunto de treinamento; Ambas as bases de dados são compostas por 3 arquivos (cancer1, cancer2, cancer3 e diabetes1, diabetes2, diabetes3). Os três arquivos de cada base de dados possuem os mesmos dados, porém, os padrões encontram-se em ordem diferentes. Esta ordenação diferente é utilizada para que o conjunto de treinamento, validação e teste alterem de acordo com o arquivo utilizado, evitando que os padrões mais fáceis de classificar fiquem todos no conjunto de treinamento. Desta forma é possível avaliar a real capacidade do classificador e a generalização deste. 3.2. Técnica de Classificação de Padrões baseada em Árvores Sintáticas Nesta seção, inicialmente, será apresentado a forma de representação computacional utilizada na definição da técnica elaborada. A seguir, a técnica será descrita. 3.2.1 Árvores Sintáticas (Representação Computacional) Árvores Sintáticas são amplamente utilizadas em otimização na área denominada Programação Genética que foi proposta, inicialmente, por Koza (1992). Na grande maioria destes trabalhos, as árvores sintáticas são utilizadas para representar programas de computadores, onde o principal objetivo é a criação de um algoritmo que seja capaz de realizar determinada tarefa corretamente. Ou seja, um construtor automático de algoritmos. No entanto, as árvores sintáticas não se restringem a somente representar algoritmos. Podem ser representados sem dificuldades sistemas formais recursivos, como por exemplo: fórmulas aritméticas, fórmulas booleanas, entre outras [Eiben (2003)]. Nesta trabalho, cada árvore representa uma fórmula aritmética, como mostrado na Figura 1. Basicamente, a árvore armazena uma expressão que contém funções matemáticas, constantes e componentes dos padrões (características do objeto/padrão a ser identificado mapeadas em números reais). Figure 1. Representação da função g(x,y) = x*y+3. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1480

O objetivo do classificador binário é identificar se uma célula cancerígena possui câncer maligno ou câncer benigno. Além disso, é necessário identificar se um paciente é diabético ou não. Portanto, para uma base (câncer), foram definidas duas classes: classe 1 representando câncer maligno e a classe 0 como câncer benigno. Já para a classificação de pacientes diabéticos, a classe diabético foi definida como classe 0 e a classe não diabético foi definida como classe 1. Com base nesta informação, foi definido que toda árvore tem como raiz a função sigmóide logística definida na equação (1), para que a expressão possa sempre retornar um valor entre 0 e 1. Após o processamento da expressão, o valor retornado é comparado a constante 0,5. Caso o valor retornado seja maior que 0,5, o padrão pertence a classe 1, caso contrário, o padrão pertence a classe 0. Vale ressaltar que o EXP da expressão é o valor retornado pela sub-árvore abaixo da sigmóide. SIGM 1 (1) = ( -1 EXP ( 1+ e ) ) Além de classificar o padrão/objeto, o algoritmo pode identificar que algumas características não são realmente necessárias para distinguir uma classe da outra. Suponha que um médico especialista selecione a espessura, a uniformidade e o formato de uma célula cancerígena como características importantes para saber se a célula possui câncer maligno ou benigno. A técnica utilizada pode indicar, por exemplo, que apenas a espessura e o formato são necessários para classificar com alto grau de exatidão o tipo de câncer. Esta distinção pode representar uma considerável redução de custos na coleta e análise de características de futuros pacientes. Assim como todos os outros sistemas de classificação, o classificador descrito neste trabalho está sujeito a erro, que deve ser minimizado. Esta minimização foi definida a partir da localização de fórmulas mais adequadas para a classificação. As operações específicas para manipulação de Árvores Sintáticas que são aplicadas no processo de otimização foram definidas a partir de dois operadores: Mutação 1 e Mutação 2. Os dois operadores serão detalhados na seção 3.2.6. Na seção3.2.2, abaixo, será descrito o universo de expressões possíveis. 3.2.2 Gramática Para facilitar a representação dos indivíduos em PG, foi introduzida a abordagem orientada a gramáticas [Whigham (1996)] [Wong (2000)]. As gramáticas auxiliam o processo de criação aleatória de indivíduos, impedindo que o sistema aceite expressões inválida. Essas Gramáticas formais são compostas por quatro componentes: V: Símbolos não terminais (variáveis); T: Símbolos terminais; R: Um conjunto de Regras; P: Símbolo de Partida. Neste trabalho, foi utilizada a Gramática Livre de Contexto (GAS - Gramática da Árvore Sintática) para gerar a Linguagem reconhecida pelo sistema. GAS é formalmente descrita nas seguintes formulas: GAS = { V,T,R,P} (2) V =< ROOT >,< SIGM >,< EXP >,< BINARY >,<UNARY >,< LEAF >, (3) < SUM >,< SUB >,< PROD > { s,s,s,,s } {(, )} T = R 1 2 3... n (4) P = < ROOT > (5) O conjunto de regras R é formado pelas fórmulas a seguir: < ROOT > < SIGM > (6) 1 (7) < SIGM > ( -1 <EXP> ) ( 1+ e ) < EXP > (< BINARY >) (< UNARY >) (< LEAF >) (8) XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1481

< BINARY > < SUM > < SUB > < PROD > (9) < UNARY > < SIGM > (10) < LEAF > < CONST > < VAR > (11) < SUM > < EXP > + < EXP > (12) < SUB > < EXP > < EXP > (13) < PROD > < EXP > < EXP > (14) < CONST > { y y R} (15) < VAR > s1 s2... s n (16) Como já descrito anteriormente, toda raiz<root> é representada apenas pela função sigmoidal <SIGM>. A sigmoidal por sua vez pode abrigar qualquer expressão matemática dentro desta linguagem descrita pela gramática, incluindo os operadores binários (multiplicação <PROD>, soma <SUM> e subtração <SUB>) e constantes. As constantes estão sempre presentes nas folhas das Árvores Sintáticas e são divididas em duas classes: constantes reais <CONST> e constantes que representam características do padrão analisado <VAR> (vetor s). O não terminal <VAR> é fundamental para a classificação dos padrões. No exemplo da classificação de células cancerígenas (maligno ou benigno), esta regra implicaria em apenas três componentes: s 1 sendo a espessura, s 2 sendo uniformidade e s 3 sendo formato. Portanto, a quantidade de regras do não terminal <VAR> (n) varia com o problema que está sendo tratado, ou seja, com a cardinalidade de características consideradas para classificação. Em estágios iniciais desta pesquisa, adaptações desta linguagem foram analisadas com o intuito de aumentar o poder de classificação do método estudado, sendo observado que uma gramática simples possui o mesmo potencial das demais, porém não é necessário tratar exceções como divisão por 0, por exemplo. 3.2.3. Algoritmo de Treinamento O algoritmo de treinamento proposto nesta seção tem um objetivo básico: encontrar uma Árvore Sintática adaptada ao problema de classificação. A Figura3 apresenta um fluxograma geral do algoritmo de otimização. Basicamente, o algoritmo segue os seguintes passos: Figura 3. Algoritmo de Treinamento da Árvore Sintática XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1482

No passo 1, é criado um conjunto de árvores iniciais denominado população. Em seguida, no passo 2, a condição de parada é verificada, se atendida, a melhor árvore é apresentada e o algoritmo é encerrado, caso contrario, ocorre um laço de repetições: passo 3: seleciona uma árvore denominada pai aleatoriamente passo 4: seleciona um operador de mutação (operador que modifica a árvore pai) passo 5: cria uma árvore modificando a árvore pai passos 6, 7, 8, 9 e 10: se o operador de mutação for Mutação 1 e a nova árvore for melhor do que a árvore pai, a árvore pai é substituída pela nova árvore que passa a fazer parte da população, caso contrario, a nova árvore é descartada e a árvore pai continua fazendo parte da população. Se o operador de mutação for Mutação 2 e a nova árvore for melhor do que a pior árvore da população, a nova árvore substitui a pior árvore da população. Depois de avaliar a nova árvore e colocá-la ou não na população, é verificado novamente se a condição de parada foi atingida. Este laço de repetição ocorre ate que essa condição de parada seja atingida. Abaixo são descritos todas essas etapas com mais detalhes. 3.2.4. Solução Inicial (Inicialização do vetor de Árvores) O primeiro passo é criar um vetor de árvores (população). A criação dessas árvores não usa nenhuma heurística, deixando este papel para o algoritmo de otimização. O método utilizado para criação inicial dessas árvores foi baseado no Algoritmo Ramped Half-and-half (RHH) [Eiben (2003)], onde o autor descreve duas formas para criação das árvores: Full method e Grow method. Este trabalho utiliza apenas o Full method para a criação das primeiras árvores. Neste algoritmo, as árvores criadas possuem altura fixa, representada pelo parâmetro D max que foi definido com o valor 3. 3.2.5. Avaliação da Qualidade da Árvore Sintática (Função Objetivo) A métrica utilizada no algoritmo para avaliar a qualidade das árvores geradas é a quantidade de acertos e a bem conhecida Soma dos Erros Quadráticos (Sum Square Error - SSE), muito utilizada na arquitetura de diferentes Redes Neurais Artificiais. Mais detalhes podem ser obtidos em Haykin (1998). A métrica SSE é descrita na equação 17. n (17) 2 SSE = ( esperado ( i) obtido ( i)) = i 1 Foram definidas três tipos diferentes de análise para selecionar a melhor árvore: Escolhe a árvore com menor SSE; Escolhe a árvore com maior percentual de acerto; Escolhe a árvore com menor SSE e maior percentual de acerto; O tipo de análise deve ser selecionada antes da execução do algoritmo. 3.2.6 Encontrando novas Árvores Para a diversificação no espaço de busca são criadas novas árvores. Para isto, é escolhido aleatoriamente uma árvore da população. A criação da nova árvore pode ser feita de duas formas: Mutação 1 (Mutação Simples): O algoritmo de vizinhança cria um clone da árvore selecionada, escolhe um nó k aleatoriamente desta árvore clone e substitui este nó por um nó do mesmo tipo, ou seja, se o nó escolhido for uma função matemática, é selecionado, aleatoriamente, outra função matemática para substituí-lo, se o nó for uma variável ou constante, é selecionada uma variável ou uma constante, aleatoriamente, para substituí-la. Mutação 2: O algoritmo de vizinhança cria um clone da árvore selecionada, escolhe um nó k da árvore clone aleatoriamente e substitui a sub-árvore com raiz k por uma nova árvore criada pelo Algoritmo Grow method (cria árvores com altura entre 1 e D max ) ou pelo Algoritmo Full method. Um exemplo deste operador de vizinhança pode ser visto na Figura 4. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1483

Figura 4. Criando uma Árvore na vizinhança da árvore base. É importante ressaltar, que a escolha do método de mutação a ser utilizado é efetuada aleatoriamente. 3.2.7. Condição de Parada A massa de dados utilizada foi dividida em três partes, sendo o conjunto de validação responsável pela parada do algoritmo. Esta parada ocorre quando alguma das árvores da população atingir a quantidade de acerto do conjunto de validação determinada pelo usuário, ou quando o tempo máximo de execução do algoritmo é atingido. Neste trabalho, a condição de parada utilizada foi acertar 100% do conjunto de validação ou atingir o tempo de 40 segundos de execução. A estratégia de utilizar o conjunto de validação para definição do critério de parada, evita que o algoritmo encontre uma Árvore Sintática especialista no conjunto de treinamento, condição indesejável quando o objetivo é a generalização. 4. Resultados e comparação com outros métodos Os experimentos foram realizados utilizando a base de dados proben1. Estes resultados estão descritos nas tabelas 1 e 2. A técnica definida neste trabalho está representada pela sigla ST, com as seguintes variações: ST1: sistema classifica a melhor árvore pela quantidade de acerto. ST2: sistema classifica a melhor árvore pela quantidade de acerto e o valor do SSE. ST3: sistema classifica a melhor árvore pelo valor do SSE. Para comparar os resultados obtidos, foram considerados os seguintes classificadores (Tsakonas, 2006, Lin, 2007): 1. ES1 até ES6 (Programação Genética em Camadas) Classificadores baseado na Programação Genética Multi-populacional com diferentes configurações paramétricas. 2. DT (Árvores de Decisão) As árvores de decisões são classificadores que representam uma tabela de decisão sob a forma de uma árvore. Ou seja, árvores que representam fórmulas booleanas. 3. FRBS (Sistemas Fuzzy Baseados em Regras) A Lógica Fuzzy tem como objetivo modelar o modo aproximado de raciocínio, tentando imitar a habilidade humana de tomar decisões racionais em um ambiente de incerteza e imprecisão. A Idéia principal é que todas as coisas admitem graus. 4. ANN - (Perceptron Multicamada com Backpropagation) As redes neurais artificiais são inspiradas no sistema nervoso biológico. São estruturas baseadas em ligações. Nós simples (neurônios) são interligados para formar uma rede de nós sendo esta estruturada baseada no cérebro humano. 5. FPN (Redes Fuzzy-Petri com Programação Genética) Sistema híbrido envolvendo redes Petri com lógica Fuzzy e Programação Genética. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1484

Os dados apresentados relacionados aos classificadores utilizados para comparação foram obtidos a partir de trabalhos encontrados na literatura (Tsakonas, 2006, Lin, 2007). Deste modo, as médias apresentadas foram obtidas com diferentes quantidades de execuções. Para ST, o experimento foi realizado considerando 500 execuções, já para os outros classificadores, foram realizadas 10 execuções. Essa diferença pode tornar a media do ST mais confiável e proporcionar um resultado melhor para a melhor árvore, devido ao fato de se executar o algoritmo um número maior de vezes. A Tabela1 apresenta a média e o desvio padrão do percentual de acerto dos classificadores. A Tabela 2 apresenta os melhores resultados obtidos (maior percentual de acerto atingido) por cada classificador, alem de apresentar a quantidade de características dos padrões utilizadas para cada fórmula encontrada no ST. É importante ressaltar que o conjunto de validação determina a parada do algoritmo e o conjunto de Teste avalia a generalização do método. Tabela 1. Média e Desvio padrão de todos os classificadores (DP = Desvio Padrão) Câncer1 Câncer2 Câncer3 Diabetes1 Diabetes2 Diabetes3 Media DP Media DP Media DP Media DP Media DP Media DP ST1 97,78 0,78 94,64 0,92 95,92 0,86 74,06 2,72 71,58 1,95 75,44 2,3 ST2 98,23 0,65 94,82 0,79 95,69 0,81 74,02 2,46 72,03 2,05 76,21 1,86 ST3 97,62 1,43 95,42 0,73 95,74 0,67 74,3 2,33 72,66 1,80 77,53 1,1 Outros Sistemas ES1 97,7 0,72 94,89 0,69 96,32 0,78 72,5 2,76 71,25 2,44 75,16 2,53 ES2 97,7 0,54 94,6 0,48 96,09 0,71 72,71 2,04 71,46 1,8 75,99 2,72 ES3 97,82 0,85 94,89 0,92 96,38 0,61 73,91 2,24 71,46 1,32 75,36 1,32 ES4 97,76 0,79 94,94 0,59 96,61 0,57 73,13 1,98 71,88 1,15 75,16 2,13 ES5 97,7 0,77 94,77 0,74 96,32 0,40 72,08 1,94 72,29 2,19 75,16 1,04 ES6 97,82 0,80 94,83 0,47 96,03 0,69 71,98 2,44 72,08 1,63 75,47 1,91 DT 96,21 1.01 95,32 2,18 95,61 1,36 68,3 3,24 68,7 3,48 71,21 5,11 FRBS 95,61 1,42 95,55 1,23 95,1 0,83 73,53 3,4 75,22 1,22 75,75 1,64 ANN 94,34 1,24 91,7 2,16 94,72 1,7 75,46 1,26 74,59 1,15 71,24 1,84 FPN 95,69 0,94 95,17 1,19 95,58 1,43 73,18 2,56 72,92 2,65 71,79 2,16 Tabela 2. Maiores Percentuais de acerto atingido e quantidade de características utilizada na formula encontrada (M = Percentual de acerto da melhor árvore, C = Quantidade de características do padrão utilizadas na melhor árvore) Câncer1 Câncer2 Câncer3 Diabetes1 Diabetes2 Diabetes3 M C M C M C M C M C M C ST1 99,43 7 97,13 8 98,28 8 79,69 3 78,13 6 80,73 8 ST2 99,43 7 97,13 8 98,28 7 79,69 5 77,6 5 81,25 6 ST3 99,43 9 97,13 9 97,7 9 80,73 8 77,6 6 80,73 8 Outros Sistemas ES1 98,85 96,55 97,13 78,13 75,52 77,60 ES2 98,85 95,4 97,13 75,00 75,00 78,65 ES3 99,43 95,98 97,13 77,60 73,96 78,65 ES4 98,85 95,98 97,13 76,04 73,96 78,65 ES5 98,28 95,98 97,13 75,52 75,00 77,08 ES6 98,85 95,4 97,13 76,56 74,48 77,60 DT 97,71 98,28 97,71 73,3 74,35 80,11 FRBS 97,71 98,28 96,56 78,02 76,44 78,01 ANN 97,13 97,13 98,86 77,49 76,97 75,92 FPN 97,13 97,71 97,71 76,97 76,97 75,92 A seguir são apresentados 6 gráficos referentes aos arquivos cancer1, cancer2, cancer3, diabetes1, diabetes2 e diabetes3, respectivamente. Os gráficos representam os resultados apresentados nas tabelas 1 e 2. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1485

100 99 98 97 96 95 94 93 92 91 Câncer1 Média Melhor Resultado 99,43 99,43 99,43 99,43 98,85 98,85 98,85 98,85 98,23 98,28 97,78 97,62 97,7 97,7 97,82 97,76 97,82 97,7 97,71 97,71 97,13 97,13 96,21 95,61 95,69 94,34 ST1 ST2 ST3 EA 1 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico 1. Média e Melhor resultado do arquivo Câncer1 100 98 96 94 92 Câncer2 97,13 97,13 97,13 96,55 95,98 95,98 95,98 95,42 95,4 95,4 94,64 94,81 94,89 94,6 94,89 94,94 94,77 94,83 Média Melhor Resultado 98,28 98,28 97,71 97,13 95,55 95,32 95,17 91,7 90 88 ST1 ST2 ST3 EA 1 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico 2. Média e Melhor resultado do arquivo Câncer2 100 99 98 97 96 95 94 93 92 Câncer3 Média Melhor Resultado 98,86 98,28 98,28 95,92 97,7 97,71 97,71 97,13 97,13 97,13 97,13 97,13 97,13 96,32 96,09 96,32 96,56 95,69 95,74 96,38 96,61 96,03 95,61 95,58 95,1 94,72 ST1 ST2 ST3 EA 1 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico 3. Média e Melhor resultado do arquivo Câncer3 XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1486

82 80 78 76 74 72 70 68 66 64 62 79,69 79,69 74,06 74,02 74,3 80,73 Diabetes1 Média Melhor Resultado 78,13 77,6 78,02 77,49 76,04 76,56 76,97 75 75,52 75,46 73,91 72,5 72,71 73,13 73,3 73,53 73,18 72,08 71,98 68,3 Acerto ST1 ST2 ST3 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico 4. Média e Melhor resultado do arquivo Diabetes1 80 78 76 74 72 70 68 66 64 62 Diabetes2 Média Melhor Resultado 78,13 77,6 77,6 76,44 76,97 76,97 75,52 75 75 75,22 74,59 73,96 73,96 74,48 74,35 72,66 72,92 71,58 72,03 71,25 71,46 71,46 71,88 72,29 72,08 68,7 ST1 ST2 ST3 EA 1 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico5. Média e Melhor resultado do arquivo Diabetes2 84 82 80 78 76 74 72 70 68 66 80,73 81,25 80,73 78,65 78,65 78,65 77,53 77,6 77,08 77,6 76,21 75,44 75,99 75,16 75,36 75,16 75,16 75,47 Diabetes3 Média Melhor Resultado 80,11 78,01 75,75 75,92 75,92 71,21 71,24 71,79 ST1 ST2 ST3 EA 1 EA 2 EA 3 EA 4 EA 5 EA 6 DT FRBS ANN FPN Gráfico6. Média e Melhor resultado do arquivo Diabetes3 Os gráficos a seguir apresentam o intervalo de confiança (IC) para cada arquivo da base de dados Câncer e da base de dados Diabetes. Para a elaboraçao dos gráficos de IC foi realizado um estudo ao qual foi detectado que as amostras adquiridas no experimento seguem uma distribuição Gaussiana (possuem normalidade) e, devido a esta normalidade, foi possivel XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1487

analisar, através de meios estatísticos, que 95% dos elementos encontram-se entre [(Média 1,96 * Desvio Padrão), (Média + 1,96 * Desvio Padrão)]. Assim, os gráficos a seguir demonstram um intervalo de confiança de 95%. Para os outros trabalhos, também foi assumido que existe normalidade nas amostras. Gráfico 7. Intervalo de Confiança dos resultados encontrados 5. Conclusão Este trabalho apresenta um classificador de Padrões baseado em Árvores Sintáticas. O algoritmo de otimização cria árvores adaptadas para classificar com satisfatório grau de precisão células que possuem câncer maligno ou benigno e pacientes que são diabéticos ou não. Os resultados obtidos pelo classificador desta pesquisa são satisfatórios, apresentando robustez se comparado a outras pesquisas que trabalham com as mesmas bases de dados. Uma das principais vantagens do método proposto neste trabalho é a seleção automática de características importantes para a classificação. Para o problema estudado, apenas 7 das 9 características da base de teste cancer1 foram utilizadas na melhor expressão do algoritmo ST1 e ST2 que obteve uma alta taxa de precisão (99,43% de acerto no conjunto de testes). Desta forma, pode-se diminuir o custo na coleta de informações, antes do processo de futuras classificações. Além desta vantagem, o método aqui proposto, necessita de um baixo tempo de execução para encontrar boas soluções. Para as árvores encontradas, foi necessário em média 40 segundos de processamento. Como trabalho futuro, espera-se uma melhora nas médias alcançadas e a adaptação da técnica para um classificador n-ário. Esta adaptação tem por finalidade permitir a classificação dos padrões em varias classes e não apenas 2 como no classificador binário. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1488

6. Referências Eiben, A.E. e Smith, J. E., Introduction to Evolutionary Computing. Natural Computing Series, MIT Press. Springer. Berlin, 2003. Haykin, S., Neural Networks: A comprehensive Foundation, 2nd Edition, Prentice Hall, 1998. Koza, J. R., Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press, Cambridge, MA, USA, 1992. Lin, J.Y., KE, H.R., Chien, B.C. e Yang, W.P.(2007), Designing a classifier by a layered multipopulation genetic programming approach, Pattern Recognition 40 (2007) 2211-2225. Nunes,C. M. (2004), Seleção de primitivas utilizando algoritmo Subida na Encosta otimizado em problemas de Reconhecimento de caracteres, Dissertação de Mestrado apresentada ao Programa de Pós-Graduação da Universidade Católica do Paraná. Prechelt, L. Proben1: A set of Neural Network Benchmark Problems and Benchmarking Rules, Technical Report 21/94, Fakultät für Informatik, Universität Karlsruhe, 76128 Karlsruhe, Germany, September, 1994. Teredesai, A. e Govindaraju, V. (2004), Issues in evolving gp based classifiers for a pattern recognition task, In: Proceedings of the 2004 IEEE Congress on Evolutionary Computation, p. 509-515. Tsakonas, A. (2006), A comparison of classification accuracy of four genetic programming evolved intelligent structures, Inf. Sci. 176 (2006) 691 724. Whigham, P. A. (1996), Grammatical bias for evolutionary learning, Tese de doutorado. Universidade New South Wales, Austrália. Wong, M. L. e Leung, K. S. (2000), Data mining using grammar based genetic programming and applications, Kluwer Academic Publishers. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1489