• Nenhum resultado encontrado

Redes Neurais e Sistemas Fuzzy

N/A
N/A
Protected

Academic year: 2021

Share "Redes Neurais e Sistemas Fuzzy"

Copied!
24
0
0

Texto

(1)

Prof. Paulo Martins Engel

Redes Multicamadas

O MLP e o algoritmo Backpropagation

Informática

UFRGS Prof. Paulo Martins Engel

Redes multicamadas e o MLP

• Problemas não-linearmente separáveis podem ser resolvidos por redes que tenham pelo menos uma camada intermediária (oculta) para transformar o problema (em LS).

• O MLP (Multilayer Perceptron), ou perceptron multicamadas, utiliza nós com o modelo não-linear de neurônio e apresenta uma topologia com pelo menos 3 camadas:

• Camada de entrada: com neurônios sensoriais; distribui o vetor de entrada para todos os neurônios da camada oculta;

• Camada oculta: com neurônios computacionais; realiza um mapeamento intermediário do problema, gerando vetores linearmente separáveis para a camada de saída;

• Camada de saída: composta de neurônios computacionais; realiza a rotulação das classes ou o mapeamento desejado.

• Alternativamente, o mapeamento intermediário do problema pode ser realizado por sucessivas camadas ocultas.

• Qualquer função contínua pode ser aproximada por um MLP de 3 camadas, com um número suficiente de neurônios na camada oculta (aproximador universal).

(2)

3 Camada de entrada Camada oculta Camada de saída

A topologia do Perceptron de Múltiplas Camadas MLP

1 k M yk(n) ws k1 ws kj ws kL 1 1 N i j L wo j1 wo ji wo jN x1(n) xi(n) xN(n) wo j0 x0=1 i0=1 ws k0

ij(n) : valor de saída do neurônio genérico (j) da camada oculta gerado por x(n).

yk(n): valor de saída do neurônio genérico (k) da camada de saída gerado por x(n).

dk(n): valor de saída desejado do neurônio k correspondente a x(n).

wo

jie wskj: pesos genéricos da camada oculta e de saída, respectivamente.

dk(n) d1(n) dM(n) x1(n) xi(n) xN(n) i1(n) ij(n) iL(n) y1(n) yM(n) x(n) Informática

UFRGS Prof. Paulo Martins Engel

Problema NLS

Problema Lógico com ruído

Solução por MLP Problema LS

(3)

5

• A tabela-verdade da função booleana XOR induz uma partição que não é realizável por meio de uma única reta.

• Assim, este problema é não-linearmente separável e um perceptron elementar não o consegue resolver.

O problema do XOR

x1 x2 1 1 1 +1 +1 1 +1 +1 1 +1 +1 1 x(1) x(2) x(3) x(4) x1x2 x(1) x(4) x(3) x(2) Informática

UFRGS Prof. Paulo Martins Engel

Solução do problema do XOR por MLP

As funções booleanas XOR e EQV são não-linearmente separáveis e podem ser implementadas por perceptrons de múltiplas camadas, MLP.

A solução do problema é equivalente a ajustar os pesos dos neurônios ocultos de modo a corresponder a mapeamentos intermediários em i1 e i2, que tornam o problema linearmente separável para a camada de saída.

x1 x2 x0 x0 y 1 2 3 i0 i1 i2

Exemplo de solução possível:

x1 x2 d –1 –1 –1 +1 +1 –1 +1 +1 –1 +1 +1 –1 i1 i2 –1 –1 +1 –1 –1 +1 –1 –1 i1 = ( x1 x2) i2 = (x1x2) y =

(

i1 i2

)

Equivale à transformação: x1  x2 = ( x1  x2)  (x1  x2)

(4)

7

Representação gráfica da solução do problema do XOR

–1 –1 +1 –1 –1 +1 –1 –1 x1 x2 d –1 –1 –1 +1 +1 –1 +1 +1 –1 +1 +1 –1 i1 i2 x1 x2 1 (+1,1) (+1,+1) (1,+1) (1,1) +1 i1 = ( x1 x2) 1 1 x1 x2 (+1,1) (+1,+1) (1,+1) (1,1) i2 = (x1x2) 1 +1 1 1 y =

(

i1 i2

)

Informática

UFRGS Prof. Paulo Martins Engel

