Вы находитесь на странице: 1из 25

Classificao

Redes Neurais
AULA 11

DATA MINING
Sandra de Amo
02/04/17 Mestrado em Ciencia da Computacao 1
Redes Neurais
I1
Conjunto de unidades
I2
2

input output
w32
I3 3

Conceito de Neurnio
Artificial
Camada de Camada Camada de
Input Intermediria Output Cada vrtice de uma camada
ligado a todos os vrtices da
camada seguinte.
02/04/17 Mestrado em Ciencia da Computacao 2
Como definir a topologia da rede ?
Topologia: nmero de camadas intermedirias, nmero de
neurnios nas camadas intermedirias e inicializao dos
pesos e tendncias.
Topologia ideal : Processo de tentativa e erro
Nmero de camadas intermedirias pode ser maior do que 1
Mais comum: uma nica camada intermediria
Se a rede treinada julgada no confivel, repete-se o
processo de treinamento com outra topologia e outros pesos e
tendncias iniciais
Diversas tcnicas automticas foram propostas para se
encontrar a topologia ideal da rede (produzindo os resultados
com maior acuracia).

02/04/17 Mestrado em Ciencia da Computacao 3


Camadas de Input e de Output
Input
Se atributos no so categorizados
Um neurnio para cada atributo
Valores dos atributos so normalizados entre 0 e 1.
Se atributos so categorizados
NAi = nmero de valores do atributo Ai
Total de neurnios da camada inicial =
NA1 + NA2 + NA3 + ... + NAm
onde {A1, A2, ..., Am} = conjunto dos atributos

02/04/17 Mestrado em Ciencia da Computacao 4


Camadas de Input e de Output
Output
Nmero de neurnios = nmero de classes
Se nmero de classes = 2
nmero de neurnios = 1
Basta um nico neurnio na camada de output para o
treinamento da rede.
Supe-se que este neurnio corresponde classe 1
Se a amostra est na classe 0, ento o output correto
deveria ser 0. Se a amostra est na classe 1, o output
correto deveria ser 1.
02/04/17 Mestrado em Ciencia da Computacao 5
Rede Neural e Classificao
w0j
x0
+ j
w1j INPUT Ij
x1 na unidade j
tendncia
w2j
x2
Pesos Mdia ponderada
Outputs da Funo de Ativao
dos outputs recebidos
Camada precedente

Output Oj
02/04/17 Mestrado em Ciencia da Computacao 6
Funo de Ativao
Serve para normalizar os outputs que so
calculados em cada neurnio.
uma funo no-linear, diferencivel.
Normalmente, utiliza-se a funo:
f(x) = 1/(1+ex)
cuja derivada satisfaz
f (x) = f(x) (1 f(x))

02/04/17 Mestrado em Ciencia da Computacao 7


Backpropagation Fase de IDA
I1 C1 1 1?

I2 C2 2 0?

I3 C3 3 0?

Classe C1

02/04/17 Mestrado em Ciencia da Computacao 8


Backpropagation Fase de Volta
I1 C1
ww1212 w12

I2 ww2222 w22
C2

ww3232 w32
I3 C3

Ajusta pesos Ajusta pesos

02/04/17 Mestrado em Ciencia da Computacao 9


Condies de Parada
Epoca = tempo necessrio para que todas as
amostras sejam analisadas.

Processo se repete at que:


Os reajustes dos pesos so muito pequenos.
S uma pequena porcentagem de amostras foi
mal classificada pela rede.
Um nmero mximo de pocas foi atingido.
02/04/17 Mestrado em Ciencia da Computacao 10
Backpropagation
Objetivo: obter uma rede neural treinada

Centenas de milhares de pocas so necessrias


para a convergncia dos pesos.

Teoricamente, convergncia no garantida.

Na prtica, os pesos convergem depois de um


grande nmero de pocas.
02/04/17 Mestrado em Ciencia da Computacao 11
Ida : Como so calculados os outputs
I1 w1i

w2i Oi
I2 i
w3i

I3
Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + i )

F(x) = 1/(1+e-x)

02/04/17 Mestrado em Ciencia da Computacao 12


