introdução a redes neurais

72
Introdução a Redes Neurais Herman M Gomes DSC/CEEI/UFCG

Upload: eugene

Post on 06-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Introdução a Redes Neurais. Herman M Gomes DSC/CEEI/UFCG. Definição de uma Rede Neural. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução a Redes Neurais

Introdução a Redes Neurais

Herman M Gomes

DSC/CEEI/UFCG

Page 2: Introdução a Redes Neurais

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 3: Introdução a Redes Neurais

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 4: Introdução a Redes Neurais

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 5: Introdução a Redes Neurais

O Cérebro Humano

Sensores AtuadoresRede NeuralEstí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 A

bstr

ação

Page 6: Introdução a Redes Neurais

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 7: Introdução a Redes Neurais

Modelo Estocástico

)(1 adeprobabilid com1

)( adeprobabilid com1)(

vP

vPxf

)/exp(1

1)(

TvvP

Page 8: Introdução a Redes Neurais

Arquiteturas Neurais

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

Page 9: Introdução a Redes Neurais

Arquiteturas Neurais

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

Page 10: Introdução a Redes Neurais

Arquiteturas Neurais

Redes recorrentes

Page 11: Introdução a Redes Neurais

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 12: Introdução a Redes Neurais

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 13: Introdução a Redes Neurais

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 14: Introdução a Redes Neurais

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 15: Introdução a Redes Neurais

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 16: Introdução a Redes Neurais

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 17: Introdução a Redes Neurais

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 18: Introdução a Redes Neurais

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 19: Introdução a Redes Neurais

Representação do Conhecimento

Campos receptivos e compartilhamento de pesos

x1

x2

x3

x4

x5x6

1

2

Page 20: Introdução a Redes Neurais

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 21: Introdução a Redes Neurais

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).

– 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 22: Introdução a Redes Neurais

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 23: Introdução a Redes Neurais

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

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 24: Introdução a Redes Neurais

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 25: Introdução a Redes Neurais

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 26: Introdução a Redes Neurais

Redes Neurais como Grafos Dirigidos

xj yk =wkj . xjwkj

xj yk =f(xj)f(.)

yk =yi + yj

xj

xj

Page 27: Introdução a Redes Neurais

Redes Neurais como Grafos Dirigidos

yk

Grafo de fluxo de sinal representando um neurônio

f(.)

...

x0=+1

x1

xm

vk

Page 28: Introdução a Redes Neurais

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 29: Introdução a Redes Neurais

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 30: Introdução a Redes Neurais

Aprendizagem

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

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

Page 31: Introdução a Redes Neurais

Aprendizagem

Correção do erroek(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 32: Introdução a Redes Neurais

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:

)(2

1)( 2 nenE k

Page 33: Introdução a Redes Neurais

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 34: Introdução a Redes Neurais

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 35: Introdução a Redes Neurais

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 36: Introdução a Redes Neurais

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.

– 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 37: Introdução a Redes Neurais

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 se

competição a ganha neurônio o se

0

)()(

k

kwxnw kjj

kj

Page 38: Introdução a Redes Neurais

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 39: Introdução a Redes Neurais

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 40: Introdução a Redes Neurais

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 41: Introdução a Redes Neurais

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 dePadrões

23

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 42: Introdução a Redes Neurais

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 43: Introdução a Redes Neurais

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 44: Introdução a Redes Neurais

Perceptrons de única camada

O problema da filtragem adaptativaSistema

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)

ModeloAdaptativo para o sistema

w1(i)

w2(i)

wj(i)

wk(i)

Page 45: Introdução a Redes Neurais

Perceptrons de única camada