Representação gráfica da solução do problema do XOR

–1 –1 +1 –1 –1 +1 –1 –1 x1 x2 d –1 –1 –1 +1 +1 –1 +1 +1 –1 +1 +1 –1 i1 i2 x1 x2 -1 +1 (+1,-1) (+1,+1) (-1,+1) (-1,-1) +1 -1 i1 = ( x1 x2) i2 = (x1x2) -1 -1 -1 -1 i1 i2 Classe: +1 Classe: –1 (+1,1) (+1,+1) (1,+1) (1,1) y = ( i1  i2 ) y =

(

i1 i2

)

(5)

9

Mapeamento de entrada-saída da solução do problema do XOR

–1 –1 +1 –1 –1 +1 –1 –1 x1 x2 d –1 –1 –1 +1 +1 –1 +1 +1 –1 +1 +1 –1 i1 i2 x1  x2 = ( x1  x2)  (x1  x2) Informática

UFRGS Prof. Paulo Martins Engel

• O processamento de informação em MLPs acontece em duas fases:

• A fase de propagação, onde o sinal de entrada é propagado através de toda a rede, camada por camada, gerando inicialmente os valores de saída dos neurônios da camada oculta, que servem de entrada para a camada de saída, e finalmente, gerando os valores de saída da rede.

• Esta fase é responsável pela atuação da rede e, portanto, ocorre on-line. • A fase de adaptação, onde ocorrem os ajustes dos pesos da rede.

• Nesta fase, o fluxo de informação se dá da camada de saída em direção à camada de entrada.

• As diferenças entre os valores de saída da rede e os valores desejados causam parcelas individuais de erro para cada neurônio, que são usadas para corrigir os pesos, segundo o algoritmo backpropagation.

• Esta fase é utilizada apenas durante o treinamento da rede, que é realizado off-line, ou seja, sem que a rede atue no ambiente.

(6)

11

A fase de propagação

• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de

entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).

x(n) x1(n) x2(n) x0 = 1 x1(n) x2(n) i(n) i0 = 1 i1(n) i2(n) i3(n) wo 20 1 2 2 1 3 1 2 wo 12 wo 21 wo 22 wo 32 wo 31 ws 10 ws 13 ws 24 ws 20 wo 30 wo 10 wo 11 ws 11 ws 12 ws 21 ws 23 y(n) y2(n) y1(n) Informática

UFRGS Prof. Paulo Martins Engel

A fase de propagação

• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de

entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).

O potencial de ativação voj(n) e o valor de saída ij(n) de um neurônio genérico (j) da camada oculta causados pelo vetor de entrada x(n) são calculados por:

yk(n) = f (vsk(n)) vs k(n) =

wskj · ij(n) j=0 L vo j(n) =

woji · xi(n) i=0 N ij(n) = f (voj(n))

Analogamente, o potencial de ativação vsk(n) e o valor de saída yk(n) de um neurônio genérico (k) da camada de saída para a entrada x(n) são calculados por:

(7)

13

Os MLP são treinados pelo algoritmo de retropropagação de erros, que é baseado

na regra delta de aprendizado por correção de erro [Paul Werbos 74].

O algoritmo Backprop pode ser visto como uma generalização do algoritmo LMS

desenvolvido para um único neurônio.

• Como existem vários neurônios na camada de saída, deve-se definir a soma

instantânea dos quadrados dos erros em cada nó de saída da rede, E(n), quando o

n-ésimo vetor de treinamento x(n) é apresentado na entrada da rede:

O algoritmo Backpropagation

e2

k (n) =

(

dk(n) yk(n)

)

2

Com o erro quadrático instantâneo na unidade k de saída definido por:

eké o erro numa unidade de saída k, quando o vetor x(n) é propagado pela rede:

ek(n) = dk(n) yk(n)

dk(n) é a saída desejada, correspondente a x(n), e yk(n) é a saída instantânea obtida no neurônio de saída k, pela propagação de x(n).

E(n) =



e2 k(n) k=1 M 1 2 Informática

UFRGS Prof. Paulo Martins Engel

Atualização dos pesos do MLP

• Assim como no algoritmo LMS, no algoritmo Backprop será usado o erro

quadrático instantâneo na saída da rede, E(n), como função de custo a ser

