redes neurais - computação ufcghmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – a rede...

195
PPGCC/UFCG Set/2014 Um curso sobre Redes Neurais Por Herman Martins Gomes [email protected]r

Upload: dinhhuong

Post on 11-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

PPGCC/UFCG Set/2014

Um curso sobre

Redes Neurais Por

Herman Martins Gomes [email protected]

Page 2: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Bibliografia

Haykin, S. Neural Networks: A Comprehensive Foundation. 2nd Ed., Prentice Hall, 1999.

Haykin, S. Neural Networks and Learning Machines. 3rd Ed., Prentice Hall, 2008.

Theodoridis, S., Koutroumbas, K. Pattern Recognition, 4th ed., Academic Press, 2008.

Webb, A. R., Copsey, K. D. Statistical Pattern Recognition, 3rd Ed., Wiley, 2011.

Bishop, C. M. Pattern Recognition and Machine Learning, Springer, 2006.

Zhang, G. P. (ed). Neural Networks in Business Forecasting, Idea Group Publishing, 2004.

Page 3: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Definição de uma Rede Neural

• “Uma rede neural é um processador maciçamente paralelo e distribuído constituído por unidades de processamento simples, o qual tem a propensão natural de armazenar conhecimento experimental e torná-lo disponível para uso.” [Haykin99]

Page 4: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algumas Semelhanças entre uma Rede Neural e o Cérebro

• O conhecimento é adquirido do ambiente pela rede neural através de um processo de aprendizagem

• Os pesos das conexões entre neurônios são utilizados para armazenar o conhecimento adquirido

