Classificação
Redes Neurais
AULA 11
DATA MINING
Sandra de Amo
11/4/2015
Mestrado em Ciencia da Computacao
1
Redes Neurais
I1
Conjunto de unidades
I2
2
input
I3
3
w32
Camada de
Input
11/4/2015
output
Camada
Camada de
Intermediária Output
Mestrado em Ciencia da Computacao
Conceito de Neurônio
Artificial
Cada vértice de uma camada é
ligado a todos os vértices da
camada seguinte.
2
Como definir a topologia da rede ?






Topologia: número de camadas intermediárias, número de
neurônios nas camadas intermediárias e inicialização dos
pesos e tendências.
Topologia ideal : Processo de tentativa e erro
Número de camadas intermediárias pode ser maior do que 1
Mais comum: uma única camada intermediária
Se a rede treinada é julgada não confiável, repete-se o
processo de treinamento com outra topologia e outros pesos e
tendências iniciais
Diversas técnicas automáticas foram propostas para se
encontrar a topologia ideal da rede (produzindo os resultados
com maior acuracia).
11/4/2015
Mestrado em Ciencia da Computacao
3
Camadas de Input e de Output

Input

Se atributos não são categorizados



Um neurônio para cada atributo
Valores dos atributos são normalizados entre 0 e 1.
Se atributos são categorizados


NAi = número de valores do atributo Ai
Total de neurônios da camada inicial =
NA1 + NA2 + NA3 + ... + NAm
onde {A1, A2, ..., Am} = conjunto dos atributos

11/4/2015
Mestrado em Ciencia da Computacao
4
Camadas de Input e de Output
Output



Número de neurônios = número de classes
Se número de classes = 2




11/4/2015
número de neurônios = 1
Basta um único neurônio na camada de output para o
treinamento da rede.
Supõe-se que este neurônio corresponde à classe 1
Se a amostra está na classe 0, então o output correto
deveria ser 0. Se a amostra está na classe 1, o output
correto deveria ser 1.
Mestrado em Ciencia da Computacao
5
Rede Neural e Classificação
x0
x1
w0j
w1j
∑
+ θj
tendência
w2j
INPUT Ij
na unidade j
x2
Pesos
Outputs da
Camada precedente
Média ponderada
dos outputs recebidos
Função de Ativação
Output Oj
11/4/2015
Mestrado em Ciencia da Computacao
6
Função de Ativação



Serve para normalizar os outputs que são
calculados em cada neurônio.
É uma função não-linear, diferenciável.
Normalmente, utiliza-se a função:
f(x) = 1/(1+ex)
cuja derivada satisfaz
f ’(x) = f(x) (1 – f(x))
11/4/2015
Mestrado em Ciencia da Computacao
7
Backpropagation – Fase de IDA
I1
C1
δ1
1?
I2
C2
δ2
0?
I3
C3
δ3
0?
Classe C1
11/4/2015
Mestrado em Ciencia da Computacao
8
Backpropagation – Fase de Volta
I1
I2
C1
ww1212
ww2222
ww3232
w12
w22
w32
I3
C3
Ajusta pesos
11/4/2015
C2
Ajusta pesos
Mestrado em Ciencia da Computacao
9
Condições de Parada

Epoca = tempo necessário para que todas as
amostras sejam analisadas.

Processo se repete até que:



11/4/2015
Os reajustes dos pesos são “muito pequenos”.
Só uma “pequena” porcentagem de amostras foi
mal classificada pela rede.
Um número “máximo” de épocas foi atingido.
Mestrado em Ciencia da Computacao
10
Backpropagation

Objetivo: obter uma rede neural treinada

Centenas de milhares de épocas são necessárias
para a convergência dos pesos.

Teoricamente, convergência não é garantida.

Na prática, os pesos convergem depois de um
grande número de épocas.
11/4/2015
Mestrado em Ciencia da Computacao
11
Ida : Como são calculados os outputs
I1
I2
w1i
w2i
i
Oi
w3i
I3
Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi )
F(x) = 1/(1+e-x)
11/4/2015
Mestrado em Ciencia da Computacao
12
Volta: Cálculo dos Erros
 Erro em unidade da última camada
i
Ei = δi(1- δi)(Ti – δi)
 Erro em unidade da camada intermediária
E’i = Oi(1- Oi)(E1*wi1+E2*wi2+E3wi3)
11/4/2015
Mestrado em Ciencia da Computacao
δi Compara
com Ti =
classe
verdadeira
0, 1, 2 ..?
wi1
1
i wi2
2
wi3
3
13
Reajustes dos pesos e tendências
Novo peso wij
wij
i
j
Novo-wij = Velho-wij + λ EjOi
Nova Tendência θj
Novo-θj = Velho- θj + λ Ej
λ = Taxa de Aprendizado
λ(t) = 1/t
t = iteração atual
Evita que o processo fique parado num “mínimo local”
11/4/2015
Mestrado em Ciencia da Computacao
14
Exemplo
1
1
w14
4
w24
0
W14
w46
6
2
w34
1
Amostra classificada na classe C = 1
3
W15
5 w56
w14
W24
W25
W34
W35
W46
W56
θ4
θ5
θ6
0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1
11/4/2015
Mestrado em Ciencia da Computacao
15
Exemplo

Ida
Unidade

Input
Output
4
0.2 + 0 – 0.5 – 0.4 = - 0.7
1/1+e0.7 = 0.332
5
-0.3 + 0 + 0.2 + 0.2 = 0.1
1/1+e-0.1 = 0.525
6
(-0.3)(0.332) – (0.2)(0.525) + 0.1 = - 0.105 1/1+e0.105 = 0.474
Volta
11/4/2015
Unidade
Erro
6
(0.474)(1 - 0.474)(1 - 0.474) = 0.1311
5
(0.525)(1 - 0.525)( 0.1311)(-0.2) = -0.0065
4
(0.332)(1 - 0.332)( 0.1311)(-0.3) = -0.0087
Mestrado em Ciencia da Computacao
16
Exemplo : Erros

