INE 5644 – Mineração de Dados
Aula 5 – Classificação (Parte 4)
Professor:
José Leomar Todesco
Abordagem Biológica
2
Raciocínio Artificial
3
Raciocínio Artificial
4
Rede Neural
Uma rede neural é um processador distribuído
massivamente em paralelo que tem a propensão
natural
para
armazenar
conhecimentos
experimentais e torná-los disponíveis para uso.
Parece-se com a mente em dois aspectos:
1. Conhecimento é adquirido pela rede através do
processo de aprendizagem.
2. Os pesos das conexões entre neurônios, conhecido
como sinapses, são usados para armazenar o
conhecimento.
5
A Cibernética

O movimento
cibernético começou
durante a Segunda Guerra Mundial e
compreendia cientistas como: Norbert
Wiener, John Von Neumann, Claude
Shannon e Warren McCulloch o seu
trabalho estava ligado
á pesquisa
militar que lidava com problemas de
Norbert Wierner – (1894 – 1964)
Claude Shannon – (1916 –*)
rastreamento e de abate de aviões .

Os primeiros ciberneticistas impuseramse o desafio de descobrir os
mecanismos neurais subjacentes aos
fenomenos mentais e expressá-los em
linguagem matemática explícita. A
intenção era criar uma ciência exata da
mente.
John Von Neumann– (1903 – 1957)
6
Um Breve Histórico

McCulloch e Pitts (1943), Hebb (1949), e Rosemblatt (1958). Estas
publicações introduziram o primeiro modelo de redes neurais
simulando “máquinas”, o modelo básico de rede de autoorganização, e o modelo Perceptron de aprendizado
supervisionado, respectivamente.

Nos anos 60 e 70, importantes trabalhos sobre modelos de redes
neurais em visão, memória, controle e auto-organização como:
Amari, Anderson, Cooper, Cowan, Fukushima, Grossberg,
Kohonen, von der Malsburg, Werbos e Widrow.

Alguns históricos sobre a área costumam “pular” os anos 60 e 70 e
apontar um reínicio da área com a publicação dos trabalhos de
Hopfield (1982) relatando a utilização de redes simétricas para
otimização.
7
Um Breve Histórico

Grossberg apresentou um trabalho inicial em aprendizado
competitivo na década, de onde surge as redes neurais conhecida
como (ART).

Em 1986, Rumelhart, Hinton e Williams introduziram o poderoso
método Backpropagation. Rumelhart e McClelland escreveram o
livro “Processamento Paralelo Distribuído: Explorações na
Microestrutura do Conhecimento”. Posteriormente percebeu-se
que a Tese de Werbos em 1974 tratava o assunto do gradiente
de modo reverso.

1988, Broomhead e Lowe descreveram um procedimento para o
projeto de uma rede neural (feedforward) usando funções de
base radial.
8
Redes Neurais Artificiais
Redes neurais são uma classe de ferramentas muito poderosas, com
propósitos gerais prontamente aplicáveis para:
 Predição
 Classificação
 Agrupamento
 Previsão (Séries temporais)
Exemplos de aplicação:
1.
Avaliar valores (predições) financeiros
2.
Diagnósticos médicos
3.
Identificar grupos de consumidores promissores
4.
Identificar fraudes em transações com cartão de crédito
5.
Predizer a taxa de falhas em máquinas
6.
Vendas (prever valor) futuras
9
O Modelo de Neurônio Artificial

sinais são apresentados à
entrada;

cada sinal é multiplicado por um
número, ou peso, que indica a
sua influência na saída da
unidade;

é feita a soma ponderada dos
sinais que produz um nível de
atividade;

se este nível de atividade
exceder um certo limite
(threshold) a unidade produz
uma determinada resposta de
saída.
Demo Matlab
10
Organização em camadas
11
Processos de Aprendizado

A propriedade mais importante das redes neurais
é a habilidade de aprender de seu ambiente e
com isso melhorar seu desempenho.

Isso é feito através de um processo iterativo de
ajustes aplicado a seus pesos, o treinamento.

O aprendizado ocorre quando a rede neural
atinge uma solução generalizada para uma
classe de problemas.
12
Algoritmo de Aprendizado