minimizada no processo iterativo.

• O desempenho do treinamento é medido pelo erro quadrático médio definido como a média dos erros instantâneos, para todos os P vetores de treinamento:

• As modificações dos pesos acontecem a cada apresentação de um padrão de entrada, x(n), segundo a regra do gradiente descendente (LMS).

• Cada peso é ajustado de acordo com a sua contribuição ao erro, de forma a produzir deslocamentos na direção do gradiente descendente do erro E(n). • Observando o princípio da mínima perturbação, o erro quadrático médio será

minimizado com este procedimento.

• A expressão genérica para ajuste dos pesos pode ser escrita como (regra delta):

EQM= P



E(n) n=1 1 P w(n+1) = w(n) +

(

  E(n)

)

 w(n) =    E(n)

(8)

15

• Na camada de saída, a expressão para atualização de um peso genérico é análoga à do perceptron elementar, pois aqui um vetor de pesos wsk (n) é responsável apenas pela parcela de erro correspondente ao seu neurônio k, isto é, ek(n).

Atualização dos pesos da camada de saída do MLP

1 L i1(n) i0=1 ws k1 1 d1(n) M iL(n) x1 (n) x0 = 1 xN(n) d M(n) y1(n) wo 11 wo LN φ(·) vs 1(n) yM(n) φ(·) vs M(n) φ(·) vo 1(n) φ(·) vo L(n) j ij(n) w s kj k dk(n) xi(n) w yk(n) o ji φ(·) vs k(n) φ(·) vo j(n) ws kL ws k0 wsk(n)=

wsk0 , wsk1 , , wskj,, wskL

]

T e2 k(n) =

(

dk(n) yk(n)

)

2

dk(n) f s

vsk(n)

)

)

2 

dk(n)fs



i(n)T.wsk(n)



)

2

  M k k n e n E 1 2 ) ( 2 1 ) ( E(n) Informática

UFRGS Prof. Paulo Martins Engel

Cálculo de um termo do gradiente pela regra da cadeia

1 L i1(n) i0=1 ws k1 1 d1(n) M iL(n) x1 (n) x0 = 1 xN(n) d M(n) y1(n) wo 11 wo LN φ(·) vs 1(n) yM(n) φ(·) vs M(n) φ(·) vo 1(n) φ(·) vo L(n) j ij(n) w s kj k dk(n) xi(n) yk(n) wo ji φ(·) vs k(n) φ(·) vo j(n) ws kL ws k0 s kj s k s k s kj w n v n v n E w n E        ( ) ) ( ) ( ) ( E(n) kj s k w n v   ( ) ) ( ) ( n v n E s k   s kL s k s k s kL w n v n v n E w n E        ( ) ) ( ) ( ) (

(9)

17

Cálculo de um termo do gradiente pela regra da cadeia

s kj s k s k s kj w n v n v n E w n E        ( ) ) ( ) ( ) ( E(n) =



e2 k(n) k=1 M 1 2 ek(n) = dk(n) yk(n) yk(n) = f (vsk(n))

(

e2 1(n) + e22(n) +  + e2k(n)+  + e2M(n)

)

= 1 2 vs k(n) =

wskj · ij(n) j=0 L = wsk0· i0(n) + wsk1· i1(n) +  + wskj · ij(n) +  + wskL · iL(n) ? ) (   s kj w n E

( )

) ( ) ( ) ( n v f n e n v n E s k k s k      ) (n s k    ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( n v n y n y n e n e n E n v n E s k k k k k s k          j kj s k i w n v   ( ) Informática

UFRGS Prof. Paulo Martins Engel

Atualização dos pesos da camada de saída do MLP

• Com isso, o (vetor) gradiente da função de custo do algoritmo BP para um

neurônio k na camada de saída é:

• Para simplificar a notação, definimos o gradiente localsk(n) de um neurônio k da camada de saída como:

wskn wskn+ sk(n) .i (n)

• Assim, a expressão para o ajuste do vetor de peso de um neurônio genérico na

camada de saída do MLP depende diretamente do gradiente local do neurônio

correspondente: s k(n) ek(n) fs´ vsk(n) E(n)  ws k (n) = –sk(n)

.

i(n)kE(n) = wsk(n+1) = wsk(n) + 

(

 kE(n)

)

(10)

19

Ajuste dos pesos da camada de saída

1 2 i1(n) i0=1 ws 11 1 2 d1(n) 1 2 i2(n) x1 (n) x0 = 1 x2(n) x1(n) x2(n) d2(n) y1(n) y2(n) ws 10 ws 12 ws 20 ws 21 ws 22 wo 10 wo 11 wo 12 wo 20 wo 21 wo 22 s k(n) (dk(n)yk(n) ). (1yk(n)2) ws kj n wskj n+  sk(n) .ij (n)s 1(n)s 1(n) (d1(n) – y1(n) ). (1 – y1(n)2) s 2(n) (d2(n) – y2(n) ). (1 – y2(n)2) s 2(n) Informática

UFRGS Prof. Paulo Martins Engel

• Um vetor de pesos woj (n) da camada oculta influencia todas as parcelas de erro na saída da rede, por meio da saída do seu neurônio correspondente, ij(n).

Influência dos pesos da camada oculta no erro

e2 k(n) =

(

dk(n) yk(n)

)

2 

dk(n) f s

vsk(n)

)

)