O comportamento externo do sistema pode ser descrito por um conjunto de pontosP={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 46: Introdução a Redes Neurais

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 para derivar o algoritmo de filtragem adaptativa de interesse.

Esta questão é fortemente relacionada a um problema de otimização matemática. A seguir apresentaremos algumas técnicas de otimização sem restrições que serão úteis no entendimento do treinamento não apenas de filtros adaptativos bem

como de neurônios simples.

Page 47: Introdução a Redes Neurais

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. 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 48: Introdução a Redes Neurais

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

mw

C

w

C

w

CC

,...,,)(21

w

Page 49: Introdução a Redes Neurais

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 50: Introdução a Redes Neurais

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– Assim, o algoritmo é formalmente descrito pela seguinte equação:

)()()1( nnn gww

– Pela equação acima, ao passar da iteração n para a n+1, o algoritmo aplica a correção:

)()( nn gw – Esta equação é na verdade uma representação mais formal da regra

de correção do erro descrita anteriormente.

Page 51: Introdução a Redes Neurais

Perceptrons de única camada

Método do descendente mais inclinado– Para provar que a formulação do algoritmo do descendente mais inclinado satisfaz a condição de minimização da

função de custo, é possível utilizar uma expansão de Taylor em torno de w(n) para aproximar C(w(n+1)) como:

)()())(())1(( nnnCnC T wgww

– Substituindo na equação acima a expressão obtida anteriormente para a variação no vetor de pesos , tem-se: )()( nn gw

2||)(||))(()()())(())1(( nnCnnnCnC T gwggww – Isto mostra que para um parâmetro de aprendizagem positivo e

pequeno, a função de custo diminui à medida que o algoritmo progride de uma iteração para outra

Page 52: Introdução a Redes Neurais

Perceptrons de única camada

Método de Newton– Minimize passo-a-passo uma aproximação quadrática da função de custo C(w) em torno do ponto corrente w(n)– Expandindo a função de custo em termos de uma série de Taylor de 2a ordem, tem-se:

)()()(2

1)()())(())1(())(( nnnnnnCnCnC TT wHwwgwww

Page 53: Introdução a Redes Neurais

Perceptrons de única camada

Método de Newton– Como antes, g(n) é o vetor gradiente da função de custo C(w) avaliada no ponto w(n). A matriz H(n) é a

matriz Hessiana m-x-n de C(w), definida por:

2m2m1m

2212

m12121

w

g

ww

g

ww

g

w

g

ww

gww

g

ww

g

w

g

wH

222

22

222

2

...

.........

...

...

)(C

– A equação acima requer que a função de custo C(w) seja 2 vezes continuamente diferenciável com relação aos elementos de w.

Page 54: Introdução a Redes Neurais

Perceptrons de única camada

Método de Newton– Ao diferenciar a expansão em série de Taylor apresentada anteriormente:

– com respeito a , tem-se que a variação é minimizada quando:

– Resolvendo esta equação para , tem-se:– Em outras palavras:

– A matriz Hessiana tem que ser positiva e definida para todo n.

)()()(2

1)()())(())1(())(( nnnnnnCnCnC TT wHwwgwww

w )(wC

0)()()( nnn wHg

)()()(

)()()1(1 nnn

nnn

gHw

www

)(nw )()()( nnn gHw -1

Page 55: Introdução a Redes Neurais

Perceptrons de única camada

Método de Gauss-Newton– Diferentemente do método de Newton, o qual requer o conhecmento da matriz Hessiana da função de custo, o método de Gauss-Newton

requer apenas a matrix Jacobiana (transposta da matriz gradiente) do vetor de erros e(n).– A função de custo é expressa como a soma dos erros quadrados:

n

i

ieC1

2 )(2

1)(w

– O sinal de erro e(i) é uma função do vetor de pesos w.– Partindo-se da derivação do vetor de erros e com respeito ao

vetor de pesos w, chega-se a:

)()())()(()()1( 1 nnnnnn TT eJJJww

Page 56: Introdução a Redes Neurais

Perceptrons de única camada

Método Linear dos Mínimos Quadrados– A função de custo também é expressa como a soma dos erros quadrados.– O vetor de erros e(n) pode ser expresso como:

)()()( n(n)nn wXde – Ao derivar a equação acima com respeito a w(n), chega-se à

matriz gradiente, que é a transposta da Jacobiana do erro:

(n)n(n)n T XJXe )()(

– Substituindo a equação do vetor de erros e a Jacobiana do erro acima na equação de atualização do peso do método de Gauss-Newton, tem-se:

)()())()(()1( 1 nnnnn TT dXXXw

Page 57: Introdução a Redes Neurais

Perceptrons de única camada

Algoritmo LMS (Least-Mean-Square)– Baseia-se nos valores instantâneos da função de custo:

)(2

1)( 2 neC w

– Derivando C(w) com relação ao vetor de pesos w, tem-se:

ww

w

)()(

)( nene

C

– Dado que, num neurônio linear, o erro instantâneo pode ser expresso como: ,)()()( n(n)ndne T wx

– tem-se que: )()(

nne

xw

– Portanto:)()(

)(nen

Cx

w

w

Page 58: Introdução a Redes Neurais

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

gxw

w

)()()(ˆ)1(ˆ nennn xww

Page 59: Introdução a Redes Neurais

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.– 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ãow1x1 + w2x2 + b = 0

Page 60: Introdução a Redes Neurais

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 C1wT x <= 0 para todo vetor de entrada x pertencente à classe C2

– 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 T1w(n+1) = w(n) se w(n)T x(n) <= 0 e x(n) pertence a T2

Page 61: Introdução a Redes Neurais

Perceptrons de única camada Perceptrons (Rosenblatt)

– 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 T2w(n+1) = w(n) +(n)x(n) se w(n)T x(n) <= 0 e x(n) pertence a T1

– Prova

Page 62: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Um exemplo:– Considere imagens de caraceteres manuscritos a e b,

representados por vetores de pixels da forma x = (x1,x2,...,xd)T.– O objetivo é desenvolver um algoritmo para associar imagens

(denotadas por um vetor x) a uma das duas classes de caracteres Ck, k=1,2.

– Apesar do problema ser simples, pode existir um número muito grande de variáveis (suponha imagens de 256x256, por exemplo).

– Representar numa tabela cada imagem possível juntamente com sua classe correspondente também seria uma tarefa não muito prática (28x256x256 = 10158000).

– Uma forma de resolver o problema da quantidade de variáveis seria através da extração de características.

Page 63: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Um exemplo:– No exemplo dos caracteres podemos escolher z1 como sendo

o quociente entre a altura e a largura do caracter.– Assim, em geral caracteres b (classe C2) irão possuir valores

de z1 maiores que caracteres a. – A figura abaixo ilustra um histograma hipotético para a

distribuição da variável z1 com relação às classes C1 e C2.

– Uma imagem desconhecida, cujo valor observado de z1 é A, é mais provável que pertença à classe C1. Por quê?

C1 C2

A z1

Page 64: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Um exemplo:– Uma abordagem para resolver o problema inicial seria

portanto construir um classificador que utiliza um limiar sobre z1 para decidir se o padrão pertence a C1 ou a C2.

– É possível se esperar que o número de classificações incorretas seria minimizado se o limiar for escolhido como sendo o ponto de intersecção entre os 2 histogramas.

C1 C2

A z1

Page 65: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Um exemplo:– A adição de novas características para o problema dos

caracteres pode permitir uma melhor separação entre as classes através da introdução de uma superfície de decisão no espaço de características.

– Porém, na maioria dos problemas reais de classificação uma separação ideal não é possível.

z1

z2C1

C2xx

x

x

xxx

x

Page 66: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Classificação e Regressão– No exemplo dos caracteres, uma imagem foi recebida como entrada

e uma dentre duas classes foi associada a esta imagem.– Alternativamente, é possível representar o resultado da classificação

em termos de uma variável y que assume 1 quando a imagem é classificada como C1 e 0, quando classificada como C2.

– Generalizando esta idéia, o processo de classificação pode ser visto como um mapeamento entre um conjunto de variáveis de entrada para um conjunto de variáveis de saída.

– Este mapeamento é modelado em termos de alguma função matemática que contém um número de parâmetros ajustáveis, cujos valores são determinados com ajuda dos dados:

);yy kk wx(

Page 67: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Classificação e Regressão– Em problemas de classificação, a tarefa é associar novas

entradas a uma dentre um conjunto discreto de classes ou categorias.

– Por outro lado, em problemas de regressão, as saídas representam valores de variáveis contínuas.

– Ambos os problemas de classificação e de regressão podem ser vistos como um caso particular de aproximação de funções:

Em problemas de regressão, procuramos aproximar a função de regressão.

Em problemas de classificação, procuramos aproximar as probabilidades de pertinência das diferentes classes expressas como funções das variáveis de entradas

Page 68: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

A praga da dimensionalidade– O pré-processamento 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– 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

x1x2

x3

Page 69: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

A praga da dimensionalidade– 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

Page 70: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões

Ajuste de uma curva polinomial– Dado um polinônio:

jM

jj

MM xwxwxwwxy

0

10 ...)(

– Dado um conjunto de pontos (xn, tn) que se deseja aproximar

– Ajustar uma curva polinomial a estes pontos consiste em encontrar os coeficientes w0, w1,...wM que tornem y(xn) aproximadamente igual a tn, para todo n.

Page 71: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões Ajuste de uma curva polinomial

– Os procedimentos padrão de ajuste de curvas envolvem a minimização da soma dos erros quadrados entre o valor retornado pela função y(x) e os valores tn que se deseja aproximar

2

1

)),((2

1n

N

nn txyE

w

Page 72: Introdução a Redes Neurais

Reconhecimento Estatístico de Padrões Ajuste de uma curva polinomial

– Através da diferenciação da função de erro E, é possível se chegar a um conjunto de equações lineares simultâneas cuja solução são os coeficientes do polinômio que minimizam o erro

M

jjjjj TwA

1´´,

n

jjnjj xA ´

´, )( n

jnnjj xtT ´

´, )(