algoritmo de aprendizado é um conjunto de
regras bem definidas para a solução de um
problema de aprendizado.

Existem muitos tipos de algoritmos de
aprendizado específicos para determinados
modelos de redes neurais,

estes
algoritmos
diferem
entre
si
principalmente pelo modo como os pesos
são modificados.
13
Aprendizado Supervisionado

Quando é utilizado um agente externo que indica à
rede a resposta desejada para o padrão de
entrada.
14
Aprendizado Não Supervisionado
(auto-organização)

Quando não existe um agente externo indicando a
resposta desejada para os padrões de entrada.
15
O Perceptron
Proposto por Rosenblatt (1958) para reconhecimento de letras
maiúsculas do alfabeto. É uma rede feedforward consistida de unidades
binárias, que aprendem a classificar padrões através de aprendizado
supervisionado. Os perceptrons introduzem formalmente uma lei de
treinamento. Modelam o neurônio fazendo a soma ponderada de suas
entradas e enviando o resultado 1 se a soma for maior do que algum
resultado inicial ajustável (caso contrário, ele envia 0).
Saída da rede
Aprendizagem
N

yi  f  wij x j 
 j o

wi   ( yid  yi ) xi
16
O Perceptron
Uma entrada especial denominada (“bias” – wo) tem um valor fixo
de + 1. O perceptron testa se a soma ponderada dos pesos está
acima ou abaixo de um valor de polarização usando a regra:


w
x

 > 0 então yj = 1

Se 

N
j o
ij
j
Se  w x =< 0 então yj = 0
N

j o
ij
j

onde yj é o valor de saída da unidade
de processamento j.
Demo Matlab
Letras
17
18
Esquema de Treinamento
19
Funções de Transferência
20
Potencial de Representação

Perceptrons representam uma superficie de
um hiperplano no espaço n-dimensional
 Alguns problemas não podem ser separados
por hiperplanos
 A regra de aprendizado encontra um vetor de
pesos se os exemplos são linearmente
separáveis
 A
regra converge para a “melhor
aproximação”
21
Perceptron Multi-Camadas - MLP
22
Perceptron Multi-Camadas - MLP

o
desenvolvimento
do
algoritmo
de
treinamento backpropagation, por Rumelhart,
Hinton e Williams em 1986, precedido por
propostas semelhantes ocorridas nos anos 70
e 80,

é possível treinar eficientemente redes com
camadas intermediárias, resultando no modelo
de Perceptron Multi-Camadas.
23
Perceptron Multi-Camadas - MLP

Se existirem as conexões certas entre as unidades de
entrada e um conjunto suficientemente grande de unidades
intermediárias, pode-se sempre encontrar a representação
que irá produzir o mapeamento correto da entrada para a
saída através das unidades intermediária.

Como provou Cybenko, a partir de extensões do Teorema
de Kolmogoroff, são necessárias no máximo duas camadas
intermediárias, com um número suficiente de unidades por
camada, para se produzir quaisquer mapeamentos.

Também foi provado que apenas uma camada
intermediária é suficiente para aproximar qualquer função
contínua.
24
Backpropagation

Durante o treinamento com o algoritmo
backpropagation, a rede opera em uma sequência
de dois passos.

Primeiro, um padrão é apresentado à camada de entrada
da rede. A atividade resultante flui através da rede,
camada por camada, até que a resposta seja produzida
pela camada de saída.

segundo passo, a saída obtida é comparada à saída
desejada para esse padrão particular. Se esta não estiver
correta, o erro é calculado. O erro é propagado a partir da
camada de saída até a camada de entrada, e os pesos
das conexões das unidades das camadas internas vão
sendo modificados conforme o erro é retropropagado.
25
Rede Neural RBF

A RBF caracteriza-se como uma rede de dois estágios, a 1a
camada não supervisionada e a 2a camada supervisionada
Dado um vetor de entrada , a saída de um nodo simples será

onde, por exemplo, a função pode ser tomada como

y  f (x  c)

 1 n  x j  c j
f (x  c) 
exp
 2  
(2 ) n/ 2  1. 2 ... n
j
j 1 


1





2