E6 = (0.474)(1-0.474)(1-0.474) = 0.1311

E5 = (0.525)(1-0.525)(0.1311)(-0.2) = -0.0065

E4 = (0.332)(1-0.332)(0.1311)(-0.3) = -0.0087
11/4/2015
Mestrado em Ciencia da Computacao
17
Ex: Ajustes dos Pesos e Tendências
λ = 0.90
Antigo
Valor Reajustado
W46 = -0.3
-0.3 + (0.90)(0.1311)(0.332) = -0.261
w56 = -0.2
-0.2 + (0.90)(0.1311)(0.525) = -1.138
w14 = 0.2
0.2 + (0.90)(-0.0087)(1) = 0.192
w15 = -0.3
-0.3 + (0.90)(-0.0065)(1) = -0.306
w24 = 0.4
0.4 + (0.90)(-0.0087)(0) = 0.4
w25 = 0.1
0.1 + (0.90)(-0.0065)(0) = 0.1
w34 = -0.5
-0.5 + (0.90)(-0.0087)(1) = -0.508
w35 = 0.2
0.2 + (0.90)(-0.0065)(1) = 0.194
θ6 = 0.1
0.1 + (0.90)(1.1311) = 0.218
θ5 = 0.2
0.2 + (0.90)(-0.0065) = 0.194
θ4 = -0.4
-0.4 + (0.90)(-0.0087) = -0.408
11/4/2015
Mestrado em Ciencia da Computacao
18
Ajustes dos pesos e tendências :
Modo Padrão

Modo Padrão (ou case updating)
 A cada nova amostra analisada é feito o ajuste dos pesos e
tendências na fase de volta.
 Os pesos e tendências atualizados são utilizados na fase
da ida para a amostra seguinte.
 Em cada época os pesos e tendências são ajustados N
vezes, onde N = total de amostras.
11/4/2015
Mestrado em Ciencia da Computacao
19
Ajustes dos pesos e tendências :
Modo Batch


Modo Batch (ou epoch updating)

Para cada amostra armazena-se os erros Ej obtidos na fase da volta,
para cada neurônio Nj (das camadas de output e intermediárias).

No final da época (quando todas as amostras foram analisadas),
calcula-se para cada neurônio intermediário ou da camada de output a
média dos erros calculados em cada iteração.

Utiliza-se estes erros médios dos neurônios para ajustar os pesos e
tendências no final da época.

Assim em cada época os pesos e tendências são ajustados uma única
vez.
Análise: O modo padrão é o mais utilizado na prática, produz resultados
mais acurados do que o modo batch.
11/4/2015
Mestrado em Ciencia da Computacao
20
Classificação por Backpropagation



Input: um banco de dados de treinamento
(amostras)
Output: uma rede neural treinada
Problema: Como extrair “regras de
classificação” de uma rede neural treinada ?
11/4/2015
Mestrado em Ciencia da Computacao
21
Vantagens e Desvantagens





Fase de treinamento demorada
Muitos parâmetros, determinados empiricamente
Fraca interpretabilidade
Alta tolerância a ruídos
Resultados Confiáveis
11/4/2015
Mestrado em Ciencia da Computacao
22
Redes Neurais como classificadores



Classificadores robustos – boa acurácia mesmo em
presença de ruídos.
Acurácia muito superior à acurácia de classificadores
baseados em árvores de decisão.
Problemas


Processo lento, exige diversas tentativas para encontrar
topologia adequada.
Resultados da classificação = uma rede treinada.


11/4/2015
Pouca utilidade num ambiente de grande volume de dados
Importante que o resultado seja em forma de regras
Busca de tuplas satisfazendo as condições de uma regra pode ser
feita usando SQL.
Mestrado em Ciência da Computação
23
Poda de um rede neural – por que ?



Uma rede treinada é totalmente conectada
Muitos nós e muitos links !
Impossível de extrair regras concisas que



sejam úteis e significativas para os usuários
possam facilmente ser transformadas em consultas de uma
linguagem de banco de dados
Fase da Poda: Objetivos


11/4/2015
remoção de links e nós sem afetar a taxa de erro da rede.
obtenção de uma rede com um número pequeno de nós e
links, dos quais é possível extrair-se regras concisas e
compreensíveis para o usuário final.
Mestrado em Ciência da Computação
24
Referências

S.M.Weiss, C.A. Kulikowski: Computer Systems that Learn: Classification and Prediction
Methods from Statistics, Neural Nets, Machine Learning and Expert Systems. San Mateo,
CA, Morgan Kaufmann, 1991.
H. Lu, R. Setiono, H. Liu: NeuroRule: A Connectionist Approach to Data Mining. VLDB
1995, pp. 478-489.
http://www.vldb.org/conf/1995/P478.PDF

Rudy Setiono - A Penalty-function Approach for Pruning Feedforward Neural Networks
(1997). Neural Computation, 1997, Vol. 9, pages 185-204.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.5249

Leitura interessante: Rede Neural simula o modelo de aprendizagem do cérebro humano ??

Asin Roy: Artificial Neural Networks: A Science in Trouble. SIGKDD Explorations, Vol. 1,
Issue 2, Jan. 2000, 33-38.
http://www.sigkdd.org/explorations/issues/1-2-2000-01/roy.pdf
11/4/2015
Mestrado em Ciência da Computação
25
Download

Classificação Redes Neurais