Page 5: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Características de Redes Neurais • Generalização • Não-linearidade (ao se utilizar neurônios não lineares) • Aprendizagem a partir de exemplos (a partir de tabelas de

entrada-saída • Adaptatividade a mudanças no ambiente • Respostas fornecidas com um nível de confiança • Tolerância a falhas • Facilidade de implementação em Hardware (VLSI) • Analogia neurobiológica

Page 6: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

O Cérebro Humano

Sensores Atuadores Rede Neural Estímulos Respostas

Sistema Nervoso Central

Circuitos Inter-regiões

Circuitos locais

Neurônios

Árvores dendrídicas

Microcircuitos neurais

Sinapses

Moléculas

Nív

el d

e Ab

stra

ção

Page 7: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Modelo Computacional de um Neurônio

• Um conjunto de sinapses, ou pesos de conexão

• Um somador dos sinais de entrada ponderados pelos pesos de conexão

• Uma função de ativação para limitar a amplitude de saída do neurônio

Page 8: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Modelo Estocástico

−−+

=)(1 adeprobabilid com1

)( adeprobabilid com1)(

vPvP

xf

)/exp(11)(

TvvP

−+=

Page 9: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Arquiteturas Neurais

• Redes de única camada sem retro-alimentação

Page 10: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Arquiteturas Neurais

• Redes de múltiplas camadas sem retro-alimentação

Page 11: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Arquiteturas Neurais

• Redes recorrentes

Page 12: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• O conhecimento normalmente consiste de 2 tipos de informação: – O estado conhecido do ambiente, representado por fatos (informação

a priori). – Observações (medições) sobre o ambiente obtidas em termos de

sensores.

• O conhecimento pode ser rotulado ou não-rotulado • Exemplos (observações) utilizados para treinar uma rede

neural podem ser positivos ou negativos.

Page 13: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Existe um conjunto de quatro regras intuitivas que explicam de uma forma geral a representação do conhecimento numa rede neural [Anderson88]

Page 14: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Regra 1: Entradas similares de classes similares devem normalmente produzir representações similares dentro da rede neural, e devem portanto ser classificadas como sendo da mesma classe.

Page 15: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Regra 2: Objetos que serão classificados em classes diferentes devem receber representações amplamente diferentes dentro da rede neural.

Page 16: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Regra 3. Se uma característica em particular é importante, então deve existir um grande número de neurônios envolvidos na representação daquela característica na rede neural.

Page 17: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Regra 4: A informação a priori e invariâncias devem ser incorporadas ao projeto de uma rede neural, portanto simplificando o problema de aprendizagem.

Page 18: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Como incorporar informação a priori no projeto de uma rede neural? – Restringindo a arquitetura através do uso de

campos receptivos – Restringindo a escolha de pesos sinápticos através

do uso de compartilhamento de pesos

Page 19: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Como Incorporar Invariâncias no Projeto de uma Rede Neural? – Invariância por estrutura – Invariância por treinamento – Espaços de características invariantes

Page 20: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Campos receptivos e compartilhamento de pesos

x1

x2 x3 x4

x5 x6

1

2

Page 21: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Invariância por estrutura – Conexões sinápticas entre os neurônios são

definidas de tal forma que versões transformadas de uma mesma entrada são forçadas a produzir uma mesma saída

– Por exemplo: suponha que forcemos wji=wjk para todos os pixels que estão a uma mesma distância do centro de uma imagem. Então a rede neural construída desta forma será invariante a rotações em torno do centro da imagem.

Page 22: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Invariância por treinamento – Subconjunto das possíveis transformações que um

vetor de entrada pode sofrer são apresentados durante o treinamento

– Exemplo1: para reconhecer objetos visuais independente do ângulo de visão, pode-se treinar a rede com diferentes visões planas do objeto (reconhecimento 3D a partir de imagens 2D).

Page 23: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Invariância por treinamento – Exemplo2: para determinar que uma certa

caligrafia pertence a um indivíduo, pode-se treinar uma rede neural com diferentes amostras de caracteres de um mesmo autor.

– Muito útil quando é difícil se derivar um modelo para os dados.

– Desvantagens: overhead computacional, variações de treinamento precisam ser fornecidas para cada nova classe.

Page 24: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Representação do Conhecimento

• Espaços de Características Invariantes

– Vantagens: redução da dimensão do espaço de entrada,

arquitetura da rede pode ser mais simples, invariância normalmente vale para todas as classes de objetos.

– Possível desvantagem: quando o processo de extração de características é muito complicado ou demanda muito tempo.

Extrator de Características

Invariantes

Classificador Neural

Entrada Estimativa de classe

Page 25: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

A praga da Dimensionalidade

• A quantidade de características extraídas pode ter uma grande influência na performance de um sistema de reconhecimento de padrões

• Para ilustrar isto, vamos dividir cada variável de entrada em um certo número de intervalos

Page 26: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

A praga da Dimensionalidade

• O valor de cada variável pode ser aproximadamente especificado dizendo em que intervalo ele se encontra

• Isto implica em dividir o espaço de entrada em um enorme conjunto de caixas

x1 x2

x3

Page 27: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Se cada variável é dividida em M intervalos, então o número total de células é Md, onde d é a dimensão do espaço de entrada

• Considerando que cada célula contém pelo menos 1 ponto dos dados, isto implica que a quantidade de dados necessária para especificar o treinamento cresce exponencialmente com a dimensão d do espaço de entrada

A praga da Dimensionalidade

Page 28: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais e Inteligência Artificial

• Nível de explicação – IA clássica: modelos mentais simbólocos – Redes Neurais: modelos neurobiológicos

• Estilo de processamento – IA clássica: sequencial – Redes Neurais: paralelo

Page 29: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais e Inteligência Artificial

• Estrutura da representação – IA clássica: manipulação formal top-down de uma

linguagem de algoritmos e representações de dados

– Redes Neurais: processadores paralelos distribuídos com a habilidade natural de aprender, e que operam naturalmente de uma maneira bottom-up.

Page 30: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais e Inteligência Artificial

• Extração de regras de redes neurais – Alternativa para unir as abordagens conexionistas

e simbolistas na solução de um problema – Validar o correto funcionamento das redes – Descobrir características de destaque no espaço

de entrada (mineração de dados) – Tornar o conhecimento aprendido compreensível

por seres humanos

Page 31: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais como Grafos Dirigidos

• Um grafo de fluxo de sinal é uma rede de ligações dirigidas que são interconectadas em certos pontos chamados de nós.

• Um nó típico j possui um nó de sinal associado xj. • Uma típica ligação dirigida se origina no nó j e

termina no nó k, tendo uma função de transferência que especifica a forma pela qual o sinal yk no nó k depende do sinal xj no nó j.

Page 32: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais como Grafos Dirigidos

xj yk =wkj . xj wkj

xj yk =f(xj)

f(.)

yk =yi + yj

xj

xj

Page 33: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais como Grafos Dirigidos

• Grafo de fluxo de sinal representando um neurônio

yk f(.)

...

x0=+1

x1

xm

vk

Page 34: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Definição no contexto de Redes Neurais “Aprendizagem é um processo pelo qual os

parâmetros livres de uma rede neural são adaptados através de um processo de estimulação pelo ambiente onde a rede se encontra. O tipo de aprendizagem é determinado pela forma na qual as mudanças de parâmetros ocorrem”

Page 35: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• A definição anterior implica no seguinte: – A rede neural é estimulada pelo ambiente – A rede neural sofre mudanças em seus parâmetros livres

como um resultado desta estimulação – A rede neural passa a responder de maneira diferente ao

ambiente devido às mudanças que ocorreram em sua estrutura interna

• Algoritmo de Aprendizagem: conjunto bem definido de regras para a solução de um problema de aprendizagem.

Page 36: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Tipos de Aprendizagem – Correção do erro – Com base em memória – Hebbiana – Competitiva – Com e sem professor

Page 37: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Usos da Aprendizagem – Associação de Padrões – Reconhecimento de Padrões – Aproximação de Funções – Controle – Filtragem

Page 38: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Correção do erro ek(n)=dk(n) – yk(n)

... ... x(n)

x1(n)

x2(n)

xj(n)

xm(n) ek(n)

vk(n) yk(n)

-1

dk(n)

f(.)

Page 39: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Correção do erro – Objetivo: aplicar uma sequência de ajustes

corretivos aos pesos do neurônio k, de forma a passo-a-passo forçar o sinal de saída yk a se tornar cada vez mais próximo do sinal de resposta dk.

– Este objetivo é atingido através da minimização de uma função de custo ou de índice de desempenho E(n), definida como:

)(21)( 2 nenE k=

Page 40: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Correção do erro – A minimização da função E(n) leva a uma regra de

aprendizagem comumente denominada de delta rule ou regra de Widrow-Hoff (1960):

)()()( nxnenw jkkj η=∆

)()()1( nwnwnw kjkjkj ∆+=+

Page 41: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Com base em Memória – Todas as experiências passadas são explicitamente

armazenadas em uma vasta memória de exemplos de entrada-saída corretamente classificados:

– Exemplo: aprendizagem utilizando os k-vizinhos-mais-próximos.

– Uma métrica de distância no espaço de entrada precisa ser especificada.

Niii dx 1)},{( =

Page 42: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Hebbiana (contexto neurobiológico) – Quando um axônio de uma célula A está próximo

o suficiente para excitar uma célula B e repetidamente, ou persistentemente, faz a célula B disparar, então algum processo de crescimento ou mudanças metabólicas passam a ocorrer em uma ou ambas as células de forma que observa-se um aumento na eficiência de A como uma das células responsáveis pelo disparo de B

Page 43: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Hebbiana (contexto computacional) – Se dois neurônios em cada lado de uma conexão

são ativados simultaneamente (sincronamente), então o peso daquela sinapse é seletivamente aumentado.

– Se dois neurônios em cada lado de uma conexão são ativados assincronamente, então o peso daquela conexão é seletivamente diminuida ou eliminado.

Page 44: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Hebbiana (contexto computacional) – Em outras palavras, a regra de Hebb é um

mecanismo para aumentar a eficiência de uma sinapse na forma de uma função da correlação entre as atividades pré e pós sinapticas.

)()()( nxnynw jkkj η=∆

Page 45: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Competitiva – Os neurônios de uma rede neural competem entre si para

se tornarem ativos (através de um mecanismo de inibição lateral).

– Em uma rede baseada em aprendizagem hebbiana, vários neurônios de saída podem estar ativos simultaneamente, porém, com aprendizagem competitiva, apenas um neurônio de saída está ativo num dado instante de tempo.

competição a perde neurônio o secompetição a ganha neurônio o se

0)(

)(kkwx

nw kjjkj

=∆η

Page 46: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Sem professor – Por reforço

Ambiente Crítico

Sistema de Aprendizagem

vetor de entrada

heurística de reforço

reforço primário

ações

Page 47: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Sem professor – Não supervisionada ou auto-organizável

– É possível utilizar uma regra de aprendizagem

competitiva para executar uma aprendizagem não supervisionada

Ambiente Sistema de Aprendizagem

vetor de entrada descrevendo o estado do ambiente

Page 48: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Usos da Aprendizagem – Associação de Padrões

xk yk, k=1,2,...,q

– Auto (xk = yk) Vs. Heteroassociação (xk ≠ yk) – Fases de Armazenamento (Storage) e de Uso

(Recall)

Associador de Padrões

vetor de entrada x vetor de saída y

Page 49: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Usos da Aprendizagem – Reconhecimento de Padrões

Rede neural supervisionada para classificação

vetor de entrada x Rede neural não-

supervisionada para extração de características

...

1

Classes de Padrões

2 3

r

vetor de características y

x y

.

.

.

Espaço de observações m-dimensional

Espaço de características q-dimensional

Espaço de decisão r-dimensional

Page 50: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Aprendizagem

• Usos da Aprendizagem – Aproximação de funções – Considere o mapeamento não-linear d=f(x) – Suponha que f(.) seja desconhecida e que dispomos de

apenas um conjunto de amostras da função

– O objetivo é projetar uma rede neural que aproxime a função desconhecida f(.) de tal forma que:

Niii dxF 1)},{( ==

ε<− )()( xfxF

Page 51: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• McCulloch and Pitts (1943) – Introduziram a idéia de redes neurais como

máquinas de computação • Hebb (1949)

– Postulou a primeira regra para aprendizagem auto-organizável

• Rosenblatt (1958) – Apresentou o perceptron como o primeiro modelo

de rede neural para aprendizagem supervisionada

Page 52: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• O problema da filtragem adaptativa Sistema

Dinâmico

Desconhecido

Entradas

... ...

x1(n)

x2(n)

xj(n)

xm(n) e(i)

v(i) y(i)

-1

d(i)

f(.)

x1(i)

xm(i)

... d(i)

Modelo Adaptativo para o sistema

w1(i)

w2(i)

wj(i)

wk(i)

Page 53: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada • O comportamento externo do sistema pode ser descrito por

um conjunto de pontos P={x(i), d(i); i=1,2,...,n,...} x(i)=[x1(i), x2(i),..., xm(i)]T

• Considerando um neurônio linear (f(x)=x), a saída y(i) tem exatamente o mesmo valor de v(i) (o campo local induzido) y(i)=v(i)=xT(i) w(i) w(i)=[w1(i), w2(i),..., wm(i)]T

• Tipicamente, y(i) é diferente de d(i), e portanto, o resultado de sua comparação resulta em um sinal de erro: e(i)= d(i)- y(i)

Page 54: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• A forma pela qual o sinal de erro e(i) é utilizado para controlar os ajustes nos pesos é determinada pela função de custo utilizada para derivar o algoritmo de filtragem adaptativa de interesse.

• Esta questão é fortemente relacionada a um problema de otimização matemática.

Page 55: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Considere uma função de custo C(w) que é continuamente diferenciável com relação a um certo vetor de pesos (parâmetro) w.

• C(w) mapeia elementos de w em números reais é uma medida que permite escolher o vetor w de um algoritmo de filtragem adaptativa de forma que o filtro de comporte de forma ótima.

Page 56: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• O problema então se resume a encontrar uma solução ótima w* que satisfaz a condição: C(w*)<=C(w) “Minimize a função de custo C(w) com respeito ao

vetor de pesos w”

Page 57: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Portanto, a condição necessária para uma solução ótima é a seguinte:

• O vetor gradiente da função de custo é escrito da

seguinte forma:

0)(C =∇ w*

T

mwC

wC

wCC

∂∂

∂∂

∂∂

=∇ ,...,,)(21

w

Page 58: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Uma classe de algoritmos de otimização sem restrições que é apropriada para o projeto de filtros adaptativos é baseada no conceito de descendente iterativo (repetitivo) local:

“Partindo de uma estimativa inicial w(0), gere uma seqüência de vetores de peso w(1), w(2),.., de tal forma que a função de custo C(w) é reduzida a cada iteração do algoritmo.” Ou seja, C(w(n+1)) < C(w(n))

Page 59: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Uma classe de algoritmos de otimização sem restrições que é apropriada para o projeto de filtros adaptativos é baseada no conceito de descendente iterativo (repetitivo) local:

“Partindo de uma estimativa inicial w(0), gere uma seqüência de vetores de peso w(1), w(2),.., de tal forma que a função de custo C(w) é reduzida a cada iteração do algoritmo.” Ou seja, C(w(n+1)) < C(w(n))

Espera-se que o algoritmo irá eventualmente convergir para a solução ótima w*

Page 60: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Método do descendente mais inclinado – Os ajustes sucessivos aplicados ao vetor de pesos

w são na direção do descendente mais inclinado, ou seja, na direção oposta ao vetor de gradiente

)(wg C∇=

– O algoritmo é formalmente descrito pela seguinte equação:

)()()1( nnn gww η−=+

Page 61: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Método do descendente mais inclinado – Pela equação anterior, ao passar da iteração n

para a n+1, o algoritmo aplica a correção:

– Esta equação é na verdade uma representação mais formal da regra de correção do erro descrita anteriormente.

)()( nn gw η−=∆

Page 62: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Algoritmo LMS (Least-Mean-Square) – Se considerarmos a derivada dos valores instantâneos de

C(w) com relação ao vetor de pesos w, como sendo uma estimativa da função gradiente:

– podemos então re-escrever a equação de atualização do método da descida mais inclinada como sendo:

)(ˆ)()()( nnenC gxww

=−=∂

)()()(ˆ)1(ˆ nennn xww η+=+

Page 63: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Perceptrons (Rosenblatt) – As técnicas de otimização apresentadas

anteriormente foram desenvolvidas em torno de um neurônio linear (sem função de ativação)

– Perceptrons são construídos a partir de neurônios não-lineares de McCulloch-Pitts.

Page 64: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Perceptrons (Rosenblatt) – Existe um limiar externo (bias) aplicado ao

neurônio de forma que +1 é produzido se a soma de pesos vezes entradas extrapola este liminar, e –1 é produzido no caso oposto.

Classe C2

Classe C1

b

Superfície de decisão w1x1 + w2x2 + b = 0

Page 65: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Perceptrons (Rosenblatt) x(n) = [+1,x1(n), x2(n),..., xm(n)]T

w(n) = [b(n), w1(n), w2(n),..., wm(n)]T wT x > 0 para todo vetor de entrada x pertencente à

classe C1 wT x <= 0 para todo vetor de entrada x pertencente

à classe C2

Page 66: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptrons de única camada

• Perceptrons (Rosenblatt) – Considere vetores de treinamento T1 e T2 pertencentes

às classes C1 e C2, respectivamente, então: w(n+1) = w(n) se w(n)T x(n) > 0 e x(n) pertence a T1 w(n+1) = w(n) se w(n)T x(n) <= 0 e x(n) pertence a T2

– Caso contrário, o vetor de pesos é atualizado de acordo com a regra:

w(n+1) = w(n) - η(n)x(n) se w(n)T x(n) > 0 e x(n) pertence a T2 w(n+1) = w(n) +η(n)x(n) se w(n)T x(n) <= 0 e x(n) pertence a T1

– Prova?

Page 67: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Arquitetura em camadas

Entrada Saída

Escondida

Perceptron de Múltiplas Camadas Uma ou

mais

Múltiplas camadas escondidas podem

ser reduzidas a uma única camada

escondida com número suficiente

de neurônios

Page 68: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptron de Múltiplas Camadas

–Limitações dos perceptrons de uma camada • Foi provado (Rosemblatt) que se for possível

classificar linearmente um conjunto de entradas, então uma rede de perceptrons pode aprender a solução

Page 69: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Perceptron de Múltiplas Camadas

– Limitações dos perceptrons de uma camada • Um perceptron tenta encontrar uma reta que separa as

classes de padrões • Porém há situações em que a separação entre as

classes precisa ser muito mais complexa do que uma simples reta, por exemplo, o problema do XOR: linearmente inseparável

X Y Z 0 0 0

0 1 1

1 0 1

1 1 0

0 1

1 0

Page 70: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Como resolver o problema de ser incapaz de resolver problemas linearmente inseparáveis com o perceptron?

• Uma solução seria usar vários perceptrons, cada qual encarregado de separar várias pequenas seções linearmente separáveis das entradas, e combinar as saídas em outro perceptron que daria o resultado da classificação final

Perceptron de Múltiplas Camadas

Page 71: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• O problema com este arranjo em camadas é que os neurônios não podem aprender usando a aprendizagem básica do perceptron

• Os neurônios da primeira camada recebem as entradas diretamente, mas os da segunda camada não conhecem o estado das entradas reais, apenas o resultado do processamento pela 1a camada

Perceptron de Múltiplas Camadas

Page 72: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Como o aprendizado de perceptrons corresponde ao reforço de conexões entre entradas ativas e neurônios ativos, seria impossível reforçar as partes corretas da rede, uma vez que as entradas são mascaradas pelas camadas intermediárias

Perceptron de Múltiplas Camadas

Page 73: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Uso de uma função de ativação contínua e diferenciável (ao invés de binária), e.g. sigmóide f(net) = 1 / (1+ e -z . net)

Perceptron de Múltiplas Camadas

Page 74: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Arquitetura em camadas

Entrada Saída

Escondida

Perceptron de Múltiplas Camadas Uma ou

mais

Múltiplas camadas escondidas podem

ser reduzidas a uma única camada

escondida com número suficiente

de neurônios

Page 75: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Algoritmo de aprendizagem (backpropagation): 1. Iniciar pesos e limiar para pequenos valores randômicos 2. Apresentar entrada e saída desejada Xp=x0,x1,...,xn-1, Tp=t0,t1,...,tm-1 3. Calcular as saídas da rede, cada camada produz: e passa os resultados como entradas para a próxima camada. As

saídas da última camada são opj

4. Adaptar os pesos

= ∑−

=

1

0

n

iipj xwy if

Perceptron de Múltiplas Camadas

Page 76: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Algoritmo de aprendizagem (backpropagation): 4. Adaptar os pesos, começar na camada de saída e prosseguir de trás

para frente wij(t+1) = wij(t) + η δpj opj

Para neurônios de saída:

δpj = z opj (1 - opj) (tpj - opj) Para neurônios de camadas escondidas

δpj = z opj (1 - opj) Σk δpk wjk

Perceptron de Múltiplas Camadas

Page 77: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

– Algoritmo backpropagation (início da prova): • Vamos definir a função de erro como sendo

proporcional ao quadrado das diferenças entre as saídas reais e desejadas para todos os padres a serem aprendidos:

• O objetivo final será minimizar esta função • A ativação de cada unidade j para um padrão p pode

ser escrita como:

)1(21 )( 2

∑ −=j

p otE pjpj

)2(ownet pii

ijpj ∑=

Perceptron de Múltiplas Camadas

Page 78: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Como resolver o problema de ser incapaz de resolver problemas linearmente inseparáveis com o perceptron?

Uma solução seria usar vários perceptrons, cada qual encarregado de separar várias pequenas seções linearmente separáveis das entradas, e combinar as saídas em outro perceptron que daria o resultado da classificação final

Perceptron de múltiplas camadas

Page 79: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

O problema com este arranjo em camadas é que os neurônios não podem aprender usando a aprendizagem do perceptron

Os neurônios da primeira camada recebem as entradas diretamente, mas os da segunda camada não conhecem o estado das entradas reais, apenas o resultado do processamento pela 1a camada

Como o aprendizado de perceptrons corresponde ao reforço de conexões entre entradas ativas e neurônios ativos, seria impossível reforçar as partes corretas da rede, uma vez que as entradas são mascaradas pelas camadas intermediárias

Perceptron de múltiplas camadas

Page 80: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

A solução

Usar função de ativação contínua ao invés de binária permite ter-se uma idéia mais realística das entradas, por exemplo, sigmóide ou semi-linear.f(net) = 1 / (1+ e -z . net)

Page 81: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Arquitetura

Entrada Saída

Escondida

Page 82: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

A solução

Algoritmo de aprendizagem:1. Iniciar pesos e limiar para pequenos valores randômicos2. Apresentar entrada e saída desejada

Xp=x0,x1,...,xn-1, Tp=t0,t1,...,tm-13. Calcular as saídas da rede, cada camada produz:

e passa os resultados como entradas para a próxima camada. As saídas da última camada são opj

4. Adaptar os pesos

1

0

n

iipj xwy if

Page 83: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo de aprendizagem (backpropagation):

4. Adaptar os pesos, começar na camada de saída e prosseguir de trás para frentewij(t+1) = wij(t) + pj opj

Para neurônios de saída:

pj = z opj (1 - opj) (tpj - opj)

Para neurônios de camadas escondidas

pj = z opj (1 - opj) k pk wjk

Page 84: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Vamos definir a função de erro como sendo proporcional ao quadrado das diferenças entre as saídas reais e desejadas para todos os padres a serem aprendidos:

• O objetivo final será minimizar esta função

• A ativação de cada unidade j para um padrão p pode ser escrita como:

)1(21 )( 2

j

p otE pjpj

)2(ownet pii

ijpj

Page 85: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• A saída do neurônio j é definida como:

• Pela regra da cadeia, pode-se escrever a derivada da energia associada ao padrão p com respeito ao peso wij:

• Substituindo (2) em (4):

)3()(netfo pjjpj

)4(w

netnetE

wE

ij

pj

pj

p

ij

p

Page 86: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Substituindo (2) em (4):

• uma vez que:

• exceto quando k=i, quando a expressão acima é igual a 1.

)5(

oow

wowww

net

pi

kpk

ij

kj

kpkkj

ijij

pj

0ww

ij

kj

Page 87: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• A mudança em erro pode ser definida como uma função da mudança nas entradas da rede para um certo neurônio:

• Substituindo em (4):

• Decrementar o valor da Energia, significa portanto tornar as mudanças de pesos proporcional a

)6( pjpj

p

netE

)7(owE

pipjij

p

)8(ow pipjijp opipj

Page 88: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Agora precisamos saber qual a expressão de para cada um dos neurônios, se soubermos isto poderemos reduzir a energia.

• Usando (6) e pela regra da cadeia, podemos escrever:

• Considerando o segundo termo acima e usando (3):

pj

)9(neto

oE

netE

pj

pj

pj

p

pj

ppj

)10()(' netneto

pjpj

pj f

Page 89: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Considerando agora o primeiro termo de (9) e usando (1), podemos derivar Ep com relação a opj :

• Portanto:

o que é bastante útil para neurônios de saída, mas não para neurônios em camadas intermediárias, uma vez que suas saídas desejadas não são conhecidas

)11()( otoE

pjpjpj

p

)12())((' otnet pjpjpjpj f

Page 90: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Assim, se um neurônio não está na camada de saída, pode-se escrever novamente pela regra da cadeia:

também usando (2) e (6) e notando que a soma é cancelada uma vez que a derivada parcial não é zero para apenas um valor, como em (5).

)14(

)13(

kjkpk

k ipiik

pjpk

p

k pj

pk

pj

p

w

owonetE

onet

netE

oE

pk

p

Page 91: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Substituindo (14) em (9), finalmente chaga-se à função que representa a mudança no erro, com respeito aos pesos da rede:

• A função acima é proporcional aos erros em neurônios subsequentes, assim o erro deve ser calculado nos neurônios de saída primeiro.

)15()(' wnet jkk

pkpjpj f

Page 92: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Algoritmo backpropagation (prova):

• Usando a função sigmóide como função de ativação, tem-se:

)16()1(

1)( .eo netzpj netf

)17()1(.

))(1)((..

)(')1(2

.

ooeze

pjpj

netz

k

netfnetfknetz

netf

Page 93: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

– Demonstrações Práticas • Experimentos de treinamento de Perceptrons de

simples e de múltiplas camadas para o problema do ou exclusivo (XOR)

– Ferramenta JNNS (Java Neural Network Simulator) http://www.ra.cs.uni-tuebingen.de/software/JavaNNS/

• Extração de características (histogramas) e classificação de imagens da Web em duas categorias utilizando Perceptrons de múltiplas camadas (código+imagens):

– Ferramenta Octave http://www.gnu.org/software/octave/

Perceptron de Múltiplas Camadas

Page 94: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• O mapa auto-organizável (SOM: Self-Organizing Map) é um tipo especial de rede neural com aprendizagem não-supervisionada, em que é realizado um processo de aprendizagem competitiva – O neurônio mais próximo do padrão de entrada

(com a menor distância Euclidiana) é declarado vencedor

Page 95: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Segundo Haykin, o principal objetivo do SOM é transformar um padrão de entrada, de dimensão arbitrária, em um mapa discreto uni- ou bi-dimensional

Page 96: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• SOM bidimensional

Camada de entrada

Camada computacional

Page 97: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Os mapas auto-organizáveis possuem duas propriedades principais:

1. Quantização vetorial (redução do espaço de entrada)

2. Agrupamento de padrões similares em regiões geograficamente próximas

Page 98: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis • Algoritmo

1. Inicialize os vetores de pesos com valores aleatórios wj = [wj1, wj2, …, wjm], j=1,2,…n

• Onde m é a dimensão do espaço de entrada e n é o número total de neurônios do mapa

• Restrição: os vetores de pesos devem ser diferentes

2. Para cada padrão de entrada x = [x1, x2, ...xm] • encontre o neurônio mais próximo desse padrão (neurônio

vencedor i(x)=arg min||x-wj||) • atualize os pesos

3. Repita o passo 2 até que não sejam observadas modificações significativas no mapa

Page 99: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Ajuste dos vetores de pesos • ∆wj = ηh(i(x))(x - wj ) h(i(x)) é a função de vizinhança que mede o grau de participação dos neurônios vizinhos a i(x) no processo de aprendizagem – normalmente uma função Gaussiana

Page 100: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Exemplo: – agrupamento de 16 animais em 3 categorias

• Caçadores • Pássaros • Espécies pacíficas

– SOM 10x10 • 2000 iterações

Page 101: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Atributos

Page 102: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapa Contextual

Caçadores

Pássaros

Espécies pacíficas

Page 103: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Outros exemplos de aplicação: – Agrupamento e visualização de Músicas

(nepTune Interface – ver video) http://www.cp.jku.at/projects/nepTune/ – Ferramenta Som Toolbox para Matlab (ver

demonstrações som_demo2) http://www.cis.hut.fi/somtoolbox/

Page 104: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Extensões: – Mapas Auto-Organizáveis Hierárquicos

Construtivos (GHSOM) • Mapas crescem hierarquicamente em função do

aumento do erro de quantização • Adequados à aprendizagem online, em que o número

e a diversidade dos padrões não são previamente conhecidos

• Exemplos: GHSOM Matlab Toolbox (ghsom_demo, ghsom_demo4)

http://www.ofai.at/~elias.pampalk/ghsom/

Page 105: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Exemplo: recuperação de imagens por conteúdo

cor textura forma GHSOM

Page 106: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Exemplo: recuperação de imagens por conteúdo

Page 107: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Mapas Auto-Organizáveis

• Exemplo: recuperação de imagens por conteúdo

Sistema

Page 108: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais Recorrentes

• Classe de redes neurais em que há ciclos dirigidos (ou caminhos fechados) na arquitetura

• A realimentação de conexões permite a criação de estados internos

• Diferentemente de redes feedforward, redes recorrentes exibem comportamento temporal dinâmico – as saídas variam com o tempo

Page 109: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Neurais Recorrentes

• Alguns Modelos Históricos – Rede de Hopfield: proposta por John Hopfield

em 1982 – Rede de Jordan: proposta por Michael I. Jordan

em 1986 – Rede de Elman: proposta por Jeffrey L. Elman

em 1990

Page 110: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield • Única camada de neurônios totalmente e simetricamente

interconectados a partir de operadores de atraso unitário, não havendo conexões de um neurônio para ele mesmo

• Memória autoassociativa sem camada escondida

• A aprendizagem realizada em um único passo

• Na fase de uso, a propagação de uma entrada requer múltiplos passos até que um estado estável seja atingido (saída da rede)

Operadores de atraso de tempo unitário

wij = wji wii = 0

Page 111: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Modos de operação – Contínuo: função de ativação não linear diferenciável (e.g. sigmóide ou

tangente hiperbólica) – Discreto: neurônios de McCulloch-Pitts (função de ativação com limiar

e saídas discretas)

• Neurodinâmica – Exemplo da dinâmica de

estados de saída para uma rede de Hopfieldcom 2 neurônios e 2 estados estáveis

saída do neurônio 1

saíd

a do

neu

rôni

o 2

Page 112: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Rede operando em modo discreto (neurônio de McCulloch-Pitts)

net = soma ponderada de pesos por entradas Todas as entradas e saídas são bipolares (-1,1)

Page 113: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Pode ser vista como uma memória endereçável por conteúdo – Objetivo: recuperar padrões armazenados em memória

em resposta à apresentação de uma versão imcompleta ou ruidosa daquele padrão

• Os estados estáveis da rede correspondem aos padrões a serem armazenados

• Pode ser vista como um corretor de erros na medida em que pode sobrescrever informação inconsistente à luz das evidências apresentadas à rede

Page 114: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• A essência de uma memória endereçável por conteúdo é mapear uma memória fundamental em um ponto fixo estável (estado protótipo) de um sistema dinâmico

codificação

decodificação

espaço de vetores armazenados

espaço de memórias fundamentais

Page 115: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Considere que a rede recebe como entrada um padrão contendo informação parcial, porém suficiente, sobre uma das memórias fundamentais

• Tal padrão é considerado um estado inicial no espaço de estados

• A dinâmica de operação da rede, mediada pelas conexões recorrentes, fará com que haja uma transição de estados na direção da memória estável

Page 116: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Treinamento – Como nos Perceptrons, o algoritmo de treinamento é

derivado a partir da minimização de uma função de energia para um padrão particular

– Minimizar a função de energia de Lyapunov

– Como resultado chega-se à regra de treinamento de uma rede de Hopfield operando em modo discreto (aprendizagem do tipo Hebbiana)

∑∑∑ +−=≠ i

iiji ij

iji xxxwE θ,21

Page 117: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Treinamento (fase de armazenamento) – Seja ξ1,ξ2,...,ξµ um conjunto N-dimensional de memórias

fundamentais conhecidas (±1) – Computar os pesos sinápticos como sendo:

Page 118: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Inicialização (da fase de recuperação) – Seja ξprobe um vetor de entrada (teste) N-dimensional

apresentado à rede. – O algoritmo de uso é inicializado da seguinte forma:

Page 119: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Iteração (da fase de recuperação) até convergência (estabilidade) – Atualizar os elementos do vetor de estado x(n)

assincronamente (i.e. randomicamente e um por vez), conforme a regra:

– Repetir a iteração até que o vetor de estado x permaneça inalterado: x(n) = x(n-1)

Page 120: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Geração da saída (da fase de recuperação) – O vetor de saída y resultante da rede de Hopfield é

definido como: y = xfixo

Em que xfixo denota o estado estável computado ao final da

etapa anterior (iteração)

Page 121: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Rede de Hopfield

• Capacidade definida pela teoria da informação como:

em que M denota o número de padrões de treinamento (memórias estáveis) e N, o número de neurônios da rede

• Estados espúrios (mínimos locais de energia): quando M é muito grande, passam a existir estados espúrios (estados que não foram treinados, mas que podem atrair as entradas durante o processo de convergência)

• Demo: http://www.cbu.edu/~pong/ai/hopfield/hopfieldapplet.html

ΝΝΜ

log2≈

Page 122: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Recorrentes Derivadas do MLP

• Incorporam em sua estrutura uma rede estática do tipo Perceptron de múltiplas camadas

• Exploram as capacidades de mapeamentos não lineares dos Perceptrons de múltiplas camadas

• Alguns exemplos: – NARX – Perceptrons Recorrentes por Camada – Jordan – Elman

Page 123: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Recorrentes Derivadas do MLP

• NARX: Nonlinear autoregressive with exogenous inputs – Valores passados e presentes da entrada que representam

as entradas externas da rede: un, un-1,...,un-q+2,un-q+1

– Valores de atraso da saída, representados por: yn, yn-1,...,yn-q+1

– O comportamento dinâmico é denotado por uma função não linear: yn+1 = F(yn, yn-1,...,yn-q+1;un, un-1,...,un-q+2,un-q+1)

Page 124: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Recorrentes Derivadas do MLP

• NARX: Arquitetura

entrada

Saída

Perceptron de Múltiplas Camadas

retroalimentação

Page 125: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Recorrentes Derivadas do MLP

• Redes Recorrentes Simples – Elman: três camadas (entrada, escondida e de saída) mais uma

camada de contexto realimentando a camada escondida – Jordan: a camada de contexto realimenta apenas a camada de saída

Operadores de

atraso de tempo

unitário

Camada Escondida

Camada de Saída

Unidades de Contexto

Vetor de Entrada

Vetor de Saída

Percentron de Múltiplas camadas com apenas uma camada escondida

Page 126: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Redes Recorrentes Derivadas do MLP

• Perceptron Multicamada Recorrente (Layer Recurrent Network): caso mais geral para redes de Jordan e Elman

– Ver exemplos no Matlab http://www.kxcad.net/cae_matlab/toolbox/nnet/newlrn.html http://www.mathworks.com/help/toolbox/nnet/ug/bss36ea-1.html

Operadores de atraso de tempo

unitário

1ª Camada

Escondida

Camada de

Saída

Unidades de Contexto

Vetor de Entrada

Vetor de Saída

Percentron com múltiplas camadas escondidas

2ª Camada

Escondida

Page 127: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Vantagens de empregar Redes Neurais Artificiais na Previsão de Séries Temporais – RNAs podem aproximar qualquer função linear ou não linear com um

nível desejado de precisão – aproximadores universais de funções – Podem aprender padrões lineares e não lineares de séries temporais – Podem extrapolar padrões não aprendidos – generalização – RNAs são métodos não paramétricos – não assumem um processo

particular de geração de ruído (e.g. Gaussiano) – A aprendizagem se dá diretamente a partir dos dados – Permitem aproximar o processo subjacente de geração dos dados – Uma mesma arquitetura permite várias aplicações diferentes – Em resumo, RNAs são um paradigma de previsão bastante flexível

Page 128: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Aspectos a obervar – Os períodos de tempo precisam ser iguais – As unidades de medida não devem mudar com o

tempo – As definições do que está sendo observado não

mudam com o tempo – Os dados são medidos corretamente – Identificar e corrigir erros é muitas vezes possível

(ruído ou falha nos instrumentos pode ser modelado, outliers podem ser descartados etc)

Page 129: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

Tendência

Sazonalidade

Ciclos Irregularidade

Padrões de Séries Temporais

Page 130: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Modelo de uma série temporal – Modelo Aditivo

Zt = Lt + Tt + St + at • Modelo Multiplicativo

Zt = Lt × Tt × St × at

nível (ou dado) (Lt), Tendência (Tt) Sazonalidade (St) e ruído (at)

dado

te

ndên

cia

sazo

nalid

ade

ruíd

o

*para fazer uma decomposição como esta em R, consultar An R Time Series Tutorial

Page 131: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Irregularidades em uma série temporal: muitas vezes precisam ser tratadas pelo especialista antes da aplicação de um modelo de previsão: pulsos, mudanças de nível, quebras estruturais (alterações bruscas na tendência ou sazonalidade)

pulso

mudança de

nível

Page 132: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Previsão de Séries Temporais com Redes Neurais – esquema geral - autoregressão

•Previsões sobre a mesma série •Uma entrada, uma saída •Múltiplas entradas, uma saída •Múltiplas entradas, múltiplas saídas •Diferentes horizontes de previsão (h=1, 2, ... ) •Janela deslizante para obtenção de múltiplas amostras de treinamento, validação e teste

Page 133: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Esquema geral - regressão (linear ou não linear, simples ou multivariada)

•Entrada proveniente de diferentes séries •Previsão de uma série de saída diferente das séries de entrada

Page 134: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Decisões de um projeto envolvendo Redes Neurais – normalmente envolvem experimentação e experiências anteriores – Pré-processamento e Seleção dos Dados

• Escolha dos conjuntos de dados para treinamento/validação/teste • Filtragem de ruído, preenchimento de dados faltantes, correção de erros etc • Mudança de escala (e.g. transformação logarítmica) • Normalização para [0;1] ou [-1;1] • Seleção de Caracterítiscas

– Modelagem da Arquitetura • Número de entradas, camadas escondidas, neurônios nas camadas escondidas, número de

saídas, funções de ativação, conectividade – Treinamento

• Inicialização dos pesos (quantas vezes?) • Método de trainamento (Backpropagation,...) • Parâmetros de treinamento (taxa de aprendizagem, momentum) • Avaliação do melhor modelo treinado (parada antecipada por validação)

– Avaliação da Rede Neural Treinada • Escolha da métrica de avaliação ou função objetivo

Page 135: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Algumas heurísticas para reduzir a complexidade de um projeto usando RNAs – Número de neurônios em MLPs (n=entradas)

• 2n+1 [Hetch-Nielsen, 1990; Lipmann, 1987 ] • 2n [Wong, 1991 ] , n [Tang&Fishwick, 1991] • n/2 [Kang, 1991] , 0.75n [Bailey&Thompsom, 1990] • 1.5 a 3n [Kaastra&Boyd ,1996 ]

– Funções de ativação • Logística ou tangente hiperbólica para neurônios das camadas

escondida e de saída • Logística na camada escondida e linear na camada de saída

– Empregar um Algoritmo Genético ou outra técnica de otimização para escolher os melhores parâmetros

Page 136: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Recomendações finais – Dados: seleção randômica de amostras, divisão dos dados

em treinamento, teste e validação – Realizar diferentes inicializações e treinamentos para

escolher a melhor rede treinada – Empregar validação cruzada para obter estatísticas

robustas – Empregar métricas robustas para avaliação do erro de

teste – Comparar com outros métodos existentes com resultados

para os mesmos dados

Page 137: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Previsão e Análise de Séries Temporais

• Recomendações finais

Page 138: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

“Pattern recognition is formally defined as the process whereby a received pattern/signal is assigned to one of a prescribed number of classes (categories).” Simon Haykin

“Humans are good at pattern recognition. We receive data from the world around us via our senses and are able to recognize the source of the data.” …“we can recognize the familiar face of a person even though that person has aged since our last encounter, identify a familiar person by his or her voice on the telephone despite a bad connection, and distinguish a boiled egg that is good from a bad one by smelling it. Humans perform pattern recognition through a learning process; so it is with neural networks.” Simon Haykin

Page 139: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

“Pattern recognition is the scientific discipline whose goal is the classification of objects into a number of categories or classes. Depending on the application, these objects can be images or signal waveforms or any type of measurements that need to be classified. We will refer to these objects using the generic term patterns.” Theodoridis & Koutroumbas

"The real power of human thinking is based on recognizing patterns. The better computers get at pattern recognition, the more human-like they will become.” Ray Kurzweil.

Page 140: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

“The power of patterns includes the recognition of environmental and climatic trends, behavioural patterns in predators, prey and competing species or conspecifics, providing an insight into information that would produce significant survival advantages.” Alastair Clarke

”Pattern recognition doesn’t just mean that the brain can easily recognize an entity in the same or a different context, it also means that the same quality, the same valuable property, can be recognized in a different entity, [which gives] the brain a built-in capacity for adaptation to changing environments.” Alastair Clarke

Page 141: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• Afinal, o que é um Padrão? – Uma abstração para algum objeto concreto, como

características que descrevem uma assinatura, uma face, uma impressão digital etc

– Algum objeto abstrato, como por exemplo o padrão da economia de um país, ou os padrões de mapas de contorno de pressão utilizados em previsão do tempo

– Uma representação quantitativa ou estrutural de uma entidade ou objeto de interesse (tanto concretos como abstratos – e.g. sistemas de dados)

Page 142: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• Alguns Tipos de Padrões:

Page 143: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• O que são Classes de Padrões? – Conjunto de padrões (não necessariamente idênticos)

que compartilham propriedades em comum – Exemplos:

• Classe dos caracteres A • Classes das faces, impressões digitais, íris etc, de

determinada pessoa • Classe dos usuários com expertise em programação • Classe das fotografias escolhidas para impressão • Classe das assinaturas falas (/verdadeiras) de um cliente • Classe dos clientes com perfil de bom (/mau) pagador

Page 144: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• Classes de Padrões – Variabilidade intraclasse: A A A A A A A A A A

Page 145: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• Classes de Padrões – Similaridade intercalasse: 0D 1I B8 2Z

Page 146: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

• O que é Reconhecimento de Padrões? – Processo de categorizar amostras de dados

observados ou medidos como sendo membros de uma dentre um conjunto de classes ou categorias

– Teoria, algoritmos, sistemas para associar padrões a categorias

– Relacionar padrões recém percebidos com padrões percebidos anteriormente

– Aprender a separar padrões de interesse do seu background

Page 147: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações • Mais formalmente (do ponto de vista Estatístico), há vários

tipos de problemas em reconhecimento de padrões • Seja x um conjunto de dados:

– Classificação (Reconhecimento no sentido clássico): encontrar uma função f: x C, em que C é um conjunto discreto pré-definido de classes

– Regressão: encontrar uma função f: x y, em que y ⊆ ℝ é um espaço contínuo

– Agrupamento: mapear o conjunto de dados x em um número k de partições

– Estimação de densidade: modelar p(x), que é a densidade de probabilidade de x

Page 148: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações • Mais formalmente (do ponto de vista Estatístico), há vários

tipos de problemas em reconhecimento de padrões • Seja x um conjunto de dados:

– Classificação (Reconhecimento no sentido clássico): encontrar uma função f: x C, em que C é um conjunto discreto pré-definido de classes

– Regressão: encontrar uma função f: x y, em que y ⊆ ℝ é um espaço contínuo

– Agrupamento (ou Clusterização): mapear o conjunto de dados x em um número k (normalmente desconhecido) de partições

– Estimação de densidade: modelar p(x), que é a densidade de probabilidade de x

Page 149: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Padrões e suas Representações

x1 x2 x3 x4 x5 x6

c1

c2

x C Classificação

x1 x2 x3 x4 x5 x6

y1

y3 y4 y5

y6

x ℝ Regressão

x1 x2 x3 x4 x5 x6

x Estimação de densidade

x1 x2 x3 x4 x5 x6

x Agrupamento

Page 150: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Processo de Reconhecimento de Padrões

Pós-processamento

Classificação

Extração de Características

Pré-processamento e Segmentação

Aquisição

Entrada

Decisão

Page 151: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Processo de Reconhecimento de Padrões

• Aquisição – Medições das variáveis físicas – Aspectos a considerar: resolução, limitações de armazenamento/transmissão

• Pré-processamento e Segmentação – Remoção de ruídos presentes nos dados – Segmentação de padrões de interesse do seu background

• Extração da Características – Representação em termos de características discriminativas

• Classificação – Emprego de características e modelos aprendidos para associar um padrão a

uma categoria • Pós-processamento

– Avaliação da confiança nas decisões tomadas

Page 152: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Processos Supervisionado e Não Supervisionado

• Usualmente, um processo de classificação requer alguma forma de ajuste de parâmetros livres do classificador

• Tal ajuste precede a classificação propriamente dita, e é associado ao conceito de aprendizagem

• Aprendizagem de Máquina é um ramo da Inteligência Artificial que busca algoritmos que permitam a aquisição automática de conhecimento a partir da dados empíricos

• Vários métodos tem sido propostos para a tarefa de aprendizagem, como árvores de decisão, redes neurais, programação genética, máquinas de vetores de suporte, redes bayesianas, dentre muitas outras.

Page 153: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Processos Supervisionado e Não Supervisionado

• A fim de treinar um classificador a partir de dados de treinamento, podem ser adotados tipicamente dois tipos de processos: supervisionado e não supervisionado

• Na aprendizagem supervisionada os dados de treinamento possuem supervisão, ou seja, há um professor que rotula pares de entrada-saída da forma {xk, ck}, k=1..N estão disponíveis

• Na aprendizagem não supervisionada, por outro lado, não há um professor, apenas as entradas {xk} , k=1..N estão disponíveis . Normalmente associada a processos de agrupamento

Page 154: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Outros Esquemas de Aprendizagem

• A aprendizagem semi-supervisionada: envolve tanto dados supervisionados {xk, ck}, como dados não supervisionados {xk}. Apenas dados críticos precisam ser rotulados

• A aprendizagem por reforço: tipo especial de

aprendizagem não supervisionada em que há o papel do crítico (uma espécie de professor), que realimenta o sistema de aprendizagem informando apenas se as saídas do sistema ocorrem na direção certa ou errada

Page 155: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

• Classificação de peixes: Badejo e Salmão • Problema: classificar peixes que passam por uma esteira

de acordo com as 2 espécies

Salmão Badejo

Page 156: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

141

• O que pode causar problemas durante a aquisição? – Condições de iluminação – Posição do peixe na esteira – Ruído da câmera – etc…

• Quais os passos do processo? 1. Capturar imagem 2. Isolar o peixe (segmentação) 3. Efetuar medições (extração de características) 4. Tomar uma decisão (classificação)

Page 157: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

142

Classificação

Ext. Características

Pré-processamento

Badejo Salmão

Page 158: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

143

• Pré-processamento: – Melhoramentos da imagens – Separar peixes em contato ou com oclusão – Encontrar os contornos dos peixes

Page 159: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

144

• Possíveis características a serem empregadas: – Tamanho – Brilho – Largura – Número e forma das barbatanas – Posição da boca – etc

• Considere que o pescador nos disse que badejo é normalmente maior que salmão – Apesar disso, em média, existem muito exemplos de

peixe em que esta observação não é válida

Page 160: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

145

• A fim de melhorar o reconhecimento, podemos empregar mais de uma característica

• Características isoladas podem gerar muita confusão • Combinações de características podem produzir

resultados ainda melhores

1

2

xx

1

2

::

x lightnessx width

brilho

largura

Page 161: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

146

Boas características Más características

Page 162: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

147

brilho

largura badejo salmão

Page 163: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

148

Modelo mais complexo resulta numa fronteira mais complexa

brilho

largura badejo salmão

Page 164: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

149

Diferentes critérios levam a diferentes fronteiras de decisão

brilho

largura badejo salmão

Page 165: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

150

• Fronteiras de Decisão – O que aconteceria se consumidores encontrassem

badejo em uma lata de salmão? – Devemos também considerar custos associados a

diferentes erros quanto tomamos decisões – Por exemplo, se a empresa sabe que:

• Consumidores que compram salmão vão achar muito ruim encontrar badejo em suas latas

• Consumidores que compram badejo não ficarão tristes em ocasionalmente encontrar um caro salmão em suas latas

– Como esse conhecimento afetaria a sua decisão?

Page 166: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Exemplo de Aplicação

151

• Problemas típicos com a tarefa de extração de características – Características correlacionadas não

necessariamente aumentam a performance – Pode ser difícil extrair certas características – Pode ser computacionalmente caro extrair muitas

características – Características podem estar ausentes

Page 167: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Ciclo Típico de Projeto de Sistemas de Reconhecimento de Padrões

152

• Treinamento e teste

Coletar Dados

• Dependente do domínio de aplicação

Selecionar as Características mais Apropriadas

• Normalmente independente do domínio

Escolher o Modelo de Classificação

• Supervisionado • Não supervisionado

Treinar o Modelo

• Análise de performance com novos dados

Avaliar os resultados

Page 168: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Reduzir o número de variáveis de um problema pode levar a melhorias no desempenho de classificação e maior entendimento dos dados – Seleção: um subconjunto das variáveis originais é

selecionado para o projeto do classificador – Extração: aplicação de uma transformação linear ou não

linear sobre as variáveis originais a fim de produzir um conjunto reduzido

Page 169: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Alguns propósitos da redução de variáveis – Facilitar análise dos dados e descobrir relações escondidas – Produzir uma representação mais estável ou discriminativa

que melhora o desempenho de classificação – Remover informação redundante ou irrelevante – Permitir visualização gráfica do conjunto de dados

• Apesar disso, seleção de características não é uma etapa obrigatória para alguns algoritmos de classificação modernos – SVM, Combinações de múltiplos classificadores

Page 170: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• A redução da dimensionalidade pode ser conseguida de várias formas – Identificando quais variáveis não contribuem para a

classificação – Encontrando uma transformação das medições para

um espaço de características de menor dimensão

Page 171: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Seleção Vs. extração de características

Page 172: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Seleção e extração de características podem ser tratados como métodos de transformação – Pesos são aplicados às variáveis originais a fim de se

obter as varíaveis transformadas – Processo de aprendizagem faz o ajuste desses pesos – Seleção: pesos binários – Extração: pesos contínuos

Page 173: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Aprendizagem requer a otimização de uma função critério J, normalmente baseada em uma medida de distância ou dissimilaridade entre distribuições (e entre padrões) – Seleção: otimização sobre todos os possíveis

subconjuntos Xd de tamanho d das p possíveis

~

características X1, …, Xp , busca-se o subconjunto Xd para o qual

– Abordagens sub-ótimas que adicionam características a um conjunto existente são normalmente adotadas

Page 174: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

– Extração: otimização executada sobre todas as possíveis transformações das variáveis

– A classe da transformação é normalmente especificada (por exemplo, uma transformação linear do conjunto de variáveis) e busca-se a transformação à para a qual :

Page 175: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Seja X uma característica, X o conjunto de todas as características e S = X – {X}

• Características redundantes: são fortemente correlacionadas • Características irrelevantes não contribuem para a regra de

classificação – Forte relevância: X é fortemente relevante s.s.s.

– Fraca relevância: X é fracamente relevante s.s.s. e |

– Irrelevância: X é irrelevante s.s.s

Page 176: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Extração e Seleção de Características

• Caracterização das abordagens para seleção de características – Métodos de filtragem: antes da classificação, propriedades estatísticas

das variáveis são empregadas para remover variáveis que contém pouca informação

• Dependem de medidas das características gerias dos dados de treinamento, como distância e dependência

– Métodos wrapper: computacionalmente mais caros que os anteriores, nestes métodos subconjuntos de treinamento são avaliados dentro de um algoritmo de classificação, tendo a acurácia de classificação como medida da qualidade do conjunto de características – dependente do classificador

– Métodos embarcados (embedded): a busca por um conjunto ideal de características é incorporada ao projeto do classificador – pode ser vista como um problema de busca no espaço combinado de subconjuntos de características e modelos de classificação

Page 177: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Análise de Componentes Principais

• Abordagem muito utilizada para extração de características

Conjunto de Treinamento

X

Normalização

X = X - X

Decomposição

XX=LUV

Seleção de Autovetores V*=[vi’s com maiores ui’s]

Projeção de Padrão de

Teste Y

P = Y × V*

Page 178: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Matriz de Confusão–Múltiplas Classes

Classe Verdadeira (Ground Truth)

Classe 1 Classe2 ... Classe C

ClassePredita

Classe 1 Acerto 1 Erro 1,2 Erro 1,C

Classe 2 Erro 2,1 Acerto 2 ... Erro 2,C

...

Classe C Erro C,1 Erro C,2 Acerto C

Page 179: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Matriz de Confusão– Duas classes

Classe Verdadeira

Positiva Negativa

ClassePredita

Positiva Verdadeiros Positivos (TP)

Falsos Positivos (FP)

Negativa Falso Negativos (FN)

VerdadeirosNegativos (TN)

Page 180: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos– A noção de erro estatístico envolve o estabelecimento de uma hipótese nula H0 que usualmente corresponde a uma condição default da natureza do problema• e.g. a assinatura é verdadeira, a região contém uma face, a pessoa é saudável etc.

– A hipótese alternativa tipicamente é a negação da hipótese nula

Page 181: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos

Hipótese nula (H0) éverdadeira Hipótese nula (H0) é falsa

Rejeitar a hipótese nula Erro tipo I(Falsos Positivos – FP)

Saída correta(Verdadeiros Positivos ‐ TP)

Falha em aceitar a hipótese nula

Saída correta(Verdadeiros Negativos – TN)

Erro tipo II(Falsos Negativos – FN)

Page 182: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos– Taxa de erro tipo I (taxa de falsa aceitação) 

• Também conhecida como tamanho (size) do teste, sendo denotado em Estatística por  (alpha)

• Usualmente equivale ao nível de significância do teste• No caso de uma hipótese nula simples,  é a probabilidade de erro tipo I

• No caso de uma hipótese composta,  é o máximo de todas as possíveis probabilidades de erro tipo I

– Taxa de erro tipo II (taxa de falsa rejeição)• Denotado em Estatística por  (beta) está relacionada à potência (power) de um teste de hipóteses

Page 183: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Regiões de Acerto e Erro

Page 184: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Medidas de Performance

Page 185: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Curvas ROC– Gráfico que relaciona as taxas de verdadeiro positivo e falso positivos à medida que um limiar de classificação é variado

– Objetivam avaliar o desempenho de classificadores sob diferentes condições operacionais

Page 186: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Curvas ROC– Exemplo

Page 187: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Curvas ROC– Exemplo

Page 188: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Curvas ROC– Outro Exemplo:Detecção deFaces

Page 189: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

Avaliação de Performance

• Particionamento dos Dados– Dados de treinamento para ajuste dos parâmetros livres dos classificadores

– Dados de validação para decidir quando parar o treinamento e evitar o overfitting

– Dados de teste para estimar como será a performance (taxas de acerto e de erro) do sistema num ambiente real

Treinamento Validação Teste

50% 25% 25%

seleção aleatória

Page 190: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Particionamento dos Dados– Problema em usar apenas um conjunto de teste

– Apenas um experimento de avaliação de performance será realizado

– Mesmo usando seleção aleatória dos padrões que irão compor os conjuntos, há o risco do conjunto de teste ser uma amostra muito fácil ou muito difícil de classificar

Avaliação de Performance

Page 191: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Particionamento dos Dados– Algumas soluções

– Leave‐one‐out Cross Validation– Reservar um padrão k para teste, treinar com os N‐1 

restantes, avaliar a performance no padrão k, repetir o experimento para k=1,…,N  e reportar o erro/acerto médio

– K‐fold Cross Validation– Dividir o conjunto de dados em k  partições 

(subconjuntos disjuntos) de mesma dimensão– Reservar uma partição i  para teste, treinar com as k‐1 

partições restantes, testar com a partição i, repetir o experimento para i = 1,...,k,  e reportar o erro/acerto médio

Avaliação de Performance

Page 192: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• Leave‐one‐out Cross Validation

Avaliação de Performance

N padrões

treinamentotesteTreinar em (N -1) padrõespadrão

k

Page 193: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• K‐fold Cross Validation

Avaliação de Performance

k-partições

treinamentotesteTreinar em (k -1) partiçõesTeste

Page 194: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• O Problema do Overfitting (Super‐especialização)– Fatores como poucos dados de treinamento, modelo de classificação muito complexo (muitos parâmetros livres) treinado exaustivamente podem levar a erros de treinamento muito pequenos e a erros de teste elevados 

– Emprego de um conjunto de validação pode ajudar quando o treinamento deve ser encerrado

Avaliação de Performance

Page 195: Redes Neurais - Computação UFCGhmg/disciplinas/posgraduacao/rn-copin-2014.3/... · – A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação

• O Problema do Overfitting (Super‐especialização)

Avaliação de Performance

complexidade

Erro de treinamento

Erro de teste/validaçãoPontos de treinamento

Pontos de teste/validação

parar o treinamento