Volta: Clculo dos Erros
Erro em unidade da ltima camada i i Compara
com Ti =
Ei = i(1- i)(Ti i) classe
verdadeira
0, 1, 2 ..?
Erro em unidade da camada intermediria
wi1 1

Ei = Oi(1- Oi)(E1*wi1+E2*wi2+E3wi3) i wi2


2
wi3
3

02/04/17 Mestrado em Ciencia da Computacao 13


Reajustes dos pesos e tendncias
Novo peso wij wij
i j

Novo-wij = Velho-wij + EjOi

Nova Tendncia j Novo-j = Velho- j + Ej

= Taxa de Aprendizado (t) = 1/t t = iterao atual

Evita que o processo fique parado num mnimo local


02/04/17 Mestrado em Ciencia da Computacao 14
Exemplo
1 1 w14 Amostra classificada na classe C = 1
w24 4 w46
0 2 6
w34 5 w56
1 3
w14

W14 W15 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

02/04/17 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
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
02/04/17 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
02/04/17 Mestrado em Ciencia da Computacao 17
Ex: Ajustes dos Pesos e Tendncias
= 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
02/04/17 Mestrado em Ciencia da Computacao 18
= -0.4
4 -0.4 + (0.90)(-0.0087) = -0.408
Ajustes dos pesos e tendncias :
Modo Padro
Modo Padro (ou case updating)
A cada nova amostra analisada feito o ajuste dos pesos e
tendncias na fase de volta.
Os pesos e tendncias atualizados so utilizados na fase
da ida para a amostra seguinte.
Em cada poca os pesos e tendncias so ajustados N
vezes, onde N = total de amostras.

02/04/17 Mestrado em Ciencia da Computacao 19


Ajustes dos pesos e tendncias :
Modo Batch
Modo Batch (ou epoch updating)
Para cada amostra armazena-se os erros Ej obtidos na fase da volta,
para cada neurnio Nj (das camadas de output e intermedirias).
No final da poca (quando todas as amostras foram analisadas),
calcula-se para cada neurnio intermedirio ou da camada de output a
mdia dos erros calculados em cada iterao.
Utiliza-se estes erros mdios dos neurnios para ajustar os pesos e
tendncias no final da poca.
Assim em cada poca os pesos e tendncias so ajustados uma nica
vez.
Anlise: O modo padro o mais utilizado na prtica, produz resultados
mais acurados do que o modo batch.

02/04/17 Mestrado em Ciencia da Computacao 20


Classificao por Backpropagation
Input: um banco de dados de treinamento
(amostras)
Output: uma rede neural treinada

Problema: Como extrair regras de


classificao de uma rede neural treinada ?

02/04/17 Mestrado em Ciencia da Computacao 21


Vantagens e Desvantagens
Fase de treinamento demorada
Muitos parmetros, determinados empiricamente
Fraca interpretabilidade

Alta tolerncia a rudos


Resultados Confiveis

02/04/17 Mestrado em Ciencia da Computacao 22


Redes Neurais como classificadores
Classificadores robustos boa acurcia mesmo em
presena de rudos.
Acurcia muito superior acurcia de classificadores
baseados em rvores de deciso.
Problemas
Processo lento, exige diversas tentativas para encontrar
topologia adequada.
Resultados da classificao = uma rede treinada.
Pouca utilidade num ambiente de grande volume de dados
Importante que o resultado seja em forma de regras
Busca de tuplas satisfazendo as condies de uma regra pode ser
feita usando SQL.
02/04/17 Mestrado em Cincia da Computao 23
Poda de um rede neural por que ?
Uma rede treinada totalmente conectada
Muitos ns e muitos links !
Impossvel de extrair regras concisas que
sejam teis e significativas para os usurios
possam facilmente ser transformadas em consultas de uma
linguagem de banco de dados
Fase da Poda: Objetivos
remoo de links e ns sem afetar a taxa de erro da rede.
obteno de uma rede com um nmero pequeno de ns e
links, dos quais possvel extrair-se regras concisas e
compreensveis para o usurio final.
02/04/17 Mestrado em Cincia da Computao 24
Referncias
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 crebro 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

02/04/17 Mestrado em Cincia da Computao 25

Вам также может понравиться