Monografia Cérebro Relativistico
Monografia Cérebro Relativistico
Monografia Cérebro Relativistico
Centro de Informática
Christian D. A. Daniel
Trabalho de Graduação
Recife
01 de Dezembro de 2008
Universidade Federal de Pernambuco
Centro de Informática
Christian D. A. Daniel
Recife
01 de Dezembro de 2008
Aos meus pais
Agradecimentos
iv
"Nunca ande pelo caminho traçado, pois ele conduz somente aonde outros
já foram."
—ALEXANDER GRAHAM BELL
Resumo
Redes Neurais (RN) é uma das abordagens mais comuns e robustas para sistemas de classi-
ficação não-lineares. A instância mais utilizada dessa abordagem é a Multi-Layer Perceptron
(MLP), pois as suas hipóteses induzidas possuem um alto grau de generalização em relação a
outros algoritmos. Entretanto, MLPs também estão entre as abordagens que produzem hipóte-
ses difíceis de compreender, pois cada nodo representa uma combinação não-linear dos nodos
da camada anterior. Uma característica importante de MLP’s é o fato de seu output ser com-
posto de escores, indicando a pontuação que cada classe recebeu da rede. É importante notar
que se pode usar o fato de uma MLP dar uma pontuação, e não só determinar de que classe
pertence o exemplo de entrada, para auxiliar no entendimento da decisão da RN.
Freqüentemente estatísticos e especialistas no domínio da aplicação da RN questionam a
decisão tomada pela solução. Quando isso acontece, existem poucos argumentos para con-
vencer a esses profissionais da consistência desse resultado, ou mesmo explicar-lhes o porquê
desse escore.
O foco deste trabalho é criar uma nova abordagem que possibilite a extração de informações
(estatísticas e regras) da solução atual (RN) que sejam necessárias e suficientes para explicar
um escore gerado.
Como proposta, devemos extrair regras da RN em conjunto com os exemplos de treina-
mento, e, após isso, aplicá-las aos exemplos cujos escores desejam ser justificados.
vi
Abstract
Redes Neurais (RN) é uma das abordagens mais comuns e robustas para sistemas de classi-
ficação não-lineares. A instância mais utilizada dessa abordagem é a Multi-Layer Perceptron
(MLP), pois as suas hipóteses induzidas possuem um alto grau de generalização em relação a
outros algoritmos. Entretanto, MLPs também estão entre as abordagens que produzem hipóte-
ses difíceis de compreender, pois cada nodo representa uma combinação não-linear dos nodos
da camada anterior. Uma característica importante de MLP’s é o fato de seu output ser com-
posto de escores, indicando a pontuação que cada classe recebeu da rede. É importante notar
que se pode usar o fato de uma MLP dar uma pontuação, e não só determinar de que classe
pertence o exemplo de entrada, para auxiliar no entendimento da decisão da RN.
Freqüentemente estatísticos e especialistas no domínio da aplicação da RN questionam a
decisão tomada pela solução. Quando isso acontece, existem poucos argumentos para con-
vencer a esses profissionais da consistência desse resultado, ou mesmo explicar-lhes o porquê
desse escore.
O foco deste trabalho é criar uma nova abordagem que possibilite a extração de informações
(estatísticas e regras) da solução atual (RN) que sejam necessárias e suficientes para explicar
um escore gerado.
Como proposta, devemos extrair regras da RN em conjunto com os exemplos de treina-
mento, e, após isso, aplicá-las aos exemplos cujos escores desejam ser justificados.
vii
Sumário
1 Introdução 1
2 Redes Neurais 2
2.1 Histórico 2
2.2 Perceptrons 3
2.2.1 Funções de Ativação 3
2.2.1.1 Função Limiar (Degrau) 3
2.2.1.2 Função Linear por Partes 4
2.2.1.3 Função Sigmóide 5
2.3 Perceptrons de Múltiplas Camadas 6
2.4 Conclusões Relevantes 7
3 Extração de Regras 9
3.1 Medidas de Interesse (Interestingness) 9
3.1.1 Suporte (Support) 9
3.1.2 Confiança (Confidence) 10
3.2 Minerando Regras de Associação Quantitativas 10
3.3 Árvores de Decisão 10
3.3.1 Aprendizagem por Árvores de Decisão 11
3.3.1.1 Entropia e Ganho de Informação 12
3.3.1.2 Índice de Gini 13
3.3.2 Extração de Regras de Árvores de Decisão 13
3.4 Limitações 14
4 Metodologia 16
5 Resultados 17
6 Conclusões 18
6.1 Trabalhos Futuros 18
viii
Lista de Figuras
ix
Lista de Tabelas
x
C APÍTULO 1
Introdução
1
C APÍTULO 2
Redes Neurais
Redes Neurais é uma das abordagens mais utilizadas atualmente para problemas de classifi-
cação, por ser robusta e conseguir aproximar qualquer tipo de função. Esta abordagem foi bem
sucedida na criação de modelos para muitos dos problemas mais complexos do mundo real,
tais como reconhecimento de imagens e caracteres, reconhecimento de voz, análise de crédito,
etc [RWL94].
Neste capítulo é apresentada uma contextualização histórica das Redes Neurais Artificiais,
seguida de uma explicação simples e construtivista sobre Perceptrons de Múltiplas Camadas,
finalizando com as conclusões relevantes para este trabalho.
2.1 Histórico
O campo de estudos das redes neurais artificiais teve inicio em 1943, quando Warren S. Mc-
Culloch e Walter Pitts publicaram seu conhecido trabalho “A logical calculus of the ideas im-
manent in nervous activity”, que consistia numa rede neural simples modelada com circuitos
elétricos. Em sua tese, McCulloch e Pitts mostraram que era possível construir uma rede neural
apenas com matemática e algoritmos. Assim, iniciou-se um segmento completamente novo na
pesquisa computacional e inteligência artificial. [MP43]
O conceito de treinamento de uma rede neural foi introduzido por Hebb em 1949, quando
publicou o livro “The organization of behavior”. Em 1962, Frank Rosenblatt apresentou uma
abordagem para treinar uma rede de McCulloch e Pitts, tornou isso possível se utilizando da
intensidade das sinapses dos neurônios. Para treinar a rede, Rosenblatt muda um pouco a inten-
sidade das sinapses cada vez que a rede retorna um resultado errado. A forma de treinamento
de redes neurais é uma área que ainda hoje é muito pesquisada. [Ros62]
Quando o campo estava em evidência, — pois agora era possível construir grandes redes
e atribuí-las problemas que eram virtualmente impossíveis na programação convencional —
Marvin Minsky e Seymour Papert mostraram em sua tese, em 1969, que a rede neural era
incapaz de resolver a operação XOR, mais tarde superado pelo conceito de camadas escondidas.
Minsky e Papert mostraram também que o aumento do número de entradas de uma rede neural
2
2.2 PERCEPTRONS 3
2.2 Perceptrons
O perceptron é a forma mais simples de uma rede neural, pois é constituída de um único
neurônio com os pesos das entradas ajustáveis e um bias (viés). O funcionamento de um
perceptron é bem simples: cada atributo do exemplo de entrada corresponde a uma conexão
de entrada do perceptron e cada conexão de entrada possui um peso; então o neurônio faz uma
soma ponderada das conexões de entrada. Assim, o bias é uma constante que é sempre adi-
cionada à entrada. Na verdade, antes de passar o resultado para a saída a soma passa por uma
função de ativação, que modela a saída real em relação ao resultado da soma. Vide figura 2.1.
A função de ativação (representada por f (e) na figura 2.1), define realmente a saída do neurônio,
limitando-a e dando a forma adequada ao problema. Pode-se identificar três tipos básicos de
funções de ativação:
Uma função degrau é uma função não contínua que possui valores discretos distintos depen-
dendo da entrada. Vide equação 2.1 e figura 2.2.
(
1 se e ≥ 0
f (e) = (2.1)
0 se e < 0
2.2 PERCEPTRONS 4
1.2
0.8
0.6
0.4
0.2
−0.2
−2 −1 0 1 2
Uma função linear por partes é uma função que é linear até atingir os valores de saturação
(valores máximos e mínimos de saída), quando a saída se torna constante. A função linear por
partes é contínua mas não diferenciável. Vide equação 2.2 e figura 2.3.
1 se e ≥ +1
f (e) = e se −1 > e > +1 (2.2)
0 se e ≤ −1
2.2 PERCEPTRONS 5
1
0.8
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
−2 −1 0 1 2
Uma função sigmóide é uma função que possui um gráfico em forma de ‘S’, e é a forma
mais utilizada de função de ativação em redes neurais. Uma função sigmóide é uma função
contínua diferenciável monotônica estritamente crescente que possui um bom balanceamento
entre as características de funções de ativação lineares e não-lineares. As duas funções sig-
móides mais comuns são a função logística (equação 2.3 e figura 2.4) e a função tangente
hiperbólica (equação 2.4 e figura 2.5). Essas funções possuem como parâmetro também um
valor de inclinação a.
1
f (e) = (2.3)
1 + exp(−ae)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−2 −1 0 1 2
1 − exp(−ae) ³ ae ´
f (e) = = tanh (2.4)
1 + exp(−ae) 2
2.3 PERCEPTRONS DE MÚLTIPLAS CAMADAS 6
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−2 −1 0 1 2
O perceptron é uma estrutura muito simples e pode apenas modelar problemas linearmente sep-
aráveis, isso exclui os problemas mais complexos (inclusive o problema do XOR). Para resolver
isso, utiliza-se perceptrons encadeados, em forma de rede — normalmente representados como
grafos ponderados dirigidos, onde cada nodo é um perceptron e as arestas são suas conexões.
A estrutura mais comum é a divisão dos perceptrons em camadas, denominada Perceptrons de
Múltiplas Camadas (Multi-Layer Perceptrons — MLP), que é capaz de generalizar qualquer
função [Cyb89].
A figura 2.6 mostra um exemplo de uma MLP com duas camadas escondidas e uma camada
de saída. Em geral (como no exemplo) tratamos de redes completamente conectadas (i.e. cada
nodo se conecta com todos os nodos da camada seguinte); além disso na MLP, o fluxo da
informação (sinais/sinapses) é sempre para frente (no exemplo, da esquerda para a direita).
Com uma rede já construída, o seu funcionamento é simples: ao se colocar um exemplo na
camada de entrada, a primeira camada da rede recebe as estradas pra cada neurônio; depois de
computar o resultado de cada neurônio dessa camada, o mesmo se faz com a próxima camada
(pois a saída da camada anterior é tratada como sinal de entrada para a camada seguinte);
isso acontece iterativamente até termos o resultado da camada de saída. Vide esquemático nas
figuras 2.7, 2.8 e 2.9.
2.4 CONCLUSÕES RELEVANTES 7
Como pode ser notado, um modelo baseado em redes neurais é de difícil compreensão hu-
mana, ele pode possuir várias camadas com muitos nodos, onde cada nodo possui diversas
entradas combinadas que ainda passam por uma função de ativação. Extrair conhecimento di-
retamente dessa estrutura é uma tarefa não trivial, que ainda hoje não possui uma metodologia
genérica que garanta um bom desempenho (nos quesitos compreensibilidade, escalabilidade e
fidelidade).
Figura 2.8 MLP — Entrada — Camada Escondida 2
Extração de Regras
Para entender um modelo representado por uma rede neural, podemos tentar traduzi-lo para
outro modelo em uma linguagem mais compreensível. O nome “extração de regras” aparece
devido ao fato de que a indução de regras é realizada com o intuito de traduzir um outro modelo
para a linguagem de regras.
Existem várias abordagens que tentam extrair regras diretamente da estrutura da rede neural,
se utilizando das saídas possíveis dependendo dos pesos e da função de transferência. Algumas
delas se utilizam de métodos de busca global com heurísticas [SN88, Thr95], outras se utilizam
de métodos de busca local para procurar regras conjuntivas.
A maior limitação desses métodos é que eles costumam pecar na generalização e/ou na
escalabilidade. Além disso, a grande maioria deles depende da arquitetura da rede neural e
da função de transferência empregada na rede, ou seja, fazem exigências quanto à estrutura da
rede.
Este capítulo trata de uma breve introdução à extração de regra de forma simples, com o
objetivo de auxiliar no entendimento da metodologia deste trabalho. O capítulo cobre algumas
medidas utilizadas para comparação de regras, depois como extrair regras com atributos quan-
titativos (i.e. numéricos), então uma breve introdução sobre árvores de decisão é apresentada
e, após, o capítulo é concluído com um esclarecimento das limitações da utilização de regras
como classificadores.
Suporte (também conhecido como cobertura — coverage) é a métrica que indica a abrangência
de uma regra em relação aos exemplos da base de dados. É a percentagem de exemplos na
base, que obedecem a uma dada regra.
9
3.2 MINERANDO REGRAS DE ASSOCIAÇÃO QUANTITATIVAS 10
Confiança (também conhecida como precisão — accuracy) é a métrica que indica a taxa de
acerto de uma regra. É a percentagem de exemplos que obedecem à regra em relação aos que
obedecem apenas as condições da mesma.
P(A ∩ B) support(A ⇒ B)
confidence(A ⇒ B) = P(B|A) = = (3.2)
P(A) P(A)
Quando desejamos minerar regras de associação podemos (e vamos) nos deparar com atrib-
utos quantitativos (numéricos), que não são originalmente divididos em categorias. Atributos
numéricos podem possuir uma quantidade exacerbada de valores distintos então, se gerássemos
uma regra para cada valor distinto de um atributo numérico teríamos um número muito grande
de regras com cobertura ínfima.
Regras de associação quantitativas são dinamicamente discretizadas durante a mineração
dos dados por um processo chamado Binning. Binning consiste em particionar o espaço da
variável numérica em faixas de valores (bins), então as estratégias de binning definem apenas
em quais pontos devem ser separadas essas faixas:
Uma árvore de decisão é uma árvore utilizada para classificação de instâncias, cujos nodos
não-terminais representam uma avaliação sobre algum atributo, e cada ramo a partir desse
nodo representa um dos possíveis valores para esse atributo. E cada folha representa a decisão:
a classificação a classificação da instância para uma das classes.
Então, para prever a classe de (classificar) uma instância, deve-se começar testando o atrib-
uto da raiz da árvore, e seguir o ramo que condiz com o atributo da instância, fazendo o mesmo
3.3 ÁRVORES DE DECISÃO 11
com os próximos nós não terminais, até encontrar uma folha e essa afirma a classe a qual a
instância pertence. O exemplo clássico de árvore de decisão é o problema de classificar se uma
manhã de sábado é ou não propícia para se jogar tênis, o diagrama da árvore encontra-se na
figura 3.1, e a base de dados utilizada para a criação desta árvore na tabela 3.1.
O algoritmo de contrução de uma árvore de decisão costuma ser uma busca gulosa (greedy) top-
down, no espaço de possíveis árvores de decisão. O algoritmo base utilizado é o ID3 [Qui86]. O
ID3 funciona iterativamente escolhendo o melhor atributo para classificar os exemplos da base
de dados que pertencem ao ramo atual (na raiz, todos os exemplos), essa escolha é baseada em
algum teste estatístico.
A principal escolha para algoritmo ID3 é selecionar a melhor heurística para a seleção de
atributos, isto é escolher num dado nodo qual o atributo melhor separa as classes do problema.
Segue alguns testes para seleção de atributos.
3.3 ÁRVORES DE DECISÃO 12
|Dv |
Gain(D, A) ≡ Entropy(D) − ∑ |D|
Entropy(Dv ) (3.4)
v∈Values(A)
onde D é a partição dos dados relativa ao ramo, A é o atributo que se deseja mensurar o ganho
de informação (caso ele seja selecionado para particionar o espaço), Values(A) é o conjunto de
3.3 ÁRVORES DE DECISÃO 13
|D1 | |D2 |
GiniA (D) = Gini(D1 ) + Gini(D2 ) (3.6)
|D| |D|
Extrair regras de uma árvore de decisão consiste, simplesmente, em percorrer cada caminho da
árvore da raiz até uma folha. Dessa forma, cada nodo não-terminal representa uma cláusula
3.4 LIMITAÇÕES 14
da regra, onde as cláusulas são conectadas por conjunções (operador “E”) e a conseqüência da
regra (operador “ENTÃO”) é a classe que a folha pertence.
Vale ressaltar que regras extraídas de uma árvore de decisão são mutuamente exclusivas e
exaustivas. Serem mutuamente exclusivas significa dizer que nenhum exemplo pode pertencer
ao mesmo tempo a duas regras distintas. Serem exaustivas significa que todo exemplo pertence
a pelo menos uma regra, e não é necessária uma regra padrão para o caso que um exemplo não
encaixe em nenhuma regra.
Com essa metodologia, conseguimos extrair exatamente uma regra por folha. Infelizmente
a árvore gerada pode ser muito grande (número grande de nodos entre a raiz a as folhas), o que
provoca regras complexas demais e muito específicas (baixo suporte), dificultando o objetivo
de entendimento humano. Pode-se, então, podar (prune) as regras para que elas satisfaçam tais
exigências. A poda funciona removendo qualquer antecedente ou precondição cuja remoção
não prejudica a taxa de acerto (que não diminui a confiança).
3.4 Limitações
A principal limitação das regras é o fato do modelo ser uma conjunção de soluções lineares.
Na verdade, um modelo baseado em regras é uma conjunção de hiper-cubos com arestas par-
alelas aos eixos, como está exemplificado na figura 3.2: então, para se aproximar do problema
real (imagem da esquerda), a única solução é criar mais hiper-cubos (imagem da direita) cada
vez menores quando se aproxima das bordas.
C APÍTULO 4
Metodologia
16
C APÍTULO 5
Resultados
17
C APÍTULO 6
Conclusões
18
Referências Bibliográficas
[Cra96] Mark William Craven. Extracting Comprehensible Models from Trained Neural
Networks. PhD thesis, University of Wisconsin - Madison, 1996. Supervisor-Jude
W. Shavlik.
[DA01] Peter Dayan and L. F. Abbott. Theoretical Neuroscience: Computational and Math-
ematical Modeling of Neural Systems. MIT Press, December 2001.
[HH99] Robert J. Hilderman and Howard J. Hamilton. Knowledge discovery and interest-
ingness measures: A survey. Technical report, Department of Computer Science,
University of Regina, Regina, Saskatchewan, Canada S4S 0A2, 1999.
[HK05] Jiawei Han and Micheline Kamber. Data Mining: Concepts and Techniques. The
Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann, 2nd
edition, November 2005.
[MP43] Warren S. McCulloch and Walter Pitts. A logical calculus of the ideas immanent in
nervous activity. Bulletin of Mathematical Biophysic, 5:115–133, 1943.
[MP69] Marvin L. Minsky and Seymour A. Papert. Perceptrons. MIT Press, Cambridge,
MA, USA, 1969.
19
REFERÊNCIAS BIBLIOGRÁFICAS 20
[RWL94] David E. Rumelhart, Bernard Widrow, and Michael A. Lehr. The basic ideas in
neural networks. Communications of the ACM, 37(3):87–92, March 1994.
[SN88] K. Saito and R. Nakano. Medical diagnostic expert system based on pdp model. In
IEEE International Conference on Neural Networks, volume 1, pages 255–262, San
Diego, CA, USA, July 1988. IEEE.
[Thr95] Sebastian Thrun. Extracting rules from networks with distributed representations.
In G. Tesauro, D. Touretzky, and T. Leen, editors, Advances in Neural Information
Processing Systems, volume 7, pages 505–512, Cambridge, MA, USA, 1995. MIT
Press.
[Wer74] P. J. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the
Behavioral Sciences. PhD thesis, Harvard University, Cambridge, MA, USA, 1974.