2

dk(n)fs

i(n)T  wsk (n)

)

2 1 L i1(n) i0=1 1 d1(n) M iL(n) x1 (n) x0 = 1 xN (n) d M(n) y1(n) wo j0 wo LN φ(·) vs 1(n) yM(n) φ(·) vs M(n) φ(·) vo 1(n) φ(·) vo L(n) j w s kj k dk(n) xi(n) yk(n) wo ji φ(·) vs k(n) φ(·) vo j(n) ws Mj ws 1j wo j1 wo jN ij(n) ij(n) fo

x(n)Twoj (n)

E(n) =



e2 k(n) k=1 M 1 2

(11)

21 1 L i1(n) i0=1 1 d1(n) M iL(n) x1 (n) x0 = 1 xN (n) dM(n) y1(n) wo j0 wo LN φ(·) vs 1(n) yM(n) φ(·) vs M(n) φ(·) vo 1(n) φ(·) vo L(n) j w s kj k dk(n) xi(n) yk(n) wo ji φ(·) vs k(n) φ(·) vo j(n) ws Mj ws 1j wo j1 wo jN ij(n)

Cálculo de um termo do gradiente pela regra da cadeia

E(n) o ji o j o j j j s M s M j s k s k j s s o ji w n v n v n i i n v n v n E i n v n v n E i n v n v n E w n E                                ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1 1   Informática

UFRGS Prof. Paulo Martins Engel

Cálculo de um termo do gradiente pela regra da cadeia

