Professional Documents
Culture Documents
Autor:
Alisson Patrick Maximino
Centro Universitário Barão de Mauá
Curso de Bacharelado em Ciência da Computação
Ribeirão Preto
2007
Alisson Patrick Maximino
Ribeirão Preto
2007
Dedicatória
Aos meus pais, minha amada Mãe Marli, meu amado Pai
Vanderlei e minha amada Avó Floripes, pessoas maravilhosas,
batalhadoras, minha fonte maior de inspiração, cuidaram e doaram
incondicionalmente seu sangue e suor em forma de amor e trabalho por
mim, a minha grande e maravilhosa companheira Juliana, que me deram
apoio e carinho nos momentos mais difíceis durante esses anos
dedicados aos estudos,
Agradecimentos
The pattern classification, in this case, for several kinds of pathologies, lung related
diseases may be classified by a physian, where through his or her vast knowledge and study,
is capable of analyzing and spotting a specific disease. Starting from the Artificial Intelligence
field, and using the concepts and learning techniques of machines, in which, there are several
types of learning algorithms of machines that can be used in pattern classification. In
practice, it is hard to know what kind of algorithm to use for each problem. The different
learning systems of machines bear particular and common characteristics, which make their
classification possible as to description language, manner, paradigm and the learning method
used. The main goal of the present study is to carry out a study on some of the principal
learning algorithm of machine, among them, induction algorithms, decision rules, artificial
neural nets, algorithms based on statistical methods, and others, where performance
comparisons will be carried out over the results obtained by algorithms.
INTRODUÇÃO........................................................................................................................ 25
1 APRENDIZADO.............................................................................................................. 13
1.1 A HIERARQUIA DE APRENDIZADO.................................................................. 13
1.2 PARADIGMAS DE APRENDIZADO .................................................................... 14
1.3 TÉCNICAS DE VALIDAÇÃO................................................................................ 16
1.3.1 CROSS-VALIDATION ................................................................................... 16
1.3.2 LEAVE-ONE-OUT .......................................................................................... 17
2 APRENDIZADO DE MÁQUINA ................................................................................... 18
2.1 REDES NEURAIS ................................................................................................... 18
2.2 ÁRVORES DE DECISÃO....................................................................................... 20
2.3 C4.5 .......................................................................................................................... 21
2.4 ZERO RULE (ZEROR) ........................................................................................... 22
2.5 ONE RULE (ONER) ................................................................................................ 22
2.6 REDE BAYESIANA................................................................................................ 22
2.7 INTRODUÇÃO À MINERAÇÃO DE DADOS ..................................................... 23
2.8 WEKA ...................................................................................................................... 24
2.8.1 AMBIENTE EXPLORER DO WEKA ............................................................ 25
2.8.2 AMBIENTE EXPLORER - PRÉ-PROCESSO................................................ 26
2.8.3 AMBIENTE EXPLORER - CLASSIFICAÇÃO ............................................. 27
2.8.4 ARQUIVO ARRF ............................................................................................ 28
3 DESENVOLVIMENTO PRÁTICO ................................................................................ 30
3.1 LEVANTAMENTOS DE DADOS.......................................................................... 30
3.2 PARÂMETROS CLÍNICOS E RADIOLÓGICOS ................................................. 31
3.3 DADOS COLETADOS............................................................................................ 34
3.4 BASE DE DADOS PARA TREINAMENTO E TESTES....................................... 34
3.5 RESULTADOS OBTIDOS POR CADA ALGORITMO........................................ 34
3.5.1 RESULTADOS OBTIDOS - CROSS-VALIDATION.................................... 35
3.5.2 RESULTADOS OBTIDOS - LEAVE-ONE-OUT .......................................... 37
3.5.3 REDES NEURAIS (MLP) - CROSS-VALIDATION ..................................... 40
3.5.4 REDES NEURAIS (MLP) - LEAVE-ONE-OUT............................................ 41
3.5.5 REDES NEURAIS (RBF) - CROSS-VALIDATION...................................... 41
3.5.6 REDES NEURAIS (RBF) - LEAVE-ONE-OUT ............................................ 42
3.5.7 C4.5 - CROSS - VALIDATION ...................................................................... 42
3.5.8 C4.5 - LEAVE-ONE-OUT ............................................................................... 43
3.5.9 ZEROR - CROSS-VALIDATION................................................................... 43
3.5.10 ZEROR - LEAVE-ONE-OUT ......................................................................... 44
3.5.11 ONER - CROSS-VALIDATION ..................................................................... 44
3.5.12 ONER - ONE-LEAVE-OUT............................................................................ 45
3.5.13 REDE BAYESIANA - CROSS-VALIDATION ............................................. 45
3.5.14 REDE BAYESIANA - LEAVE-ONE-OUT .................................................... 46
CONCLUSÕES ........................................................................................................................ 47
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 48
INTRODUÇÃO
Nos últimos anos a informática tem se apresentado como um fator significativo no dia-
a-dia das pessoas, causando assim mudanças marcantes no modo de viver. O computador tem
sido de grande influência em diversas áreas de atuação, quer no emprego, em casa, centros de
pesquisas ou diversas áreas de estudos, está relacionado a constantes melhorias em qualidade
e desempenho, e, através de sua rápida evolução surgem cada vez mais equipamentos cada
vez menores e mais acessíveis. Através deste crescimento computacional, ocorre uma
intensificação de estudos científicos sobre o assunto, como ferramenta de auxílio para todas as
demais ciências.
O conceito de Aprendizado de Máquina representa parte desta interação como uma
forma de extração de conhecimento, ou seja, uma forma de aprendizado realizado por um
computador com o objetivo de obter comportamentos computacionalmente inteligentes, por
exemplo o reconhecimento de padrões.
Especificamente na Medicina, os computadores podem ser utilizados como ferramenta
de auxílio à tomada de decisões, como por exemplo, em sistemas de apoio ao diagnóstico, os
quais têm como principal objetivo auxiliar o profissional da área no processo de tomada de
decisões.
Para um médico, diagnosticar certa doença, com base nos sintomas, exames, é bem
mais simples, devido ao conhecimento, ou seja, o poder do ser humano relacionado à alta
capacidade de aprendizagem, e recursos a serem utilizados. Agora, utilizar um sistema com
base em Aprendizado de Máquina que realize com mesmo grau de eficiência no processo de
diagnosticar, não é uma tarefa tão simples.
O objetivo deste trabalho é a realização de estudos sobre algoritmos de aprendizado de
máquina, aplicados a uma base de dados médicos, e utilizando a biblioteca de algoritmos
WEKA (biblioteca gratuita de mineração de dados, que possui suporte a vários algoritmos,
que será apresentada com mais detalhe no capitulo 2).
Os resultados obtidos pelos algoritmos de classificação de padrões, nem sempre
apresentam o mesmo grau de eficiência, ou melhor, podem-se obter resultados variados, tendo
a visão de qual dos algoritmos utilizados tiveram um melhor desempenho durante a sua
execução.
13
1 APRENDIZADO
Por meio dos paradigmas citados, a aprendizagem pode ser classificada em dois tipos:
aprendizado supervisionado e aprendizado não supervisionado.
• Aprendizado supervisionado - Definido também como aprendizagem com um
‘professor’, passando valores necessários de entrada ao sistema, como a presença
de um elemento externo supervisor que fornece as informações, ou seja, é através
dessa informação ocorre à supervisão, onde, o sistema poderá verificar a saída, a
resposta esperada para que assim verifique o quanto errou durante o processo, para
que possa “aprender” com esse erro (AMBRÓSIO, 2002).
• Aprendizado não-supervisionado - Diferente da aprendizagem supervisionada, não
depende do elemento (professor) para que possa realizar a supervisão para o
processo de aprendizagem (AMBRÓSIO, 2002).
1.3.1 CROSS-VALIDATION
1.3.2 LEAVE-ONE-OUT
2 APRENDIZADO DE MÁQUINA
Aprendizado de Máquina - AM, pertence à área de IA, tem como objetivo principal
desenvolver técnicas computacionais como relação ao aprendizado desenvolver sistemas com a
missão de obter conhecimento de forma automática. Define-se sistema de aprendizado, como um
programa de computador, sendo capaz de tomar decisões com base de experiências realizadas
através da solução bem sucedida de problemas anteriores. Para simplificar o entendimento,
aprendizado de máquina, é uma técnica utilizada para obter um novo conhecimento automático,
aplicado em um computador, esse processo utiliza os algoritmos de AM, para realizar o
aprendizado de forma computacional (MITCHELL, 1997).
Desde a invenção dos computadores, o ser humano teve a curiosidade de saber se a
invenção foi feita para aprender, e também compreender como os programar para obter um
melhor aprendizado sobre o mesmo. Os algoritmos para a aprendizagem de máquina nos
auxiliam a uma melhor compreensão como habilidades de aprendizagem humanas (MITCHELL,
1997).
Conforme Carvalho (2001) “Os algoritmos de aprendizado de máquina são muito
interessantes, pois, além de modelarem bem os dados, permitindo previsões e classificações”.
Por meio dessa teoria de aprendizagem de máquina serão respondidas perguntas de como
será realizado à aprendizagem e o desempenho variando dos treinamentos apresentados, e, se os
algoritmos de aprendizagem são os mais apropriados para vários tipos de formas de
aprendizagem, visando saber qual algoritmo teve um melhor desempenho.
Pode-se dizer que redes neurais artificiais consistem em um modo de abordar a solução de
problemas de inteligência artificial. A aprendizagem de uma rede neural artificial ocorre através
de um processo iterativo de correções e ajustes associados a suas conexões, pelo qual a rede vai
aprendendo aos poucos a cada iteração realizada durante o processo de treinamento
(AMBRÓSIO, 2002).
Neste caso, ao invés de programar um computador de modo a fazê-lo similar a um
comportamento humano inteligente como, saber jogar xadrez, compreender e manter um diálogo,
19
Nó Raiz
Nó Nó Nó
Comum Comum Comum
2.3 C4.5
O algoritmo ONER é um algoritmo que produz uma regra simples, pois, é baseado em um
único atributo, assim como o ZEROR, possui baixo desempenho para os demais, mas,
comparando os dois algoritmos, o ONER ao ser aplicado na base de dados de treinamento,
consegue obter maior sucesso se referindo à porcentagem de acertos. Este algoritmo leva um
único parâmetro que é o número mínimo de exemplos (WITTEN & FRANK, 1999).
2.8 WEKA
Para aplicar a técnica de mineração de dados foi utilizado o software de domínio público,
um software livre que possui sua licença baseada na GPL (General Public Licence) denominado
WEKA (Waikato Environment for Knowledge Analysis), da Universidade de Waikato, Nova
Zelândia. O pacote WEKA consiste de uma coleção de algoritmos de aprendizado de máquina
para tarefas de mineração de dados. Pode ser usado para aplicar métodos de aprendizado a um
conjunto de dados e analisar a saída para extrair informações a partir dos dados de entrada. Todos
os algoritmos são implementados em Java, tanto novos como aqueles pré-existentes. Por
25
Neste trabalho é utilizado o ambiente Explorer do WEKA representada na figura 2.4, para
a realização dos testes, como abertura do arquivo da base de dados com extensão arff, a escolha
dos algoritmos para os testes e a validação aplicada a eles, onde, se obterá os resultados para a
realização de comparação de desempenho.
26
Nesta tela (Figura 2.5), ocorre a abertura do arquivo da base de dados, onde é realizada a
identificação dos atributos e instâncias da base por completo.
27
O WEKA utiliza arquivos de dados de treinamento, com formato (arff), onde devem ser
mostradas quais variáveis são permitidas para uma relação específica, bem como o tipo de dado
de cada variável, isto é, nominal ou valor numérico (Tabela 1). Deverá conter uma lista de todos
os atributos definindo-se o tipo do atributo ou os valores que ele pode representar. Os valores
devem estar representados entre chaves “{}” e separados por vírgulas.
29
3 DESENVOLVIMENTO PRÁTICO
Os dados utilizados foram retirados de (AMBRÓSIO, 2002), dentre varias doenças que
podem ser classificadas no grupo das lesões intersticiais pulmonares, totalizando mais de 180
diferentes doenças. Para realizar a escolha de quais seriam utilizadas como exemplo para o
desenvolvimento do sistema, contou-se com a ajuda de um médico especializado na área, no qual,
foram selecionadas as seguintes patologias:
• Paracoccidioidomicose
• Tuberculose Miliar
• Histoplasmose
• Sarcoidose
• Silicose
• Linfangite Carcinomatosa
31
a) parâmetros clínicos:
• idade do paciente;
• sexo;
• tempo de duração dos sintomas;
• constatação de estado febril;
• nível de imunidade;
• relato de doença maligna;
• paciente fumante;
• relato de tratamentos com drogas;
• relato de exposição constante à poeira;
• relato de exposição constante a antígenos orgânicos.
b) Parâmetros radiológicos:
• grau de lesões apresentadas na área superior, nas metades esquerda e direita;
• grau de lesões apresentadas na área média, nas metades esquerda e direita;
• grau de lesões apresentadas na área inferior, nas metades esquerda e direita;
• apresentação de padrão proximal ou periférico;
• homogeneidade das lesões apresentadas;
• apresentação de padrão fino ou grosseiro;
• apresentação de nodularidade;
• apresentação de linhas septais;
• apresentação de pulmão em “favo de mel”;
• verificação de perda de volume pulmonar;
• apresentação de linfadenopatia;
• apresentação de efusão pleural;
32
exceto o tamanho cardíaco (intervalo de 1 a 5), sendo dado o valor 0 para a ausência de lesão, e
valores maiores para o nível (ou tamanho) da presença de lesão.
Um total de 112 (cento e doze) casos das patologias investigadas, distribuídos como: 22
casos de paracoccidioidomicose; 14 casos de histoplasmose; 17 casos de fibrose pulmonar
idiopática; 20 casos de tuberculose miliar; 11 casos de sarcoidose; 12 casos de esclerodermia; 5
casos de silicose; 5 casos de histiocitose X; e 6 casos de linfangite carcinomatosa.
Através dos dados coletados, criou-se uma base computacional, para a aplicação dos
algoritmos. Cada um dos 112 registros dessa base (total de casos coletados) compõe-se de uma
cadeia de 27 valores para o protocolo de entrada, sendo eles 18 valores numéricos e 9 entre
nominais e booleanos, representando os 26 campos do protocolo de entrada, mais 1 valor para
representar a saída esperada.
Cross-Validation
80,00%
69,70%
70,00%
0,00%
Cross-Validation
100%
100,00%
90,00% 82,50% Algoritmos
80,00%
61,90% One Rule
70,00%
56,99% Zero Rule
60,00% 56,77%
Rede Neural (MLP)
50,00% 42,70% Rede Neural (RBF)
40,00%
Rede Bayesiana
30,00%
C 4.5 (J.48)
20,00%
10,00%
0,00%
1
Cross-Validation
40 37,8
35
30 Algoritmos
One Rule
25
Zero Rule
20 Rede Neural (MLP)
Rede Neural (RBF)
15 12,05
Rede Bayesiana
10 C 4.5 (J.48)
5
0,03 0,13 0,25
0
55,13% de erro absoluto relativo e - segundos em tempo de execução e o C 4.5 (J.48) 50,90% de
acerto, 57,33% de erro absoluto relativo e 0,05 segundos em tempo de execução, que obtiveram
um bom desempenho. Os valores de desempenho estão representados no gráfico da figura 3.5,
onde cada algoritmo possui a sua respectiva cor fixada na legenda de cada gráfico. Na tabela 6
estão os valores em % de acerto, tabela 7 valores de erro absoluto relativo e os valores de tempo
de execução representados na tabela 8.
Leave-One-Out
80,00%
70,50%
70,00%
57,10% Algoritmos
60,00%
50,90% One Rule
48,20%
50,00%
Zero Rule
40,00% Rede Neural (MLP)
Rede Neural (RBF)
30,00% 24,10%
19,60% Rede Bayesiana
20,00% C 4.5 (J.48)
10,00%
0,00%
Leave-One-Out
100%
100,00%
87,10%
90,00%
80,00% Algoritmos
70,00% 60,10% One Rule
60,00% 55,13% 57,33% Zero Rule
50,00% 42,64% Rede Neural (MLP)
40,00% Rede Neural (RBF)
30,00% Rede Bayesiana
20,00% C 4.5 (J.48)
10,00%
0,00%
1
Leave-One-Out
40
36,33
35
30 Algoritmos
One Rule
25
Zero Rule
20 Rede Neural (MLP)
Foram realizados dois testes para cada algoritmo, aplicado por duas validações, por
Cross-Validation e Leave-One-Out, com o objetivo de verificar qual algoritmo vai obter o melhor
desempenho com relação à porcentagem de erro e acerto, levando em conta o tempo de execução
de cada um. Dentre todos o que obteve o pior desempenho foi o algoritmo ZEROR, resultado já
esperado, pois, o algoritmo aplica a base de dados uma única regra, onde, prediz o valor mais
freqüente nos dados, sendo assim, resultando em uma porcentagem baixe de acerto. O algoritmo
que obteve o maior desempenho foi a rede neural (MLP), com maior porcentagem de acerto.
O teste realizado pela rede bayesiana com validação de Cross-Validation, realizados com
o número total de 112 registros obteve o resultado de 64 acertos com porcentagem de 57.1429 %
e 48 erros com porcentagem de 42.8571 % de erro. A seguir a matriz resultante gerada pelo
algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada:
46
O teste realizado pela rede bayesiana com validação de Leave-One-Out, realizados com o
número total de 112 registros obteve o mesmo resultado pela validação de Cross-Validation 64
acertos com porcentagem de 57.1429 % e 48 erros com porcentagem de 42.8571 % de erro. A
seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a
classificação da doença esperada:
CONCLUSÕES
REFERÊNCIAS BIBLIOGRÁFICAS
FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMITH, P. The KDD process for extracting
useful knowledge from volumes of Data. Communications of the ACM, New York, 1996.
WITTEN, I. H., AND FRANK E. Data Mining: Practical Machine Learning Toolsand
Techniques with Java Implementations. San Francisco, 1999.