Os valores , j=[1,n], são usados da mesma maneira que na
distribuição de probabilidade normal para determinar a dispersão
escalar em cada direção. Uma outra variação comum nas funções
bases é aumentar sua funcionalidade usando a distância de
Mahalanobis na função Gaussiana. A equação anterior torna-se:
f (x  c) 


1
T
exp  12 x  c  K 1 x  c 
n/ 2
1/ 2
(2 ) | K |
26
Rede Neural RBF

Dados n-vetores (dados de entrada) de
p-exemplares,
representando p-classes (24 classes dos cromossomos), a rede
pode ser iniciada com conhecimento dos centros (localizações dos
exemplares). Se representa o j-ésimo vetor exemplar, então
pode-se definir a matriz peso C como:Dado um vetor de entrada ,
T
a saída de um nodo simples será C  [c1c2 ...c3 ]

A camada de saída é uma soma ponderada das saídas da
camada escondida. Quando apresentando um vetor de entrada
para rede, a rede implementa
y W f ( x-c )
27
Rede Neural RBF
28
Redes neurais para data mining
supervisionado
Usos mais comuns da rede neural: construir modelos para classificação e
predição. Os passos neste processo são:
1. Identificar as variáveis (características) de entrada (inputs) e
saídas(outputs).
2. Transformar as variáveis de entrada e saídas de tal forma que a sua
amplitude fique na faixa de 0 a 1.
3. Escolher a rede com uma topologia adequada.
4. Treinar a rede com um conjunto representativo de exemplos de
treinamento.
5. Validar a rede com um conjunto de validação totalmente independente
dos exemplos de treinamento. Se necessário, repita o treinamento,
ajustando o conjunto de treinamento, a topologia da rede, e
parâmetros. Testar a rede usando um conjunto de teste para ver quão
boa é sua performance.
6. Aplicar o modelo gerado pela rede para fazer predições com entradas
29
desconhecidas.
A escolha do arquivo de treinamento
O arquivo de treinamento consiste de registros cujos valores de predição ou
classificação já são conhecidos. A escolha de um bom arquivo de treinamento
é crucial.
Abrangência dos valores para todas as características
A consideração mais importante é que o arquivo de treinamento precisa cobrir
a faixa completa dos valores para todas as características que a rede pode
encontrar, incluindo a saída. Em geral, é uma boa idéia ter vários exemplos no
arquivo de treinamento para cada valor de uma característica categorizada e
para uma faixa de valores para características discretas ordenadas e
contínuas.
As entradas na rede neural devem estar na faixa 0 e 1. Entretanto é
recomendável deixar uma folga ao redor desses limites, considerando os
valores mínimo e máximo como sendo 0,1 e 0,9.
30
O número de características (variáveis)
Quanto maior o número de variáveis de entrada, maior deverá ser a rede
neural, aumentando o risco de supertreinamento da rede e necessidade de
maior número de registros de treinamento.
O tempo necessário para treinar uma rede está diretamente relacionado com o
número de variáveis de entrada usadas na mesma; quanto mais características
(variáveis) são usadas, maior é o tempo para a rede convergir.
Um grande problema é que quanto mais aumenta o número de variáveis de
entrada, a chance da rede convergir para uma solução de qualidade inferior
aumenta.
Descartar características que não tenham poder preditivo ajuda a aumentar o
poder preditivo da rede neural. Tente outras variáveis e verifique quais delas
melhora a rede. Em muitos casos é necessário calcular novas variáveis que
representam aspectos particular do problema. Por exemplo, R$/m2.
Pode-se usar outras técnicas para determinar quais características são
importantes para o propósito de predição. Pode-se usar, por exemplo:
correlações ou árvores de decisão.
31
O número de exemplos de treinamento
Geralmente, quanto mais características há na rede neural,
mais exemplos de treinamento são necessários para
abranger os padrões nos dados.
Geralmente um mínimo de poucas centenas de exemplos
são necessários para cada característica.
Quando o tamanho do arquivo de treinamento não é
grande o suficiente, a rede tende a decorar os dados.
32
O número de saídas
Por exemplo, se a rede neural vai ser usada para detectar eventos
(saídas) raros e caros, tais como: taxa de falhas de motores a diesel,
uso fraudulento do cartão de crédito; então você precisa ter certeza que
o arquivo de treinamento tem um número suficiente de exemplos desses
eventos raros.
Uma amostra aleatória dos dados disponíveis não é suficiente, pois os
exemplos não raros (comuns) vão “afundar” os exemplos raros.
Para contornar este problema, o arquivo de teste precisa ter muitos
exemplos raros, portanto deve-se fazer uma amostragem estratificada.
Por exemplo, tomar 10.000 “bons” exemplos e 10.000 “maus” exemplos.
33
Preparando os dados
Preparar os dados de entrada é freqüentemente a parte mais complicada do
uso de uma rede neural.
Uma parte do problema é a transformação das variáveis de tal forma que os
seus valores fiquem dentro da faixa de 0 a 1.
Variáveis contínuas (Intervalares)
Exemplos:
 valores em reais (preços de venda, vendas semanais, rendimentos)
 médias (volume médio de vendas)
 taxas
 medidas físicas (áreas, temperaturas)