o ji o j o j j j s M s M j s k s k j s s o ji w n v n v n i i n v n v n E i n v n v n E i n v n v n E w n E                                ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1 1   • Mas como: • Então: ) ( ) ( ) ( n n v n E s k s k      s kj j s k w i n v   ( )

( )

) ( ) ( n v f n v n i o j o j j   i o ji o j x w n v    ( )

 

i o j Mj s M kj s k j s o ji x n v f w w w w n E ) ( ) ( 1 1            • Definindo: o j (n)

k=1 Ms k(n) wskj(n) fo

(

voj(n)

)

• Obtemos: = oj (n) x(n) E(n)  wo j (n)jE(n)

(12)

23

Atualização dos pesos da camada oculta do MLP

wojn wojn+  oj (n) .x (n)

• A expressão para o ajuste do vetor de peso de um neurônio genérico na camada de

saída do MLP depende diretamente do gradiente local do neurônio correspondente:

woj (n+1) = woj (n) + 

(

 jE(n)

)

Informática

UFRGS Prof. Paulo Martins Engel

Ajuste dos pesos da camada oculta

1 2 i1(n) i0=1 ws 11 1 2 d1(n) 1 2 i2(n) x1 (n) x0 = 1 x2(n) x1(n) x2(n) d2(n) y1(n) y2(n) ws 10 ws 12 ws 20 ws 21 ws 22 wo 10 wo 11 wo 12 wo 20 wo 21 wo 22 o 1(n)o 1(n) 1 – i1(n)2s1(n) ws11s2(n) ws21 o 2(n) wo jin wojin+  oj (n) .xi (n)s 1(n)s 2(n)o 2(n) 1 – i2(n)2s1(n) ws12s2(n) ws22 o j (n)

k=1 Ms k(n) wskj(n) fo

(

voj(n)

)

(13)

25

Resumo do treinamento por retropropagação de erro

1. Inicializar os pesos com valores arbitrários não nulos.

2. Apresentar um padrão de entrada x(n) e propagá-lo até a saída da rede. 3. Calcular os erros instantâneos na saída da rede, ek(n).

4. Calcular os gradientes locais dos neurônios da camada de saída, s k(n). 5. Ajustar os pesos da camada de saída pela expressão:

wo

jin wojin+  oj (n) .xi (n)

6. Calcular os gradientes locais dos neurônios da camada oculta, o j (n). 7. Ajustar os pesos da camada oculta pela expressão:

ws

kj n wskj n+  sk(n) .ij (n)

8. Repetir os passos de 2 a 7 para todos os padrões de treinamento (1 época) 9. Calcular o erro médio quadrado (EMQ) para o arquivo de treinamento. 10. Se o EMQ for maior que o valor desejado, repetir o passo 8.

Informática

UFRGS Prof. Paulo Martins Engel

Representação da saída e regra de decisão

• O problema de classificar um vetor numa determinada classe Ckentre M classes

possíveis, para o qual a união das M classes distintas forma o espaço de entrada, requer M saídas para representar todas as possíveis decisões de classificação.

• Se o MLP for treinado com a função logística para os neurônios de saída e com os valores das saídas desejadas correspondendo à rotulação binária:

MLP xj y1,j yk,j yM,j dkj1 se xj  Ck 0 se xj  Ck

• Então, após o treinamento, quando um vetor x for propagado pela rede, o valor de um nó de saída, yk, corresponde à probabilidade a posteriori que x pertença a classe Ck, isto é, P(Ck|x).

(14)

27

• Desta forma, cada nó de saída do MLP apresentará um valor que é uma estimativa de probabilidade a posteriori que o vetor de entrada pertença à classe respectiva. • Com isso, nós podemos utilizar a regra de Bayes para decidir a que classe o vetor

de entrada pertence.

• A regra de Bayes decide a classificação de um vetor pela máxima estimativa da probabilidade a posteriori.

• Esta regra é utilizada nos classificadores estatístico por máxima verossimilhança. • Então, considerando que um vetor x foi propagado através de um MLP treinado

segundo as condições descritas anteriormente, gerando as saídas da rede y1(x),

y2(x), …, yj(x), …, yM(x), a regra de classificação em uma das M classes possíveis pode ser expressa como:

Classifique o vetor x como pertencente a Ckse

yk(x) > yj(x) para todo j k

Informática

UFRGS Prof. Paulo Martins Engel

(15)

29

• Há dois modos de treinamento para os algoritmos iterativos supervisionados: 1. Modo seqüencial. Neste modo, também referenciado como modo incremental, ou

on-line, a atualização dos pesos é realizada após a apresentação de cada exemplo de

treinamento (adapt).

2. Modo por lote. Neste modo, o ajuste de pesos é realizado após a apresentação de

todos os exemplos de treinamento, que constituem uma época (train).

• Do ponto de vista operacional, o modo seqüencial é preferível porque requer menos armazenamento local para cada conexão sináptica.

• Além disso, pela aleatoriedade na apresentação dos padrões, a atualização dos pesos na base de padrão por padrão torna a busca no espaço de pesos de natureza

estocástica, tornando o algoritmo menos propenso a ficar preso em mínimos locais. • Por outro lado, a natureza estocástica do modo seqüencial torna difícil estabelecer as

condições teóricas para convergência do algoritmo.

• Já o modo por lote fornece, por exemplo, uma estimativa precisa do vetor gradiente, garantindo assim a convergência para um mínimo local.

Modos de Treinamento

Informática

UFRGS Prof. Paulo Martins Engel

Heurísticas para melhorar a convergência e a generalização

• Atualização seqüencial comparada à atualização por lote: o modo seqüencial do algoritmo BP é computacionalmente mais rápido que o modo por lote.

• Maximização do conteúdo de informação: Como regra geral, todo exemplo de

treinamento apresentado deve ser escolhido de forma que o seu conteúdo de informação seja o maior possível:

• exemplo que resulta no maior erro de treinamento • exemplo que seja bem diferente dos outros

• Soluções práticas: tornar aleatória a ordem de apresentação dos exemplo ou apresentar à rede um número maior de exemplos difíceis (maior erro).

• Função de ativação: a aprendizagem é mais rápida quando se utiliza uma função anti-simétrica do tipo:

(v) = a tanh(bv) com a = 1,7159 e b = 2/3

Com isso, a inclinação da função de ativação na origem fica próximo da unidade e a sua derivada segunda atinge o seu valor máximo em v = 1.

(16)

31

Função de ativação anti-simétrica

a = 1,7159

-a = -1,7159

(v)

v

Informática

UFRGS Prof. Paulo Martins Engel

Heurísticas para melhorar a convergência e a generalização

• Valores-alvo: É importante escolher os valores-alvo (resposta desejada) dentro do intervalo da função de ativação, ou seja afastados por uma quantidade do valor limite da sigmóide.

• Caso contrário, o algoritmo BP tende a levar os pesos para o infinito, reduzindo a velocidade do processo de treinamento, levando os neurônios ocultos à saturação. • Solução: escolher d = 1 quando a da função de ativação for 1,7159.

• Outra solução: escolher d = 0,9 quando a da função de ativação for 1.

• Normalizar as entradas: Cada variável de entrada deve ser pré-processada de modo que o seu valor médio seja pequeno comparado com o desvio padrão.

• Isto pode ser feito em três passos: remoção da média, descorrelação e equalização das covariâncias.

(17)

33 Normalização das entradas

remoção da média descorrelação equalização da covariância dados originais Informática

UFRGS Prof. Paulo Martins Engel

Heurísticas para melhorar a convergência e a generalização

• Inicialização: Os valores dos pesos devem ser inicializados uniformemente dentro de um intervalo de valores pequenos, para reduzir a probabilidade de que os neurônios da rede saturem, produzindo gradientes pequenos.

• Entretanto, se os pesos forem muito pequenos, os gradientes serão também muito pequenos no início.

• Quando utilizamos a função de ativação especificada anteriormente, uma solução é inicializar os pesos aleatoriamente dentro do intervalo (2,4/Fi, +2,4/Fi) onde Fié o fan-in do neurônio i da rede.

• Pelo método de Nguyen e Widrow, os pesos são inicializados aleatoriamente num intervalo regulado pelo núm. de unidades ocultas (H) e a dimensão dos padrões (N), 0,7H1/N.

• Regra delta generalizada: Para aumentar a taxa de aprendizagem, evitando o perigo da instabilidade, introduz-se um termo de momento na expressão de correção dos pesos, correspondente a uma parcela () da correção no passo anterior:

 ws

(18)

35

• A avaliação empírica da capacidade preditiva de hipóteses

(desempenho preditivo) é fundamental para tarefas de aprendizado.

• A dificuldade em se estimar este desempenho está no fato de

normalmente se dispor de uma amostra limitada de dados que pode não

representar corretamente a distribuição geral dos dados.

• Com isso, a estimativa de desempenho feita sobre uma amostra de

dados disponível para este fim, não corresponde exatamente ao

desempenho verdadeiro, medido sobre a distribuição geral dos dados.

• Para contornar esta dificuldade, são aplicados métodos estatísticos e

feitas suposições sobre as distribuições dos dados.

• A taxa de erro de previsão da classe é uma medida natural de

desempenho para tarefas de classificação.

Avaliação de modelos

Informática

UFRGS Prof. Paulo Martins Engel

Como obter uma estimativa confiável sobre o desempenho do modelo?

Erro sobre os dados de treinamento não é um bom indicador de desempenho sobre

dados futuros (estimativa com viés otimista)

• Solução simples se existirem muitos dados rotulados:

– Dividir dados em conjuntos de treinamento e de teste (amostras independentes)

• Mas: normalmente o número de dados rotulados é limitado

– São necessárias técnicas mais sofisticadas de avaliação

• Mesmo que a estimativa seja realizada sobre um arquivo sem viés (amostras

independentes de teste), a acurácia medida pode ainda ser diferente da acurácia real, dependendo de como o arquivo de teste foi composto. Quanto menor o arquivo de teste, maior será a variância esperada entre estas acurácias.

• Desempenho do modelo pode depender de outros fatores, além do algoritmo de

aprendizagem:

– Distribuição de classes, custo para classificação errada, tamanho dos conjuntos de treinamento e teste

(19)

37

• É importante que os dados de teste não sejam usados para

criar o modelo

• Alguns esquemas de aprendizagem operam em dois estágios:

– Estágio 1: constrói a estrutura básica

– Estágio 2: otimiza os parâmetros da estrutura

• Os dados de teste não podem ser usados para ajustar

parâmetros!

• Neste caso são precisos três conjuntos: de treinamento, de

validação (ou configuração) e de teste.

– Conjunto de validação é usado para otimizar parâmetros

Nota sobre ajuste de parâmetros

Informática

UFRGS Prof. Paulo Martins Engel

• Após a avaliação, todos os dados podem ser usados para

construir o classificador final

• Geralmente, quanto maior o arquivo de treinamento melhor o

classificador

• Quanto maior o arquivo de teste mais exata será a estimativa

de erro

• Procedimento holdout (retenção): dividir os dados originais

em conjuntos de treinamento e de teste

– Dilema: queremos tanto um grande arquivo de treinamento quanto

um grande arquivo de teste

(20)

39

• O que fazer se a quantidade de dados é limitada?

• Método holdout reserva uma certa quantidade dos dados para

teste e usa o resto para o treinamento

– Usualmente 1/3 para teste, o resto para treinamento

• Mas: as amostras podem não ser representativas

– Exemplo: pode não haver amostras de uma classe nos dados de teste

• Versão avançada usa estratificação

– Assegura que cada classe esteja representada com proporções

aproximadamente iguais em ambos os conjuntos

• Bootstrap

– Amostragem com substituição

Estimação por retenção (holdout)

Informática

UFRGS Prof. Paulo Martins Engel

• Validação cruzada evita superposição dos conjuntos de teste

– Primeiro passo: conjunto de dados é dividido em k subconjuntos de

tamanhos iguais

– Segundo passo: cada subconjunto é usado para teste e os demais

para treinamento.

– O segundo passo é repetido k vezes

– Esta é a chamada validação cruzada por k vezes

• Muitas vezes os subconjuntos são estratificados antes de

realizar a validação cruzada

• A estimativa de erro global é calculada como a média das k

estimativas de erro de cada iteração

(21)

41

Avaliação do modelo gerado

• Validação cruzada (CV): o problema do treinamento da rede pode ser visto como o da escolha da melhor configuração de um conjunto de configurações possíveis de rede (parametrizações).

• A validação cruzada consiste em se dividir o conjunto de dados disponível aleatoriamente num conjunto de treinamento e num conjunto de teste.

• O conjunto de treinamento é dividido ainda num subconjunto de estimação e num subconjunto de validação.

• Deve-se treinar o modelo com o conjunto de estimação e validá-lo com o conjunto de

validação.

• O desempenho de generalização é medido pelo conjunto de teste.

• Na versão k-fold-CV, o conjunto de dados é dividido em k subconjuntos de tamanhos iguais.

• A seguir, cada subconjunto é usado para teste e os demais para treinamento

• A estimativa de erro global é calculada como a média das k estimativas de erro de cada iteração.

Informática

UFRGS Prof. Paulo Martins Engel

four-fold-cross-validation

subconj 1 subconj 2 subconj 3 subconj 4 Conjunto de Exemplos subconj 1 subconj 2 subconj 3 subconj 4 teste treino treino treino subconj 1 subconj 2 subconj 3 subconj 4 teste treino treino treino subconj 1 subconj 2 subconj 3 subconj 4 teste treino treino treino subconj 1 subconj 2 subconj 3 subconj 4 teste treino treino treino

(22)

43

• A validação cruzada deixando um fora (

leave-one-out c-v

):

– O número de vezes é escolhido como o número de exemplos de

treinamento

– Isto é, deve-se construir n classificadores, onde n é o número de

exemplos de treinamento

• Aproveita ao máximo os dados

• Não envolve sub-amostragem aleatória

• Computacionalmente muito custoso

Validação cruzada deixando um fora

Informática

UFRGS Prof. Paulo Martins Engel

• O foco deve estar na capacidade preditiva do modelo

• Apesar de a taxa de erro, ser uma medida natural de desempenho de

classificação, ela não distingue entre erros feitos sobre exemplos

positivos daqueles feitos sobre exemplos negativos.

• A matriz de confusão é uma ferramenta que contabiliza os acertos e os

erros feitos pela hipótese avaliada:

Métricas para avaliação de desempenho

Classe prevista Positivo Negativo Classe real Positivo Verdadeiro Positivo (VP) Falso Negativo (FN) Negativo Falso Positivo (FP) Verdadeiro Negativo (VN)

(23)

45

Métricas para avaliação de desempenho...

Classe prevista Positivo Negativo Classe real Pos Verdadeiro Positivo (VP) Falso Negativo (FN) Neg Falso Positivo (FP) Verdadeiro Negativo (VN)

• Métricas mais usadas:

– Acurácia (mais usada), Erro

n VN VPFN FP VN VP n     n FN FP  Acurácia: Erro:

P : número de exemplos positivos (8) N : número de exemplos negativos (12) n = P + N : número total de exemplos (20)

Pr(P)= P/n = 0,4 : Probabilidade a priori da classe P Pr(N)= N/n = 0,6 : Probabilidade a priori da classe N Acurácia(M) = 15/20 = 0,75 Erro(M) = 5/20 = 0,25 Prevista P N Real P 6 2 N 3 9 Modelo M +           + + + + + + +   +           + + + + + + +   Informática

UFRGS Prof. Paulo Martins Engel

Métricas para avaliação de desempenho

Classe prevista Positivo Negativo Classe real Positivo Verdadeiro Positivo (VP) Falso Negativo (FN) Negativo Falso Positivo (FP) Verdadeiro Negativo (VN)

– Métricas mais usadas:

n VN VPFN FP VN VP n    n FN FP Acurácia: Erro: Precisão (p): VPVPFP

(Fração relevante do total previsto)

Recall (r):

(Sensibilidade, SN ) VP FN

VP

(Fração prevista do total relevante)

– Métricas sensíveis a custo

VN w FP w FN w VP w VN w VP w 4 3 2 1 4 1     Acurácia ponderada:

• Matriz de confusão

(24)

47 Classe prevista +Classe real + VP FN  FP VN Precisão (p)

Fração correta do total previsto VP FP VP p

 

Taxa de VP (TVP), sensitivity ou recall (r) Fração dos exemplos positivos prevista corretamente

FN VP VP r TVP    Taxa de FP (TFP)

Fração dos exemplos negativos prevista como positivos

VN FP FP TFP  

Taxa de VN (TVN), specificity ou fall-out Fração dos exemplos negativos prevista corretamente

VN FP VN TVN   Taxa de FN (TFN)

Fração dos exemplos positivos prevista como negativos

FN VP FN TFN   VN w FP w FN w VP w VN w VP w 4 3 2 1 4 1     Acurácia ponderada: Medida-F (F): p r rp  2

Média harmônica entre precisão e recall

Das definições segue: TVP + TFN = 1 TVN + TFP = 1

Referências

Documentos relacionados

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

Os alunos que concluam com aproveitamento este curso, ficam habilitados com o 9.º ano de escolaridade e certificação profissional, podem prosseguir estudos em cursos vocacionais

Os estudos iniciais em escala de bancada foram realizados com um minério de ferro de baixo teor e mostraram que é possível obter um concentrado com 66% Fe e uma

d) os dados obtidos na avaliação fonoaudiológica foram, na maioria da vezes, suficientes para definir a conduta fonoaudiológica quanto à necessidade de avaliação abrangente ou

Uma maneira viável para compreender uma reação química é através da conservação das massas, isso porque numa abordagem mais ampla, como demonstra no livro

Mesmo com suas ativas participações na luta política, as mulheres militantes carregavam consigo o signo do preconceito existente para com elas por parte não somente dos militares,

Ainda na última parte da narrativa, outro “milagre” acontece: Grenouille apa- rece, de súbito, em meio ao povo, destampa uma pequena garrafa que trazia consi- go, borrifa-se com

A apixaba- na reduziu o risco de AVE e embolismo sistêmico em mais de 50%: houve 51 eventos entre os pacientes do grupo apixabana versus 113 no grupo do AAS