Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO
PEDRO VITOR BAPTISTA DE MOURA
RECONHECIMENTO DE GESTOS REAIS E IMAGINÁRIOS A
PARTIR DE SINAIS ELETROENCEFALOGRÁFICOS UTILIZANDO
METACLASSIFICADORES
RECIFE
2019
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
CURSO DE BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO
PEDRO VITOR BAPTISTA DE MOURA
RECONHECIMENTO DE GESTOS REAIS E IMAGINÁRIOS A
PARTIR DE SINAIS ELETROENCEFALOGRÁFICOS UTILIZANDO
METACLASSIFICADORES
1
2
AGRADECIMENTOS
Agradeço a esta universidade pela oportunidade de estudar e me proporcionar um
ambiente de crescimento não só intelectual, mas como pessoal.
Ao professor Wellington Pinheiro dos Santos pela atenção, dedicação, além de uma
extrema competência no que faz, e como meu orientador. Por ter tido paciência e me guiado
por todo o processo, fazendo com que o período não fosse estressante.
Agradeço aos meus amigos Fernando Castelo Branco, Antônio Padilha e Gabriella
Caldas por me aguentarem por todos esses anos, e estarem sempre a disposição para qualquer
problema.
À Ingrid Nunes, que fez parte da minha vida durante bons e maus momentos, que
mesmo após o fim do nosso relacionamento esteve me ajudando a me tornar uma pessoa
melhor. Também agradeço por ter me apresentado ao professor Wellington, pois caso
contrário este trabalho não teria sido realizado.
Por fim, agradeço a minha família, pois sem o apoio e amor incondicional deles, eu
não estaria mais vivo para poder finalizar este capítulo da minha jornada. Em especial minha
mãe, por ter me guiado e puxado meu pé quando necessário para eu não perder o foco, além
de me ensinar o valor da palavra sacrifício.
3
RESUMO
Interfaces cérebro-máquina vêm sendo cada vez mais utilizadas para tratamentos de
reabilitação de movimentos perdidos parciais, e totais, como uma alternativa para a
fisioterapia. Algoritmos de aprendizagem de máquina são utilizados para garantir uma
classificação do sinal de uma forma simples e elegante. Neste trabalho de graduação serão
investigados e implementados diferentes formas de classificadores como árvores de decisão,
utilizando de comitês, stacking e bagging para reconhecimento de sinais
eletroencefalográficos.
Palavras-chave: Interfaces cérebro-máquina, eletroencefalograma, redes neurais, florestas
aleatórias, metaclassificadores.
4
Sumário
1. Introdução 9
1.1. Motivação 9
1.2. Estado da Arte 10
1.3 Objetivos 11
2. Conceitos Básicos 12
2.1. Sinal Eletroencefalográfico 12
2.2 Aprendizagem de Máquina 19
3. Metodologia 28
3.1 Banco de Dados 28
3.2 Experimento 30
3.3 Ambiente 45
4. Resultados 46
4.1 Acurácia 46
4.2 Tempo de Execução 50
4.3 Kappa 58
4.4 Raiz-Quadrada do Erro Médio e Número de Falsos Positivos 63
5. Conclusão 68
5.1 Trabalhos Futuros 68
6. Referências Bibliográficas 70
5
Lista de Figuras
Figura 2.1: Exemplos de diferentes ritmos de atividade elétrica cerebral. 18 Figura 2.2: EEG de um adulto com olhos abertos e depois fechados. 18 Figura 2.3: Diferentes EEG mostrando anormalidades nas suas formas de ondas em adultos com diferentes tipos de epilepsia. 19 Figura 2.4: O sistema recomendado pela Federação Internacional das Sociedades EEG. 20 Figura 2.5: Desenho de um perceptron. 21 Figura 2.6: Exemplo de MLP. 22 Figura 2.7: Exemplo de SVM. 23 Figura 2.8: Exemplo de uma árvore de decisão. 25 Figura 2.9: Grafo representando a rede do ladrão 27 Figura 3.1: Representação da saída de um EEG. 30 Figura 3.2: Configuração de uma MLP utilizando o WEKA. 31 Figura 3.3: Planilha resultado da classificação através de um MLP com 50 neurônios. 33 Figura 3.4: Exemplo das configurações de uma SVM no WEKA. 34 Figura 3.5: Saídas geradas por uma SVM Linear no WEKA. 35 Figura 3.6: Configuração de uma Random Tree no WEKA. 36 Figura 3.7: Planilha contendo as saídas da árvore aleatória no WEKA. 37 Figura 3.8: Configurações de uma floresta aleatória no WEKA. 38 Figura 3.9: Planilha com algumas saídas de uma Random Forest com 10 árvores no WEKA. 39 Figura 3.10: Configurações aplicada a uma Rede Bayesiana no WEKA. 40 Figura 3.11: Planilha contendo os resultados de uma Rede Bayesiana no WEKA. 41 Figura 3.12: Configurações do Bagging no WEKA. 42 Figura 3.13: Configurações do Stacking no WEKA. 43 Figura 3.14: Configurações do Voting no WEKA. 44 Figura 3.15: Exemplo do ambiente experimental do WEKA. 45 Figura 4.1: Resultados gráficos da acurácia das SVMs. 47 Figura 4.2: Diagramas de caixa das florestas aleatórias de 10 a 50 árvores. 48 Figura 4.3: Diagrama de caixa das florestas aleatórias de 60 a 100 árvores. 48 Figura 4.4: Representação gráfica das MLPs e da rede bayesiana. 49 Figura 4.5: Resultados da árvore aleatória e dos metaclassificadores aplicados. 50 Figura 4.6: Diagrama de caixas para florestas aleatórias com 10 a 50 árvores. 52 Figura 4.7: Diagrama de caixas para florestas aleatórias com 60 a 100 árvores. 53 Figura 4.8: Diagrama de caixas para SVMs de grau 3 e RBF, rede bayesiana e árvore aleatória. 54 Figura 4.9: Diagrama de caixas das MLPs e SVMs de grau 2 e linear. 56 Figura 4.10: Diagrama de caixas dos metaclassificadores. 57 Figura 4.11: Diagrama de caixas dos kappas das SVMs. 58 Figura 4.12: Diagrama de caixas dos kappas das florestas aleatórias com 10 a 50 árvores. 59 Figura 4.13: Diagrama de caixas dos kappas das florestas aleatórias com 60 a 100 árvores. 59 Figura 4.14: Diagrama de caixas dos kappas das MLPs e rede bayesiana. 60 Figura 4.15: Diagrama de caixas dos kappas dos metaclassificadores e da árvore aleatória. 61
6
LISTA DE TABELAS
Tabela 1 - Valores dos RMSEs dos metaclassifcadores e árvore aleatória 62 Tabela 2 - Valores dos RMSEs das MLPs e rede bayesiana 62 Tabela 3 - Valores dos RMSEs das SVMs. 62 Tabela 4 - Valores dos RMSEs das florestas aleatórias de 10 a 50 árvores. 63 Tabela 5 - Valores dos RMSEs das florestas aleatórias de 60 a 100 árvores. 63 Tabela 6 - Número de falsos positivos dos metaclassificadores e árvore aleatória. 64 Tabela 7 - Número de falsos positivos das MLPs e rede bayesiana. 64 Tabela 8 - Número de falsos positivos das SVMs. 64 Tabela 9 - Número de falsos positivos das florestas aleatórias de 10 a 50 árvores. 65 Tabela 10 - Número de falsos positivos das florestas aleatórias de 60 a 100 árvores. 65
7
TABELA DE SIGLAS
Sigla Significado Página
ICM Interface cérebro-máquina 11
AM Aprendizagem de Máquina 11
EEG Eletroencefalograma 12
LDA Linear Discriminant Analysis 12
SMU Unidade Motora Singular 15
EMG Eletromiograma 15
ECG Eletrocardiograma 15
EOG Eletrooculograma 16
AI Inteligência Artificial 20
MLP Multilayer Perceptron 20
SVM Máquina de Vetor Suporte 23
RBF Função de Base Radial 24
8
1. Introdução
1.1. Motivação
Um problema constante e atual, é a perda de movimentos, tanto parciais, vítimas de
derrames por exemplo, ou totais, como pacientes com membros amputados, paraplégicos e
tetraplégicos.
Para a maioria dos casos de perda de movimentos, o tratamento recomendado é ainda
a fisioterapia, porém por se tratar de um trabalho repetitivo, onde o paciente precisa participar
de várias sessões e o resultado vem de forma lenta, causando desestímulo por parte dos
pacientes a continuar pois acreditam que não irão progredir [1]. Com o desenvolvimento de
tecnologias, surge um novo ramo para reabilitação de pacientes que sofrem com perda de
movimentos que são as interfaces cérebro-máquina (ICM).
Nos últimos anos as aplicações voltadas para as interfaces cérebro-máquina se
expandiram [2] e dentre as possíveis aplicações, o comando de próteses, de exoesqueletos e
de jogos digitais, possuem um papel importante. Para jogos digitais, é uma realidade que irá
se expandir em breve com o desenvolvimento de headsets capazes de realizar a leitura, o que
muda completamente a visão de lazer de hoje [3]. O comando de próteses e exoesqueletos,
permite aos pacientes que sofreram algum tipo de perda de movimento uma alternativa para
fisioterapia, com isso eles conseguem obter a reabilitação do movimento perdido sem a
exaustão causada pelo tratamento fisioterápico.
Como a proposta de uma ICM é fazer a transmissão dos sinais cerebrais à máquina, o
desempenho é diretamente ligado a uma boa captura e reconhecimento da atividade cerebral,
especialmente o eletroencefalograma (EEG), onde os eletrodos têm função de captar a
atividade e transmitir o sinal. Para garantir um melhor desempenho, algoritmos são usados
para interpretação dos sinais capturados, e uma maneira que vem sendo bastante utilizada é
aprendizagem de máquina (AM) [4]. A vantagem de utilizar AM é poder utilizar de conjuntos
de testes e treinamento para as amostras provenientes do EEG, e utilizar de métodos
classificatórios para poder determinar o valor da informação medida.
9
O número de algoritmos de AM que podem ser utilizados para o reconhecimento de
sinais eletroencefalográficos é cada vez maior, e cada um possui suas particularidades; como
tempo de execução, taxa de acerto, por exemplo. No meio de tantas abordagens diferentes,
achar um método ideal para aplicar a uma ICM, deve ser prioridade.
1.2. Estado da Arte Para este problema, muitos autores decidiram propor uma solução ideal para o
treinamento e captura do sinal. Os trabalhos têm como foco, apontar melhorias criadas pela
proposta dos mesmos.
Sagee (Sagee, e Hema, 2017), comenta da correlação entre as diferentes áreas do
cérebro, e leva em consideração essa premissa para realização do seu experimento. Para isso,
ele realiza o treinamento e classificação das amostras utilizando rede bayesiana e redes
neurais artificiais (RNA).[5] O problema dessa abordagem é o escopo limitado de algoritmos
utilizados para classificação dos sinais, outro ponto é que os autores levam em consideração a
acurácia como um ponto de melhoria e não analisa outros parâmetros chaves para determinar
uma melhor abordagem.
O trabalho de Nicolas-Alonso (Nicolas-Alonso, Corralejo, Gómez-Pilar, Álvarez, e
Hornero, 2014), cita a problemática em classificar sinais provenientes de um
eletroencefalograma e propõe um framework de classificação utilizando um modelo de
aprendizagem ensemble, modelo este, que garante uma melhoria no kappa em 0.04,
superando a classificação por análise de discriminantes lineares (LDA).[6] Apesar da
melhoria do resultado comparado à outro classificador, por se tratar de uma classificação
utilizando metaclassificadores não há uma base de informações grande o suficiente para
garantir que é o melhor resultado, além disso, o parâmetro foco pelo trabalho foi o kappa,
deixando de lado parâmetros como tempo de execução.
Também proposta por Nicolas-Alonso (Nicolas-Alonso, Corralejo, Gómez-Pilar,
Álvarez, e Hornero, 2015), um novo algoritmo chamado de stacked regularized linear
discriminant analysis (SRLDA), que garante uma melhora da classificação por LDA.[7]
Apesar dos bons resultados, este trabalho sofre dos mesmos problemas do anterior.
10
A proposta de Rahimi (Rahimi, Zarei, Nazerfard, e Moradi, 2016), utiliza de
metaclassificadores para uma melhoria da acurácia [8], e assim como Nicolas-Alonso, o
trabalho utiliza de um número limitado de algoritmos para propor uma solução ideal, além de
ter como foco apenas o parâmetro da acurácia.
Donovan (Donovan, e Yu, 2018), Wu (Wu, Liu, Chou, et al, 2016) e Herman
(Herman, Prasad, e McGinnity, 2017), propuseram diferentes tipos de sistemas fuzzy para
melhoria na classificação dos sinais. Donovan propõe utilizar transformada discreta nas
formas de onda capturadas, em conjunto com sistema fuzzy tipo TSK (i.e.
Tagaki-Sugeno-Kang). [9] A proposta do trabalho é lidar com inconsistências nas
informações medidas e apesar de satisfatórios, o trabalho não prever o melhor método. Já Wu,
utiliza de análise de discriminantes lineares múltipla (MLDA) em conjunto com o sistema
fuzzy que utiliza inteligência de enxame para optimização, com isso obtendo uma melhoria na
área sob a curva ROC. [10] Como outros trabalhos citados nesta seção, o método proposto
foca na melhoria em apenas um parâmetro, não avaliando outros parâmetros de mesma
importância. Finalmente, o trabalho de Herman propõe um sistema tipo-2 fuzzy, e assim como
o modelo de Donovan, garante lidar com inconsistências provenientes do sinal
eletroencefalográfico, além disso, cita uma melhoria quando comparado à utilização de uma
LDA. [11]
1.3. Objetivos
O objetivo deste trabalho é fazer o reconhecimento de gestos provenientes de sinais
eletroencefalográficos e classificar, utilizando diferentes abordagens, com o propósito de
realizar uma comparação estatística e obter uma melhor abordagem. Os métodos escolhidos
foram: máquinas de vetor suporte, multilayer perceptrons, florestas aleatórias, árvore
aleatória, rede bayesiana, além dos metaclassificadores, bagging, stacking e voting.
1.3.1. Objetivos Específicos
● Realizar o treinamento da máquina utilizando os algoritmos citados acima.
● Analisar os resultados através de diagramas de caixa e tabelas para quantificar
a melhor solução.
11
2. Conceitos Básicos
Neste capítulo, são introduzidos alguns termos e conceitos utilizados ao longo deste
trabalho. Na Seção 2.1, será descrito o tipo de sinal utilizado, assim como o aparelho utilizado
para captura e geração dos dados do banco. A Seção 2.2 traz os conceitos relacionados à
aprendizagem de máquina, redes neurais e outros classificadores, além de conceitos
relacionados aos metaclassificadores.
2.1. Sinal Eletroencefalográfico 2.1.1 Sinal Biológico
Para entender o que é um sinal eletroencefalográfico e como este pode ser capturado, é
necessário uma discussão sobre o que são sinais biológicos. Sinais biológicos, ou biosinais,
são uma coleção de registros em função do espaço-tempo de um evento biológico [12] tal
como o evento de piscar os olhos. As atividades elétricas, químicas e mecânicas que ocorrem
durante esses eventos podem ser medidas e analisadas utilizando uma grande variedade de
maneiras dependendo do tipo específico do sinal [12].
Os sinais biológicos podem ser categorizados de 6 formas: Sinais biomagnéticos,
sinais biomecânicos, sinais bioquímicos, sinais bioacústicos, sinais bióticos e sinais
bioelétricos. [12]
● Sinal Biomagnético: Alguns tipos de órgãos, como coração, cérebro e pulmão,
conseguem produzir campos magnéticos de uma magnitude menor que a dos
sinais elétricos produzidos pelos mesmos. O biomagnetismo é a medida desses
sinais que são geralmente conectados com o campo elétrico de um determinado
tecido ou órgão.
● Sinal Biomecânico: São sinais que são gerados a partir de qualquer função
mecânica de um sistema biológico. Movimento, tensão, pressão, força e fluxo
12
são exemplos dessas funções. Mudanças na pressão do sangue e da expansão
do pulmão no ato de inspirar/expirar podem ser medidos e analisados.
● Sinal Bioquímico: A informação contida com a mudança na concentração de
íons como sódio e cálcio no sangue pode ser encontrada nos sinais
bioquímicos. A mudança na pressão parcial do oxigênio no sistema respiratório
também podem ser analisados através dos sinais. Em geral, os sinais
bioquímicos contém informação sobre mudança na concentração de agentes
químicos no corpo, e podem ser medidos e analisados para poder determinar
níveis de glicose, lactose, colesterol em um corpo.
● Sinal Bioacústico: Envolve a produção sonora, a dispersão no meio ambiente
e a recepção através de um sistema auditivo.
● Sinal Biótico: Sinais gerados a partir da indução de luz nos atributos óticos de
um sistema biológico.
● Sinal Bioelétrico: Mudanças eletroquímicas entre células resultam em
produzir sinais bioelétricos. Células nervosas e musculares são tipos de células
que produzem este tipo de sinal caso haja um estímulo forte o suficiente para
atingir a janela necessária. Potencial de ação representa o fluxo de íons através
de uma membrana celular e pode ser transmitido de uma célula para as suas
adjacentes através seu axônio. Quando muitas células estão ativas é gerado um
campo elétrico que é propagado por todo o tecido biológico.
2.1.2 Sinal Bioelétrico
Como visto na seção anterior, sinal bioelétrico é uma subdivisão dos sinais biológicos
e são produzidos como resultado de atividades eletroquímicas em células excitáveis, que são
componentes de tecidos nervoso, muscular ou glandular. Essas células produzem um
potencial de repouso e, quando estimuladas, um potencial de ação.
No estado de repouso, é mantido uma diferença de potencial elétrico entre -40 e
-90mV entre as regiões internas e externas. Para manter esse estado estável iônico entre as
partes internas e externas, é necessário um transporte ativo contínuo de íons. Esse mecanismo
de transporte pode ser encontrado na membrana.
O outro estado é o ativo, e este tem a habilidade de conduzir um potencial de ação
quando propriamente estimulado. Para ser considerado adequado, o estímulo precisa causar
13
uma despolarização na membrana celular que seja o suficiente para exceder o seu potencial
limite e assim criando o potencial de ação. O potencial viaja a uma velocidade constante por
toda a membrana. No estado de repouso a membrana celular está polarizada, por causa do seu
potencial de repouso estável, uma diminuição na magnitude da polarização é uma
despolarização e um aumento é chamado de hiperpolarização. [13]
Um sinal bioelétrico pode ser dividido em categorias como: Eletromiográfico,
eletrocardiográfico, eletrooculográfico e eletroencefalográfico.
● Eletromiograma (EMG): É o estudo de uma atividade elétrica, seja essa
normal ou anormal, do músculo. Exemplos são contrações musculares. Fibras
musculares ativas de uma unidade motora singular (SMU) constitui em uma
fonte elétrica distribuída localizada em um condutor que possui todas as outras
fibras do músculo, sejam essas ativas ou inativas. O campo potencial criado
por fibras ativas de um SMU tem uma variação de amplitude entre 20 e
2000µV. O potencial de ação nervoso, que se propaga sobre o nervo motor e
inervações do músculo, causa a ativação de um potencial de ação muscular,
este causa a liberação de íons de cálcio na fibra muscular, que acarreta em um
aumento do nível o que gera a contração.
● Eletrocardiograma (ECG): O ECG consiste no monitoramento da atividade
elétrica do coração relacionada aos seus movimentos de contração e
relaxamento, ou sístole e diástole. O coração é um tipo especial de músculo
que possui dois compartimentos superiores chamados de átrios, e dois
inferiores chamados de ventrículos, e a comunicação entre eles impulsiona o
sangue pelos vasos. O coração compreende diversos tipos diferentes de
tecidos, células representativas de cada um desses tecidos diferem
anatomicamente em um certo ponto e essas células são todas eletricamente
excitáveis. Antes da excitação o potencial de repouso da célula é de
aproximadamente -85mV, então vem a fase inicial de rápida despolarização
que tem uma taxa de crescimento de 150V/s, seguido então da fase inicial de
rápida repolarização, em um ciclo que dura aproximadamente entre 200 e
300ms. A repolarização restaura o potencial da membrana para o seu nível de
repouso. A duração da forma de onda do potencial de ação é conhecido como
sístole elétrica, enquanto que da fase de repouso é diástole elétrica. Doenças
14
cardiovasculares podem causar uma despolarização tardia do miocárdio e isso
pode ser observado em um dos segmentos do ECG.
● Eletrooculograma (EOG): Ao redor da órbita ocular existem pequenos
músculos e os movimentos relativos às suas atividades criam um potencial
elétrico e este pode ser medido através de pares de eletrodos localizados acima
e abaixo a cada olho para movimentos verticais e nas laterais para movimentos
horizontais. Os movimentos causam potenciais complementares formando um
dipolo elétrico. Diferente dos outros sinais bioelétricos, o EOG necessita de um
amplificador para poder ser medido, além disso ele sofre de falta de precisão
nas extremidades. Algumas de suas aplicações são reconhecimento de fases do
sono, auxilia no reconhecimento das fases através da relação com os
movimentos oculares durante o sono, e movimentos para estabilizar a imagem
na retina durante uma rotação da cabeça.
● Eletroencefalograma (EEG): O EEG é o registro da atividade elétrica criadas
pelas células nervosas do cérebro. Ao posicionar eletrodos no escalpo e
amplificando a atividade elétrica é possível medir o sinal. A variação de níveis
elétricos são chamadas de ondas cerebrais. Quando em uma área pequena do
córtex cerebral tem muita de suas células em atividade, gera o potencial
elétrico. Quando os potenciais em muitos neurônios se modificam de forma
síncrona, criam os ritmos do sinal. O ritmo alfa é o mais se destaca, foi o
primeiro ritmo a ser descrito e tomou esse nome pelo seu observador Berger,
geralmente varia entre 8 a 13Hz. Berger também observou ondas de baixa
amplitude e tensão, onde as atividades são em torno de 13 e 30Hz, e foram
chamadas de ondas Beta. Atividades cerebrais de frequência superiores a 30Hz
são chamadas de ondas Gama. Já ondas com frequência de 4 a 8Hz são
chamadas de ondas Teta. Atividades entre 0.5 e 4Hz, apesar de raras em
adulto, podem ocorrer, e as ondas foram denominadas Delta por Walter e
Dovey. Essa mudança de frequência está diretamente relacionado com a
atividade cerebral, onde ondas Delta são frequentemente encontradas em
pessoas que receberam anestesia cirúrgica, por exemplo. Em adultos saudáveis,
mudanças nos sinais eletroencefalográficos ocorrem de maneira regular com os
níveis de consciência. Exemplo disso é um adulto com olhos fechados,
15
relaxado e acordado, irá apresentar na sua maioria ondas Alfa, ao abrir os
olhos, a amplitude do sinal deverá cair, e isso ocorre por causa da estimulação
visual. Mais sobre o sinal eletroencefalográfico e como ele pode ser capturado
irá ser discutido na próxima seção.
2.1.3 Sinal Eletroencefalográfico
Apesar da atividade elétrica cerebral ser descrita desde o século 19, foi só com Hans
Berger que o termo eletroencefalograma foi introduzido. Há três tipos de eletrodos para a
captura das variações de potenciais: escapular, cortical e intracranial, porém por ser menos
invasivo o mais utilizado é o no escalpo. [13]
O sinal eletroencefalográfico representa a superposição dos campos potenciais
produzidos pela a atividade neuronal. Como visto na seção anterior, os registros elétricos da
superfície cerebral demonstram certos tipos de padrões de oscilação contínua na atividade
elétrica, gerando assim certos ritmos que variam tanto na amplitude, como na frequência. Na
Figura 2.1 pode observar que os diferentes padrões das ondas estão diretamente ligados ao
estado de relaxamento do ser observado, onde um adulto saudável excitado vai ter uma
predominância de ondas Gama, enquanto se estiver relaxado a maioria será Alfa, dormindo o
adulto irá apresentar ondas Teta e quando está em sono profundo pode encontrar padrões de
ondas Delta. Já na Figura 2.2 há uma comparação entre os padrões de atividades em um
adulto saudável, apenas com o ato de abrir e fechar os olhos. A amplitude da onda muda
instantaneamente com o fechar dos olhos e isso ocorre pela diminuição da intensidade da luz
na retina. O EEG dentre suas aplicações, pode ser usado para diagnosticar certos tipos de
enfermidades neurológicas, devido a alterações no comportamento das ondas, como é
observado na Figura 2.3, onde ondas podem apresentar uma amplitude maior do que o normal
50µV, como também podem apresentar padrões diferentes no comportamento da frequência.
16
Figura 2.1: Exemplos de diferentes ritmos de atividade elétrica cerebral.
Fonte: Muse, acessado em Mai 2019, https://choosemuse.com/blog/a-deep-dive-
into-brainwaves-brainwave-frequencies-explained-2/
Figura 2.2: EEG de um adulto com olhos abertos e depois fechados.
Fonte: Thinking Cap, acessado em Mai 2019, http://produceconsumerobot.com/thinkingcap/
17
https://choosemuse.com/blog/a-deep-dive-into-brainwaves-brainwave-frequencies-explained-2/https://choosemuse.com/blog/a-deep-dive-into-brainwaves-brainwave-frequencies-explained-2/http://produceconsumerobot.com/thinkingcap/
Figura 2.3: Diferentes EEG mostrando anormalidades nas suas formas de ondas em adultos
com diferentes tipos de epilepsia.
Fonte: A. C. Guyton, Structure and Function of the Nervous System, 2nd ed., Philadelphia:
W.B. Saunders, 1972.
Existem vários procedimentos para adquirir os sinais eletroencefalográficos, porém o
mais utilizado é o escapular, pois não exige cirurgia para abrir a cabeça do paciente, apenas o
posicionamento dos eletrodos ao redor do escalpo. Na Figura 2.4 demonstra o padrão
recomendado para obter uma boa aquisição do EEG, porém o número de eletrodos
posicionados ao redor do escalpo, pode variar para mais ou para menos, dependendo do
intuito da medição. Mesmo o escapular há diferentes formas de aplicar os eletrodos, onde uma
das formas é aplicando eletrodo por eletrodo nos pontos chave para obtenção do sinal, o que
requer abrasão da pele para melhor condutividade do sinal, além de um maior tempo para
dispor de todos os eletrodos conectados. Outra forma são tocas que já vêm com os eletrodos
conectados e não requer tricotomia, que às vezes é necessária para a primeira forma.
18
Figura 2.4: O sistema recomendado pela Federação Internacional das Sociedades EEG.
Fonte: H. H. Jasper, “The ten-twenty electrode system of the International Federation in
Electroencephalography and Clinical Neurophysiology.” EEG Journal, 1958, 10 (Appendix),
371-375.
2.2. Aprendizagem de Máquina
Para um melhor entendimento do experimento realizado, esta seção irá explicar sobre
os algoritmos de inteligência artificial utilizados, categorizando em classificadores e
metaclassificadores.
2.2.1 Multilayer Perceptrons
Para compreender sobre como funciona o modelo Multilayer Perceptrons (MLP), é
necessário entender antes o que é um perceptron. Do mesmo jeito que o cérebro humano
consiste em uma rede de neurônios, uma rede neural consiste em um conjunto de neurônios
artificiais , onde um único neurônio é conhecido como Perceptron.
O perceptron é construído em cima de um neurônio não-linear, conhecido como
neurônio de McCulloch-Pitts. A Figura 2.5 descreve o modelo de perceptron de Rosenblat,
onde um conjunto de entradas combinadas aos seus respectivos pesos são classificadas em 1
ou 0, ou -1 e 1, dependendo da função de ativação que esteja usando. A fórmula 2.1 mostra a
19
equação de um perceptron levando em consideração o seu bias, enquanto na equação 2.2
mostra a função de ativação do neurônio.
Figura 2.5: Desenho de um perceptron.
Fonte: Towards Data Science, acessado em Mai 2019,
https://towardsdatascience.com/what-the-hell-is-perceptron-626217814f53
(2.1)
(2.2)
O problema desse modelo, é que ele é extremamente simples e com isso é limitado
para resolver uma certa classe de problemas menos complexos. Para poder resolver problemas
com um alto grau de complexidade, e da mesma forma que um cérebro humano é composto
por bilhões de neurônios, existe um modelo que é composto por vários perceptrons, e este
modelo é o MLP.
O MLP consiste em um conjunto de unidades sensoriais, essas que são uma camada de
entrada, uma ou mais camadas intermediárias e uma camada de saída, cada camada pode
20
https://towardsdatascience.com/what-the-hell-is-perceptron-626217814f53
conter um ou mais perceptrons. O sinal de entrada se propaga pela rede indo em frente,
baseando-se nas camadas. Por esse motivo, MLPs são consideradas redes neurais do tipo
feedforward.[14]
Diferente dos Perceptrons, Multilayer Perceptrons obtiveram sucesso em solucionar
problemas difíceis do mundo real, utilizando de treinamento de maneira supervisionada e
aplicando um algoritmo popular conhecido como gradiente descendente (backpropagation).
Este algoritmo é composto por duas fases, a primeira fase é a ida, onde o vetor de entrada é
aplicado às unidades sensoriais e seu efeito se propaga pelas camadas até gerar o conjunto de
saídas correspondente. Na ida os pesos sinápticos das redes são fixos, enquanto que na
segunda fase, a volta, os pesos são ajustados de acordo com o erro da camada. O sinal de erro
é propagado da camada de saída até a camada de entrada, ajustando os pesos de acordo, por
isso é chamado de backpropagation. [14]
A Figura 2.6 mostra um exemplo de MLP, com duas camadas intermediárias, uma
com 4 e a outra com 3 neurônios, e a camada de saída com um neurônio.
Figura 2.6: Exemplo de MLP.
Fonte: Multilayer perceptron example, acessado Mai 2019,
https://github.com/rcassani/mlp-example
21
https://github.com/rcassani/mlp-example
2.2.2 Support Vector Machines
Support vector machines (SVM) são um tipo de rede feedforward, proposta por
Vapnik (Boser, Guyon, e Vapnik, 1992; Cortes e Vapnik, 1995; Vapnik, 1995, 1998), que
assim como MLPs, servem para classificação de padrões e regressão não-linear.
Ao pegar certos tipos de padrões separáveis, por exemplo, a SVM age de forma que
ela constrói um hiperplano como uma superfície de decisão de forma que a margem de
separação entre positivo e negativo são maximizados. Pode se dizer que SVMs são uma
implementação aproximada do método de minimização de risco estrutural. O princípio de
indução é baseado no que a taxa de erro de um conjunto de teste é limitado pela taxa de erro
de treinamento somado ao termo que depende da dimensão Vapnik-Chervonenkis (VC), onde
no caso de padrões separáveis a SVM retorna valor zero para o primeiro termo e minimiza o
segundo termo.[14]
Na Figura 2.7 é ilustrada a idéia de um hiperplano ótimo para separar linearmente os
padrões. No gráfico os vetores suporte cortam o plano para criar o hiperplano responsável
para a separação.
Figura 2.7: Exemplo de SVM.
Fonte: S. Haykin, Neural Networks: A Comprehensive Foundation, 2nd ed., Prince Hall
International, 1999.
22
SVMs podem ser classificadas de várias maneiras, essas maneiras são: SVMs
Lineares, SVMs Polinomiais e SVMs Função de base radial (RBF). No próximo capítulo será
detalhado mais a diferença entre os três tipos e a sua aplicação.
2.2.3 Árvores de Decisão
Árvores de decisão utilizam de classificação supervisionada. São construídas a partir
da estrutura de dados árvore, onde um nó superior é chamado de raiz, que gera segmentações
(i.e. ramos) conectando a nós intermediários, e desce até chegar aos nós sem filhos (i.e. nós
que não possuem nenhum ramo de saída) que são as folhas. Um nó representa uma
característica, enquanto que um ramo representa uma variedade de valores, essa variedade
serve de ponto de partição para um determinado nó.
Uma árvore de decisão é composta de dados pré classificados, a divisão em diferentes
classes é decidida pelas características que melhor dividem os dados. Dessa forma, os dados
podem ser separados de acordo com as características para os nós filhos, onde o processo será
repetido até que todos os nós possuam apenas dados da mesma classe.[15]
Inicialmente o nó raiz conterá todos os dados do conjunto de teste, cada um portando
determinadas características, após a primeira separação, cada um dos nós filhos irá conter
dados similares, após a n-ésima separação todas as folhas da árvore irão conter apenas
elementos da mesma classe, assim como é visto na Figura 2.8.
23
Figura 2.8: Exemplo de uma árvore de decisão.
Fonte: What is a decision tree?, acessado em Mai 2019,
https://www.displayr.com/how-is-splitting-decided-for-decision-trees/
Árvores de decisão podem ser categorizadas em diversas formas, para este trabalho,
apenas duas categorias serão discutidas: Random Trees e Random Forest.
● Random Tree: Árvores aleatórias, como o nome diz, são construídas
aleatoriamente a partir de um conjunto de possíveis árvores contendo um
número X de características aleatórias para cada nó. Cada árvore no conjunto
de possíveis respostas têm uma chance de ser escolhida igual às outras. Ou
seja, possuem uma distribuição uniforme. A combinação de um conjunto
grande de árvores aleatórias geralmente garante em modelos com uma alta
acurácia.[15]
● Random Forest: Foi desenvolvida por Leo Breiman [15]. Basicamente ao
selecionar de maneira aleatória amostras do conjunto de dados de teste, se cria
um grupo de árvores de regressão ou árvores de classificação sem podas.
Características aleatórias são selecionadas no processo indutivo, além disso,
predição é feita na grande maioria através de voto para classificação. Floresta
aleatória possui uma melhoria de performance comparado a classificadores de
24
https://www.displayr.com/how-is-splitting-decided-for-decision-trees/
árvores únicas e a taxa de erro é favorável contra outros algoritmos. Floresta
aleatória cresce de tais formas: Primeiro, construindo a base de N amostras de
maneira aleatória, e caso o tamanho do conjunto de treinamento seja N porém
possua uma substituição vinda dos dados originais, a amostra será usada como
conjunto de treinamento para crescimento da árvore. Segundo, para M
variáveis de entrada, uma variável m é selecionada de tal forma que m seja
muito menor a M, m variáveis são selecionadas de maneira aleatória de M e a
melhor divisão é usada para dividir o nó. Terceiro, cada árvore cresce até o
maior tamanho possível, nenhuma poda é aplicada.[18]
2.2.4 Redes Bayesianas
As redes bayesianas são modelos que utilizam do Teorema de Bayes (Thomas Bayes,
1763) para solucionar problemas envolvendo conhecimento probabilístico.[16] Redes
bayesianas são conhecidas também por gráficos de dependência probabilística, onde os nós
representam as variáveis, sejam essas discretas ou contínuas, e as arestas representam as
ligações entre os nós. Uma restrição importante para este modelo é que não pode haver ciclos
(i.e. grafos acíclicos), pois precisam existir nós pais e nós filhos (i.e. nós que referenciam e
nós que são referenciados).[17]
Para entender melhor como funciona, será apresentado o problema da rede do ladrão.
Você possui um novo alarme contra ladrões em casa. Este alarme é muito confiável na
detecção de ladrões, entretanto, ele também pode disparar caso ocorra um terremoto. Você
tem dois vizinhos, João e Maria, os quais prometeram telefonar-lhe no trabalho caso o alarme
dispare. João sempre liga quando ouve o alarme, entretanto, algumas vezes confunde o alarme
com o telefone e também liga nestes casos. Maria, por outro lado, gosta de ouvir música alta e
às vezes não escuta o alarme. Condicionalmente podemos admitir que caso Maria tenha
ligado, o alarme provavelmente tocou e com isso João provavelmente ligou, também caso
tenha ladrão a probabilidade de ter tido um terremoto diminui, com isso pode ser criado o
grafo visto na Figura 2.9.[19]
25
Figura 2.9: Grafo representando a rede do ladrão
Com o grafo pode-se aplicar o Teorema de Bayes para resolver uma série de
questionamentos, como por exemplo, se João ligou, qual a probabilidade de ter um ladrão na
casa ? A fórmula para cálculo das probabilidades é dada pelo produto sobre todos os nós do
grafo, da distribuição condicionada às variáveis correspondentes aos pais de cada nó do grafo.
Para K nós, a probabilidade de junção é:
(2.3)
Onde pa representa o conjunto de nós pais de x.
2.2.5 Metaclassificadores
Os metaclassificadores utilizam da abordagem ensemble para classificação de padrões.
Logo eles agem em cima de modelos de classificadores já existentes para determinar a classe
26
do elemento. Para este trabalho foram visto três tipos de metaclassficadores: Bagging,
Stacking, Voting.
● Bagging: O nome Bagging vem da abreviação para Bootstrap AGGregatING
(Breinman, 1996), onde é composto por 2 etapas principais bootstrap e
agregação. O algoritmo parte do princípio que por maior que seja o conjunto
de treinamento, o número de amostras representativas produzidas será pequeno
e não representará o ideal. Para obter o conjunto de amostras de treinamento,
Bagging aplica bootstrapping (Efron e Tibshirani, 1993), já para a etapa de
agregação das saídas é utilizada votação para classificação e média para
regressão. A predição funciona de tal forma: Na classificação, o algoritmo
alimenta os classificadores para colecionarem suas saídas e então vota para
escolher um vencedor.[20]
● Stacking: Stacking (Wolpert, 1992, Breinman, 1996b, Smyth and Wolpert,
1998) é um procedimento que combina amostras individuais de aprendizes
para formar o aprendiz. A ideia é treinar os aprendizes individuais utilizando o
conjunto original de treinamento para então gerar um novo conjunto de dados
de treinamento, conhecido como meta-aprendizes. Os aprendizes individuais
são gerados a partir de classificadores comuns, como árvores de decisão.
Apesar de poder construir abordagens de stacking homogêneas, geralmente
elas serão heterogêneas.[20]
● Voting: Voting (i.e. votação) é o método combinacional mais popular para
saídas nominais, na sua grande maioria utiliza da abordagem de votação
majoritária. A abordagem por majoritariedade é bem simples, dado um
conjunto de classificadores, cada um irá votar em uma classe, a classe de saída
final será aquela que receber mais da metade dos votos. Caso nenhuma classe
receba mais da metade dos votos, o classificador combinado não fará nenhuma
predição e uma opção de rejeição será dada. A acurácia desse modo aumenta
ou decai de acordo com a probabilidade das amostras.[20]
27
3. Metodologia
Para este capítulo, serão abordadas as etapas necessárias para a execução do
experimento, assim como toda fundamentação para o entendimento do mesmo. Na primeira
parte do capítulo, será descrito o banco de dados utilizado, apresentando os dados coletados,
assim como a construção. Na segunda parte haverá o detalhamento dos algoritmos utilizados
para este experimento, detalhando a aplicação e as configurações utilizadas. Por fim será
apresentado o ambiente utilizado para a execução.
3.1.Banco de Dados
O banco de dados foi construído a partir dos sinais eletroencefalográficos medidos
pelo departamento de neurologia da Universidade Federal de Pernambuco (i.e. UFPE). O
banco consiste em 300 amostras capturadas através de oito eletrodos em um paciente treinado
para a tarefa.
Cada uma das amostras contêm 56 atributos numéricos e um atributo da classe em que
ela se enquadra. Para os 56 atributos, pode-se dividir em 7 atributos numéricos para cada
wavelet (i.e. forma de onda capturada por cada eletrodo), sendo esses o coeficiente da
amostra, energia, entropia, a média, o alcance dela, a assimetria, para saber a curvatura, e por
fim o desvio padrão. Para o conjunto das classes, a amostra pode se enquadrar em um dos três
tipos: direita, esquerda e pé, que representam ações que o paciente pensou para executar.
Os dados foram construídos sequencialmente a partir das instruções passadas pela
equipe do departamento, onde o piloto (i.e. paciente treinado para execução da tarefa) recebia
comandos em que ele teria que focar, inicialmente foi dada a ele a tarefa de pensar em ir para
a direita, depois de 100 amostras a tarefa passou ir para esquerda e, após um outro intervalo
de 100 amostras, o comando passado foi pé, comando esse com o significado de parar.
Como a proposta do banco é classificar os gestos reais e imaginários a partir de sinais
eletroencefalográficos, a ideia do departamento é enriquecer o banco com amostras gravadas
por vários pacientes, alguns saudáveis, e alguns deficientes motores. Neste banco, as amostras
foram gravadas a partir de um paciente saudável.
28
Um exemplo de sinal eletroencefalográfico pode ser visto na Figura 3.1, onde o sinal é
construído a partir de 6 wavelets sendo cada uma representada em um canal para melhor
visualização.
Figura 3.1: Representação da saída de um EEG.
Fonte: Sharmila Ashok,
https://www.researchgate.net/figure/Wavelet-output-for-normal-EEG-signal_fig3_304672140
29
https://www.researchgate.net/figure/Wavelet-output-for-normal-EEG-signal_fig3_304672140
3.2.Experimento
Para este experimento, foram utilizados 22 algoritmos para o treinamento e
classificação das amostras provenientes do banco de dados. Os algoritmos podem ser
classificados em três MLPs, variando o número de neurônios da camada intermediária; quatro
tipos de SVMs, uma linear, duas polinomiais (grau 2 e grau 3) e uma RBF; dois tipos de
árvores de decisão, random tree e random forest, onde esta última foram configuradas 10 tipos
diferentes mudando a quantidade de árvores; por fim uma rede bayesiana também foi aplicada
como classificador. Para os três algoritmos restantes, foi utilizada a abordagem ensemble com
os metaclassificadores: bagging, stacking e voting aplicados a árvore aleatória.
Para todos os algoritmos a classificação foi feita utilizando validação cruzada com 10
folds e foram usadas 30 repetições. Os dados gerados foram exportados para um CSV e
posteriormente convertido para XLS para uma melhor visualização da informação.
A seguir, os algoritmos citados acima, têm suas configurações específicas detalhadas,
seguindo o mesmo roteiro do capítulo dois.
3.2.1 MLPs
Para a execução das MLPs, foram utilizadas as configurações padrões da ferramenta
weka, apenas variando o parâmetro da quantidade de neurônios da camada intermediária. Os
valores escolhidos para os outros parâmetros podem ser vistos na Figura 3.2.
30
Figura 3.2: Configuração de uma MLP utilizando o WEKA.
Fonte: Autor.
O parâmetro hiddenLayers determina a quantidade de neurônios da camada
intermediária, e como mencionado acima, foram escolhidos os valores 50, 100 e 150. Para os
outros parâmetros foram usados o da Figura 3.2. GUI False, pois para o propósito do
experimento não havia a necessidade de uma interação com o usuário. AutoBuild garante que
os nós da camada intermediária sejam adicionados e conectados à rede neural. Para
31
treinamento da rede os parâmetros batchSize e trainingTime são escolhidos como 100 e 500,
para determinar o conjunto de dados em treino. Debug, decay e doNotCheckCapabilities
foram escolhidos como false pois não há a necessidade de informações adicionais dos
classificadores na saída, para não prejudicar a taxa de aprendizado e para poder checar as
capacidades dos classificadores antes da classificação (afeta o tempo de execução). A taxa de
aprendizado e o momentum foram escolhidas como 0.3 e 0.2 respectivamente, o termo
momentum é adicionado como uma constante que determina o efeito das mudanças nos pesos,
com isso pode maximizar a taxa de aprendizado sem que haja oscilações e com isso a rede
conseguir um aprendizado mais rápido. O parâmetro reset é verdadeiro para a rede poder
recomeçar o treinamento em casos de divergência da resposta, ao ser recomeçado a rede
tentará com uma taxa de aprendizado inferior à escolhida. Finalmente, validationThreshold é
o número máximo de erros aceitáveis antes da terminação da validação de teste.
A Figura 3.3 contém as respostas dadas através da execução do algoritmo para 50
neurônios na camada intermediária.
Figura 3.3: Planilha resultado da classificação através de um MLP com 50 neurônios.
Fonte: Autor.
32
3.2.2 SVMs
Foram escolhidas quatro tipos de SVMs para este experimento, como citado na
introdução deste capítulo. Os parâmetros foram utilizados igual aos padrões, mudando apenas
o kernelType responsável pela equação utilizada, variando em linear, polinomial e radial. E o
parâmetro do grau, para quando o tipo da SVM for polinomial, variando de grau 2 e 3.
A Figura 3.4 pode avaliar os parâmetros possíveis de uma SVM, diferente dos outros
tipos de algoritmos utilizados no experimento, foi necessário a instalação da biblioteca
LibSVM para realização do experimento. [21]
Os parâmetros batchSize, debug, doNotCheckCapabilities, numDecimalPlaces,
normalize e seed, são os mesmos para uma MLP.
33
Figura 3.4: Exemplo das configurações de uma SVM no WEKA.
Fonte: Autor.
O tipo da SVM é escolhido entre três opções para classificação e duas para regressão,
para o experimento, nos quatro casos foram adotados o tipo C-SVC, que utiliza do custo para
fazer a superfície de decisão do hiperplano. O custo é escolhido como 1, um valor menor
suaviza a superfície, enquanto um maior permite que o modelo tenha liberdade para
34
selecionar mais amostras como vetores suporte. O coef0 é o coeficiente utilizado para SVMs
polinomiais, onde a equação é dada através da fórmula:
(3.1) gamma oef0)p = ( * u * v + c degree
O gamma foi escolhido como 1 dividido pelo índice máximo, o valor dele afeta
diretamente as SVMs polinomiais e radiais. O épsilon foi escolhido como 0.001 e reflete a
tolerância para finalização. O parâmetro de perda e o nu não são utilizados, por fazerem parte
de outros tipos de SVMs.
As outras fórmulas utilizadas foram linear:
(3.2) u l = * v
E radial:
(3.3) er = (−gamma |u−v| )* 2
Exemplo de saída de uma SVM Linear pode ser visto na Figura 3.5.
Figura 3.5: Saídas geradas por uma SVM Linear no WEKA.
Fonte: Autor.
35
3.2.3 Árvores de Decisão
Como vistas no capítulo anterior, foram utilizadas dois modelos de árvores: árvore
aleatória, e floresta aleatória. Por serem algoritmos diferentes, a explicação da configuração
dos parâmetros será dada para um e depois ao outro.
Figura 3.6: Configuração de uma Random Tree no WEKA.
Fonte: Autor.
36
Os parâmetros em comum com os outros tipos de classificadores não serão citados.
KValue escolhe o número para atributos escolhidos aleatoriamente, para o padrão 0 o valor
assumido é o logaritmo na base 2 do número previsto mais um. O allowUnclassifiedInstances
determina se é pra permitir ou não instâncias que não foram classificadas, nesse caso não
permite. Os parâmetros minNum, maxDepth e minVarianceProp são respectivamente: O peso
mínimo para as instâncias de uma folha, a profundidade máxima da árvore, onde o valor 0
significa que não tem limite, e, o número mínimo de proporção das variâncias dos dados
presentes em um nó para que haja a divisão em árvores filhos. Por fim, breakTiesRandomly
divide a árvore aleatoriamente caso vários atributos estejam parecendo igualmente bons, para
o experimento foi definido como falso.
Exemplo da planilha contendo as respostas é vista na Figura 3.7.
Figura 3.7: Planilha contendo as saídas da árvore aleatória no WEKA.
Fonte: Autor.
Foram executadas dez vezes o classificador floresta aleatória, para cada uma das vezes
foi alterado o parâmetro numIterations que define a quantidade de árvores pertencentes à
floresta, os números escolhidos foram 10, 20, 30, 40, 50, 60, 70, 80, 90 e 100. Esse parâmetro
e outros, podem ser vistos na Figura 3.8.
37
Figura 3.8: Configurações de uma floresta aleatória no WEKA.
Fonte: Autor.
Em relação aos demais atributos: calcOutOfBag é relacionado ao erro out-of-bag, no
experimento ele não será computado, assim como o atributo computeAttributeImportance que
utiliza do decremento das impurezas da média para calcular a importância do atributo. O
38
atributo storeOutOfBagPredictions também será falso uma vez que o erro não será calculado,
não será possivel o armazenamento do mesmo, assim como
outputOutOfBagComplexityStatistics pois também é relacionado ao erro out-of-bag que não
será calculado. O parâmetro numExecutionSlots é utilizado para o método ensemble, logo é
indiferente para este caso.
Igualmente aos outros classificadores, a planilha contendo algumas respostas pode ser
observada abaixo.
Figura 3.9: Planilha com algumas saídas de uma Random Forest com 10 árvores no WEKA.
Fonte: Autor.
3.2.4 Rede Bayesiana
Diferente dos outros classificadores usados neste trabalho, o algoritmo de rede
bayesiana foi o único que não teve variações das configurações, sendo aplicado uma única vez
utilizando todas as configurações padrões vistas na Figura 3.10.
39
Figura 3.10: Configurações aplicada a uma Rede Bayesiana no WEKA.
Fonte: Autor
Por ser um classificador que possui uma complexidade menor, o número de
parâmetros é inferior aos outros exemplos. Para os três atributos específicos desse
classificador tem o estimator, que seleciona o algoritmo de estimação para achar a
probabilidade condicional da rede, por padrão é selecionado o estimador simples que possui
um alfa responsável para estimar as tabelas de probabilidades e possui um valor padrão de
0.5. O parâmetro searchAlgorithm decide o algoritmo de busca das estruturas da rede, que é
definido inicialmente como o K2, este algoritmo de busca usa o método Subida de Encosta
para otimização dos pontos selecionados. Para finalizar, o useADTree permite a possibilidade
de usar árvores de decisão para auxiliar na criação da rede bayesiana, para o experimento é
40
escolhido não utilizar, isso faz com que o algoritmo possua um tempo de execução maior,
porém evite problemas de memória, o que pode ocorrer caso opte por essa opção.
Figura 3.11: Planilha contendo os resultados de uma Rede Bayesiana no WEKA.
Fonte: Autor.
3.2.5 Metaclassificadores
O primeiro metaclassificador a ser analisado é o bagging, onde seus parâmetros
podem ser vistos na Figura 3.12.
Os parâmetros, como podem ser observados, são os mesmos que já foram
apresentados antes, com exceção de um único: classifier, este atributo é o que determina qual
classificador o bagging usará o método ensemble. Como padrão o classificador escolhido é
uma árvore de decisão REP, entretanto para os três metaclassificadores mostrados nesta
seção, será utilizado o classificador árvore aleatória.
41
Figura 3.12: Configurações do Bagging no WEKA.
Fonte: Autor.
O segundo metaclassificador a ser estudado é o stacking, que assim como o algoritmo
anterior, a maioria dos seus parâmetros já foi descrito neste capítulo. Para os atributos
específicos deste algoritmo, o classifiers determina de onde é retirada a base de
classificadores para escolha do método ensemble. Como a ferramenta utilizada é o WEKA,
assim como todos os classificadores fazem parte da ferramenta, essa opção aponta para o
endereço da base. O numExecutionSlots define o número de threads para a construção do
conjunto, neste caso é usado uma. O outro parâmetro é o metaClassifier e este é o que decide
qual classificador o stacking será aplicado, que por padrão é escolhido o ZeroR, porém como
falado anteriormente, neste experimento foi utilizado árvore aleatória.
42
A Figura 3.13 mostra os parâmetros comentado acima.
Figura 3.13: Configurações do Stacking no WEKA.
Fonte: Autor.
O terceiro e último metaclassificador analisado neste trabalho foi o voting, que possui
dois parâmetros específicos. O primeiro parâmetro é o mesmo do stacking, o classifier, porém
este é utilizado para definir especificamente o algoritmo de classificação, e assim como o
stacking o padrão é o ZeroR. O segundo parâmetro é o combinationRule que como o nome
diz, representa a regra de combinação utilizada pelo algoritmo, é definida como a média das
probabilidades, mas as outras opções seriam: produto das probabilidades, votação da maioria,
43
probabilidade mínima, probabilidade máxima e mediana. Para o experimento foi usada a
média das probabilidades.
Estes atributos são vistos na Figura 3.14.
Figura 3.14: Configurações do Voting no WEKA.
Fonte: Autor.
44
3.3. Ambiente
O ambiente utilizado na execução dos experimentos foi: Windows 10 (64 bits), um
CPU Intel Core I7 Haswell (3.6GHz), 32 GB de Memória RAM, e uma GPU NVIDIA
GeForce GTX 980M. Para treinamento e classificação dos dados foi utilizado o ambiente para
análise de conhecimento Waikato (WEKA), desenvolvido pela The University of Waikato,
Hamilton, Nova Zelândia. O WEKA possui diferentes aplicações, a escolhida para este
trabalho foi a parte experimental dela, como pode ser vista na Figura 3.15.
Figura 3.15: Exemplo do ambiente experimental do WEKA.
Fonte: Autor.
Com os dados exportados em CSVs e convertidos, foi usada a ferramenta SciDavis
para geração dos diagramas de caixas para análise estatística, que serão discutidos no Capítulo
4.
45
4 Resultados
Para este capítulo, serão discutidos os resultados obtidos no experimento. Inicialmente
serão discutidos os resultados dos algoritmos em termo da acurácia, próxima etapa será a
análise dos tempos de treino e por último uma análise gráfica do kappa. A última seção será
reservada para discutir outros parâmetros nas tabelas.
As três primeiras seções possui os gráficos divididos em cinco subconjuntos, e a
discussão será feita primeiro nos algoritmos do subconjunto para então a conclusão de uma
possível escolha melhor.
4.1 Acurácia
A Figura 4.1 contém os diagramas de caixa correspondentes às 300 amostras
analisadas pelos algoritmos das SVMs. Os resultados mostram que apesar das SVMs de grau
3 e RBF possuírem uma menor variância, uma vez que suas caixas estão mais achatadas, elas
apresentam valores baixos, em torno de 33% e 34% de acerto, logo não apresentaram bons
resultados qualitativos. O limite superior das duas SVMs citadas estão alinhados com o
primeiro quartil da SVM de grau 2, essa que tem a caixa com o primeiro quartil em 34% e o
terceiro quartil em 50% com a mediana em 43%, logo essa apresenta resultados com uma
melhor acurácia que as SVMs anteriores porém por ter a caixa mais larga, a variabilidade dos
valores é maior, além disso como a mediana é superior à média, a maioria das amostras terão
a acurácia entre o primeiro quartil e a mediana. Por último a SVM linear, esta possui a caixa
com a área interquartil um pouco menor que a da SVM grau 2, onde o primeiro e terceiro
quartil possuem os valores 46% e 60% respectivamente, logo apresenta uma variação de
valores menor que a grau 2 porém maior que a RBF e grau 3, contudo compensa possuindo os
valores da acurácia melhores, além disso a mediana se encontra nos 53% mostrando uma
distribuição dos valores amostrados equivalentemente. Com a análise pôde afirmar que a
SVM linear é a que apresenta os melhores resultados em termo de precisão.
A Figura 4.2 e a Figura 4.3 contêm os resultados da acurácia medidas pelos
classificadores floresta aleatória com 10 a 50 árvores e 60 a 100 respectivamente. Diferente da
análise feita nos gráficos das SVMs as florestas aleatórias possuem caixas com a mesma área
interquartil, logo uma análise do primeiro e terceiro quartil e a mediana não dariam para
46
classificar os melhores resultados. Porém, estes algoritmos apresentam outros valores
diferentes nas caixas. Primeiro são os limites inferiores, segundo a média das amostras e por
último os outliers. As médias variam de 98% a 98.8%, onde a floresta com 10 árvores
apresenta a menor média e a com 100 árvores a maior, vale ressaltar que as médias atingiram
98.8% de acurácia a partir de 80 árvores, enquanto de 30 a 70 árvores a média foi de 98.7%, e
20 árvores apresentou uma média de 98.6%. Analisando os limites inferiores, diferente das
médias eles não apresentaram melhorias com o aumento do número de árvores da floresta, 50,
70, 90 e 100 apresentaram valores menores e o 90 árvores apresentou o melhor resultado com
o limite em 96.5% de acurácia. E por fim, os outliers foram ou 89.6% ou 86.6%. Com as
informações, apesar de todos os desempenhos das florestas aleatórias tenham sido bons, 100
árvores apresentou um resultado estatístico geral melhor, pois possui uma maior média, logo
possui mais valores próximos ao limite superior, possui um limite inferior pequeno, o que
quer dizer que a dispersão não é muito grande e por fim seu outlier não apresentou uma
discrepância muito grande com os resultados avaliados.
Figura 4.1: Resultados gráficos da acurácia das SVMs.
Fonte: Autor.
47
Figura 4.2: Diagramas de caixa das florestas aleatórias de 10 a 50 árvores.
Fonte: Autor.
Figura 4.3: Diagrama de caixa das florestas aleatórias de 60 a 100 árvores.
Fonte: Autor.
A Figura 4.4 mostra a comparação das acurácias entre as MLPs e a rede bayesiana. A
rede bayesiana apresenta os piores resultados deste grupo, a caixa além de possuir uma área
48
interquartil maior que as das MLPs (terceiro quartil em 93.3% e primeiro quartil em 86.6%),
possui a distribuição dos resultados com valores menores de acurácia, onde o limite superior é
96.7%. A rede bayesiana contudo, apresenta bons resultados se comparada às SVMs, porém
inferior se comparada com as florestas aleatórias. A média da rede é de 90.7% enquanto a
mediana é 90% com isso a distribuição será mais próxima ao limite superior, apresentando
mais resultados com uma melhor acurácia. As três MLPs entretanto, apresentaram resultados
muito superiores, mesmo comparado aos classificadores já discutidos nesta seção, pois as
caixas apresentaram uma variabilidade pequena por serem achatadas, além de apresentarem
altos valores de acurácia, além de médias em torno de 99%. Em geral não é possível
determinar qual das MLPs possui o melhor resultado avaliando apenas a acurácia, pois as três
apresentaram se não iguais, com uma variação insignificante.
Figura 4.4: Representação gráfica das MLPs e da rede bayesiana.
Fonte: Autor.
Por fim, temos o grupo 5 que constitui no classificador árvore aleatória e nos
metaclassifcadores bagging, stacking e voting, aplicados na árvore. A Figura 4.5 traz o
diagrama de caixa da acurácia medida pelos mesmos.
Dos quatro, stacking apresentou os piores resultados, sendo inferior ao classificador
puro, apesar de possuir a média superior a mediana. Já o voting não apresentou uma melhora
49
significativa se comparado a árvore aleatória, ambos tiveram a média em 95%, mediana em
96.8% além da mesma área interquartil. Contudo o bagging dentre os quatro, possui os
melhores resultados de acurácia. A caixa mostrou uma menor variabilidade, além de possuir
uma média de 98.5% e mesmo o outlier inferior apresentou uma porcentagem alta de acerto,
sendo 89.7%.
Figura 4.5: Resultados da árvore aleatória e dos metaclassificadores aplicados.
Fonte: Autor.
Com a análise de todos os diagramas de caixa, pode se afirmar que as MLPs possuem
as melhores taxas de acerto seguidas pelo bagging, florestas aleatórias de 10 a 100, árvore
aleatória e voting, stacking, rede bayesiana e por fim as SVMs.
4.2 Tempo de Execução
O mesmo procedimento realizado na seção anterior é repetido para esta seção, onde
todos os algoritmos utilizados são divididos em cinco grupos para a impressão dos diagramas
de caixas, porém desta vez a variável a ser analisada é o tempo de execução.
50
A escala do tempo de execução é em milissegundos para todos os gráficos desta seção.
Ao contrário da seção anterior onde quanto maiores os valores, melhor o resultado, pois
implica numa melhor taxa de acerto. Para esta variável, quanto menores os valores, melhor o
resultado, uma vez que implica num algoritmo mais rápido.
A Figura 4.6 e 4.7 mostra os diagramas das florestas aleatórias de 10 a 100 árvores,
assim como na seção anterior. A primeira diferença na Figura 4.6 é que a média dos
diagramas cresce de maneira linear ao aumentar o número de árvores. Para 10 árvores a média
é 4.8 ms, para 20 árvores a média aumenta para 9.5 ms, para 30, o valor vai para 13.2 ms,
depois 18.6 ms e 22.9 ms para 40 e 50 árvores respectivamente. Outra diferença é o formato
das caixas; para os diagramas com 10 e 20 árvores os limites superior e inferior são iguais ao
terceiro e primeiro quartil respectivamente e com a mesma área interquartil, ao subir o
número para 30 árvores a caixa é achatada no valor de 15.6 ms, o mesmo valor do limite
superior para 10 e 20 árvores, e apenas possui o limite inferior em 0 ms. Para 40 este formato
é invertido, a caixa continua com a área interquartil 0 pois possui os valores do primeiro e
terceiro quartil iguais em 15.6 ms, mas ao invés de possui um limite inferior diferente, esta
possui um limite superior em 31.2 ms, valor este do terceiro quartil para 50 árvores que volta
a repetir o formato de 10 e 20 árvores. Na Figura 4.7 os valores da média continuam
crescendo linearmente de acordo com o aumento da quantidade de árvores da floresta,
variando em 28.2 ms, 31.8 ms, 36.5 ms, 41.4 ms, 46.2 ms para 60 a 100 árvores. O formato
das caixas também seguem o mesmo padrão da Fig 4.6, onde para 60 árvores a área
interquartil é 0 com os valores do primeiro e terceiro quartil em 31.2 ms e o limite inferior em
15.6 ms, para 70 a área permanece 0 e possui um outlier inferior com o valor de 15.6 ms e um
superior com o valor de 46.9 ms, valor este que é o do terceiro quartil para 80 e 90 árvores.
Em geral, apesar de possuir uma variabilidade maior do que o diagrama de uma floresta com
30 árvores, por exemplo, o classificador de uma floresta com 10 árvores apresenta o melhor
resultado, pois uma vez que possui uma menor média, o algoritmo irá executar em um menor
tempo.
51
Figura 4.6: Diagrama de caixas para florestas aleatórias com 10 a 50 árvores.
Fonte: Autor.
52
Figura 4.7: Diagrama de caixas para florestas aleatórias com 60 a 100 árvores.
Fonte: Autor.
A Figura 4.8 apresenta os resultados dos classificadores: árvore aleatória, rede
bayesiana, e SVMs de grau 3 e RBF. O pior algoritmo neste quesito, fica a SVM RBF que
apresenta o primeiro e terceiro quartil com o valor de 46.9 ms e limite superior em 62.5 ms e
inferior em 31.3 ms, com uma média de 48.5 ms, resultados estes superiores aos dos demais.
Os classificadores árvore aleatória e SVM grau 3 possuem a mesma área interquartil
com o primeiro e terceiro quartil com valor 0 ms, porém SVM grau 3 possui um limite
superior de valor 15.8 ms e um outlier 31.5 ms, além da média 1.5 ms, enquanto árvore
aleatória possui o outlier em 15.8 ms e média 0.8 ms. Por fim a rede bayesiana mostra uma
variabilidade maior, pois destes algoritmos é a única que não apresenta uma área interquartil
igual a zero. O primeiro quartil possui valor 0 ms e o terceiro 15.8 ms, com uma média 3.9
53
ms. Com isso, a conclusão é que a árvore aleatória apresenta os melhores resultados, possui
uma baixa variabilidade, além da média ser o menor dos valores.
Figura 4.8: Diagrama de caixas para SVMs de grau 3 e RBF, rede bayesiana e árvore
aleatória.
Fonte: Autor.
A Figura 4.9 traz os resultados das MLPs e das outras duas SVMs (grau 2 e linear).
Diferente dos outros gráficos, para estes classificadores o tempo de execução foram grandes e
por isso serão citados no formato de segundos.
A MLP de 50 neurônios apresenta o primeiro quartil em 5.4 s, terceiro quartil em 6.5
s, mediana 5.76 s e média em 6.07 s. Resultados estes que são piores do que os resultados dos
outros classificadores já comentados nesta seção. Da mesma forma que há uma relação entre
54
as médias com o número de árvores no classificador floresta aleatória, há uma relação das
médias com a quantidade de neurônios em uma MLP, a diferença é que enquanto na floresta o
valor da média cresce linearmente com o aumento da quantidade de árvores, para as MLPs o
aumento da quantidade de neurônios resulta em um aumento exponencial no tempo de
execução. Para MLP com 100 neurônios a média vai para 10.9 s com 150 neurônios, a média
é 20.6 s. Para efeito de comparação as médias das SVMs de grau 2 e linear são 15 s e 10 s
respectivamente. A MLP com 100 neurônios apresenta a menor variabilidade dos 5
classificadores em questão e mesmo os outliers apresentam valores próximos aos limites
superior e inferior, entre 10.6 s e 11.2 s. A MLP com 150 neurônios possui a maior
variabilidade dos 5, com o terceiro quartil em 23.7 s e o primeiro em 16.3 s, além do limite
superior medido em 27.4 s. A SVM linear possui resultado melhor que a SVM com grau 2,
ambas possuem a área interquartil com valores aproximados, o que quer dizer que possuem
uma variabilidade praticamente igual, porém os tempos de execução da SVM linear são em
geral menores que os da SVM de grau 2. Para efeito de comparação, o outlier da SVM linear
é 21 s, este valor é inferior ao limite superior da SVM grau 2 (22.2 s), enquanto seu outlier é
medido em 29.2 s, maior que o outlier da MLP com 150 neurônios.
Finalizando a MLP com 50 neurônios possui o melhor resultado dentre os 5, e a MLP
com 150 o pior. A MLP com 100 entretanto possui a menor variabilidade, logo há uma
confiabilidade maior. Todos os 5 algoritmos apresentam piores resultados comparados a
qualquer outro desta seção.
55
Figura 4.9: Diagrama de caixas das MLPs e SVMs de grau 2 e linear.
Fonte: Autor.
Para finalizar esta seção, a Figura 4.10 traz os resultados gráficos dos
metaclassificadores. Bagging e stacking possuem a mesma área interquartil, com primeiro
quartil em 0 ms e terceiro em 15.6 ms, entretanto a média dos dois diferem, onde a do
primeiro é 8.4 ms e a do segundo 7.5 ms. Além disso o outlier do bagging possui um valor
superior, medido em 47 ms, enquanto o do stacking foi medido em 31.3 ms. O voting possui
os melhores tempos de execução comparado aos dois. O primeiro e terceiro quartil têm valor
0, com o limite superior em 15.6 ms, além de possuir a média em 1 ms. Vale comentar que
por causa da média superior e do outlier, o bagging possui o pior resultado dentre os três.
56
Figura 4.10: Diagrama de caixas dos metaclassificadores.
Fonte: Autor.
Como conclusão desta seção o melhor método é a árvore aleatória, pois possui os
menores tempo de execução, seguida dos metaclassificadores. Vale ressaltar que os
metaclassificadores foram aplicados em cima da árvore aleatória, logo o tempo de execução
precisa ser maior ou igual ao tempo do classificador em questão.
57
4.3 Kappa
A Figura 4.11 traz os resultados gráficos para o kappa das SVMs. Para esta variável é
adotado que quanto mais próximo de um, melhor são os resultados. Assim como no diagrama
de caixas da acurácia, as SVMs de grau 3 e RBF apresentam piores resultados, têm uma área
interquartil zero, logo uma baixa variabilidade, porém com seu primeiro, terceiro quartil e
média em zero. Uma outra forma de interpretar estes dados é que a probabilidade observada é
igual à probabilidade aleatória do classificador retornar a saída correta. [22]
SVM de grau 2 apresentou uma média de 0.13, com o terceiro quartil em 0.25 e o
primeiro em 0.03, porém seu limite inferior foi em -0.1, o que significa que houve amostras
que a probabilidade observada foi inferior à probabilidade aleatória, a mediana deste
classificador foi superior à média. Já a SVM linear possui uma variabilidade um pouco menor
que a SVM grau 2, com terceiro e primeiro quartil em 0.4 e 0.2 respectivamente. Média em
0.3, valor este maior que a mediana. Em geral, SVM linear apresentou o melhor resultado, o
que pode ser esperado, já que a mesma apresentou a melhor acurácia dentre as SVMs.
Figura 4.11: Diagrama de caixas dos kappas das SVMs.
Fonte: Autor.
58
A Figura 4.12 e Figura 4.13 trazem os diagramas das florestas aleatórias. Assim como
para as SVMs, o resultado foi de acordo com os discutidos na primeira seção, onde há uma
melhoria no valor da média de acordo com o aumento do número de árvores da floresta (entre
0.97 e 0.98). A área interquartil para todas as caixas é a mesma, com terceiro quartil em 1 e
primeiro em 0.95. Logo, assim como na acurácia, o classificador com melhor resultado foi a
floresta com 100 árvores.
Figura 4.12: Diagrama de caixas dos kappas das florestas aleatórias com 10 a 50 árvores.
Fonte: Autor.
59
Figura 4.13: Diagrama de caixas dos kappas das florestas aleatórias com 60 a 100 árvores.
Fonte: Autor.
A Figura 4.14 traz os diagramas das MLPs e da rede bayesiana, e assim como todos os
outros classificadores desta seção, apresentaram resultados iguais aos da primeira seção. As
três MLPs possuem uma baixa variabilidade com o primeiro e terceiro quartil em 1, além de
uma alta média de 0.987. E assim como na seção da acurácia, as MLPs apresentam um melhor
resultado geral dos kappas.
60
Figura 4.14: Diagrama de caixas dos kappas das MLPs e rede bayesiana.
Fonte: Autor.
Finalmente, para o classificador árvore aleatória e os metaclassifcadores, a Figura 4.15
ilustra o diagrama dos kappas medidos. Diferente dos outros algoritmos desta seção, estes
métodos apresentaram discordâncias com a representação gráfica da acurácia. Em geral, as
mudanças do bagging, voting, e árvore aleatória são o incremento na variabilidade, por
possuírem uma área interquartil maior. Analisando o stacking, a primeira diferença é que
enquanto a média na acurácia se encontra entre a mediana e o terceiro quartil, para o kappa
ela fica entre a mediana e o primeiro quartil. Outro ponto é que a distância entre o terceiro
quartil e a mediana é quase zero, com o terceiro quartil medido em 0.95 e a mediana em
0.948. Contudo, o bagging dentre estes algoritmos é o que apresenta o melhor resultado,
porém pior que o resultado das MLPs.
61
Figura 4.15: Diagrama de caixas dos kappas dos metaclassificadores e da árvore aleatória.
Fonte: Autor.
62
4.4 Raiz-Quadrada do Erro Médio e Número de Falsos Positivos
Como uma última métrica de avaliação dos classificadores e metaclassificadores deste
experimento, foram construídas algumas tabelas com outros parâmetros diferentes dos citados
nas seções anteriores, a fim de determinar qual a melhor abordagem. As variáveis escolhidas
para as tabelas foram: raiz-quadrada do erro médio (RMSE) e número de falsos positivos.
Assim como nas seções anteriores, para uma melhor visualização, os classificadores e
metaclassificadores deste experimento foram divididos em 5 grupos. Da Tabela 1 a Tabela 5,
os resultados contidos serão os 5 menores e 5 maiores valores da raiz-quadrada do erro médio.
Da Tabela 6 a Tabela 10, de forma semelhante, conterá os 5 menores e 5 maiores números de
falsos positivos.
Tabela 1: Valores dos RMSEs dos metaclassifcadores e árvore aleatória. Fonte: Autor.
Tabela 2: Valores dos RMSEs das MLPs e rede bayesiana. Fonte: Autor.
63
Tabela 3: Valores dos RMSEs das SVMs. Fonte: Autor.
Tabela 4: Valores dos RMSEs das florestas aleatórias de 10 a 50 árvores. Fonte: Autor.
Tabela 5: Valores dos RMSEs das florestas aleatórias de 60 a 100 árvores. Fonte: Autor.
64
Fica claro, que as MLPs possuem os melhores valores de RMSE, seguidas pelo
bagging, que apresentou uma melhoria em comparação à árvore aleatória, depois as florestas
aleatórias, com a com 10 e 20 árvores apresentando um resultado superior. Os piores
resultados foram as SVMs.
Tabela 6: Número de falsos positivos dos metaclassificadores e árvore aleatória. Fonte:
Autor.
Tabela 7: Número de falsos positivos das MLPs e rede bayesiana. Fonte: Autor.
65
Tabela 8: Número de falsos positivos das SVMs. Fonte: Autor.
Tabela 9: Número de falsos positivos das florestas aleatórias de 10 a 50 árvores. Fonte:
Autor.
Tabela 10: Número de falsos positivos das florestas aleatórias de 60 a 100 árvores. Fonte:
Autor.
66
Como o banco de dados possui 300 amostras, e para todos os classificadores e
metaclassificadores foram utilizados 30 iterações com 10 folds, cada fold ficou com 30
amostras, onde 20 são parte do conjunto dos negativos (falsos positivos e verdadeiros
negativos) e 10 no conjunto dos positivos (falsos negativos e verdadeiros positivos).
Analisando as Tabelas 6 a 10, apesar de todos os métodos possuírem os cinco menores
números iguais a zero, a diferença é notada quando analisado os 5 maiores. As SVMs
novamente obtiveram os piores resultados, com a SVM com grau 3 e a RBF sendo as piores,
pois os cinco maiores valores de falsos positivos foram 20, o que quer dizer que para aquele
fold daquela iteração, todas as amostras foram classificadas incorretamente. As outras duas
SVMs tiveram números melhores, com a linear tendo seu pior caso 17 amostras classificadas
erradas. Para as florestas aleatórias, o incremento no número de árvores apresenta uma
melhoria nos três primeiros casos (10, 20 e 30 árvores), onde 10 árvores tendo os piores casos