34
Divisão do arquivo de dados
 Arquivo de treinamento
 Arquivo de validação
 Arquivo de teste
As redes neurais são treinadas usando apenas o arquivo de treinamento.
Porém, existe a necessidade de se saber o momento de parar com a fase de
treinamento, pois existe o perigo de um supertreinamento da rede e, neste
caso, a rede perde o seu poder preditivo.
Para contornar o perigo de memorização por parte da rede, confronta-se o
modelo gerado com a base de validação.
O arquivo de teste é usado para fazer uma verificação independente da
performance da rede, isto é, serão usados registros nunca vistos pela rede. A
taxa de erro observada no arquivo de treinamento é uma boa estimativa da
taxa de erro para registros novos.
35
Bibliografia
CARPENTER, G , GROSSBERG, S. Pattern Recognition by Self-organizing Neural Networks. The MIT Press, MA,
1992.
CHAKRAVARTHY, S. V. , GHOSH, J. Efficient Training Procedures for Adaptive Kernel Classifiers.In Proceedings of
the First IEEE-SP Workshop on Neural Networks for Signal Processing, Princetron, NJ, p. 21-29, 1991.
CHEN, S., COWAN, C. F. N. , GRANT, P. M. Orthogonal Least Squares Algorithm for Radial Basis Funtion
Networks. IEEE Transactions on Neural Networks, v. 2, No. 2, p. 302-309, March 1991.
GROSSBERG, S. Studies of Mind and Brain. Boston, MA: Reidel, 1982.
HAYKIN, S. Neural Networks: A Comprehensive Foundation. Macmillan College Publishing Company, New York,
1994
HOPFIELD, J. J. Neural networks and physical systems with emergent collective computational abilities.
Proceedings of the National Academy of Sciences of the U.S.A., v. 79, p. 2554-2558, 1982.
HUSH, D. R. , HORNE, B. G. Progress in Supervised Neural Networks: What's New Since Lippmann? IEEE Signal
Processing Magazine, p. 8-39, January, 1993.
LEE, S. , RHEE, M A Gaussian Potential Function Network with Hierarquically Self-Organzing Learning. Pattern
Recognition Letters, v. 14, No. 3, p. 221- 227, 1993.
LIPPMANN, R. P. An Introduction to Computing with Neural Nets. IEEE ASSP Magazine, April, 1987.
MOODY, J. , DARKEN, C. J. Fast Learning in Networks of Locally-Tuned Processing Units. Neural Computation, v.
1, p. 281-294, 1989.
PAO, Y. Adaptative pattern recognition and neural networks. Addison-Wesley Publishing Company, Inc, United
States, 1989.
POGGIO, T. , GIROSI, F. Networks for aproximation and learning. Proceedings of the IEEE, v. 78, p. 1481-1497.
RUMELHART, D. E. , ZIPSER, D. Feature Discovery by Competitive Learning. Cognitive Science, v. 9, p. 75-112,
1985.
WETTSCHERECK, D. , DIETTERICH, T. Improving the Performance of Radial Basis Function Networks by learning
Center locations. Advances in Neural Informations Processing System 4, J. E. Moody, S. J. Hansen and R. L.
Lippmann editors, p. 1133-1140, 1992.
36
Ferramenta WEKA e
MatLab
37
Download

aprendizado - BuscaLegis