Você está na página 1de 6

Universidade Federal do Rio de Janeiro Ncleo de Computao Eletrnica

IC Redes Neurais
Reconhecimento de padres Extrao de caractersticas Classificao Categorizao (Clustering) Mtricas Problemas Redes Neurais MLP Estimativa de desempenho

Inteligncia Computacional

Aplicaes Redes Neurais


2002/ 1
Anderson Cando de Oliveira acanedo@ufrj.br

Reconhecimento de Padres
Reconhecimento de Padres: Categorizao (Clustering) Classificao Reconhecimento Otimizao Aproximao de funes Estimativa, Previso

Reconhecimento de Padres
Essencial para a sobrevivncia dos seres vivos Separao de padres de entrada em grupos ou classes Maioria das aplicaes de RNAs so de reconhecimento de padres:
Reconhecimento da face humana Reconhecimento de caracteres manuscritos Reconhecimento de voz e locutor Identificao de impresses digitais Previso de compra ou venda na Bolsa de Valores

Reconhecimento de Padres
Etapas de um sistema de Reconhecimento de padres:

Extrao de Caractersticas
A utilizao direta dos padres de entrada originais pelo modelo classificador no muito eficiente Caractersticas demais pioram o desempenho do classificador
Nmero de caractersticas

Extrao de caractersticas
Processa dados originais Determina conjunto de caractersticas (variveis mais relevantes)

Classificao
Recebe vetores de caractersticas como entrada Atribui cada vetor a uma das classes C1, C2, ..., Cn
X1

Nmero de variveis

Dimensionalidade do problema

Importante: Selecionar as caractersticas que melhor

discriminam os padres para o objetivo da classificao


Modelo Modelo de de Classificao Classificao ( C1 , C2 , ..., Cn)

Entrada
( dados originais)

Ext rao Ext rao de de caractersticas caractersticas

X2 . . . Xn

Sada

vetor de caractersticas

Nome Sexo Peso Nota I C CR


( Alunos de I nformtica)

Que caractersticas usar?

Conjunto de caractersticas

X1 X2 . . . Xn
Classificador

A B C Classes

Vetor de caractersticas

Extrao de Caractersticas
Vetor de caractersticas o conjunto fixo de caractersticas dos padres a serem classificados
X = vetor de caractersticas (Ex: x1=CR, x2=Nota IC, ...) d = n de caractersticas

Extrao de Caractersticas
Vetores de caractersticas deveriam ser iguais para os padres de uma mesma classe Vetores diferentes para padres de classes diferentes Devem conter informaes necessrias para distinguir padres de classes diferentes Padres ou objetos podem ser representados abstratamente como pontos no espao de caractersticas
X1 X2
Vetor de caractersticas X2 Espao de caractersticas

Problemas:
Dados podem conter informaes que atrapalham a classificao Variveis so geralmente correlacionadas Caractersticas a serem extradas dependem do problema (natureza dos padres) Quais as caractersticas que melhor discriminam ou explicam os padres?

X1

Classificao
Classifica o vetor de caractersticas em uma das classes j conhecidas Aprendizado supervisionado Classes
1

Agrupamento (Clustering)
Explora semelhanas entre padres e agrupa os padres parecidos em categorias ou grupos Aprendizado no supervisionado Padres semelhantes ou similares so representados por vetores de caractersticas prximos
X2 Grupo 2 Grupo 1

Ex: Reconhecimento de dgitos


10 Classes (1, 2, ..., 0)

2 3 4 5 6 7 8 9

Possveis classificaes:
Classificao correta Classificao incorreta Rejeio

Conjunto de padres

X1

Agrupamento
Dependendo do problema fica difcil rotular as categorias Se a classe dos padres de treinamento for conhecida, os grupos podem ser rotulados
Ex: Agrupar pases usando dados scio-econmicos
EUA Brasil Alemanha Chile Mxico Costa Rica frica do Sul Port ugal Guin Botsuana EUA Alemanha Botsuana Brasil Rep. Dominicana Chile Guin

Agrupamento
Mtodos mais conhecidos:
K-means KNN (K- vizinhos mais prximos) C-means (k-means fuzzy)

Chile

Redes Neurais
Rede SOM (Mapas Auto-Organizveis) ART (Teoria de Ressonncia Adaptativa)

Rep. Dominicana

frica do Sul Port ugal Chile Mxico Costa Rica

Mtricas
Classificadores de menor distncia definem fronteiras de deciso no espao de padres
Distncia de X para P

Problemas
Problemas linearmente separveis so aqueles que podem ser satisfeitos utilizando uma reta ou hiperplano como fronteira de deciso.
X2 X2

d = X Pi

Existe mais de uma maneira de definir d Mtricas calculam similaridade entre padres no espao geomtrico Mtricas mais comuns:
Distncia de Hamming Distncia Euclidiana Distncia Manhattan Distncia quadrtica Distncia de Mahalanobis
X2 P d X

X1 Linearmente separvel X1

X1 No-linearmente separvel

Problemas
Classificao perfeita nem sempre possvel Nem todos os problemas so linearmente separveis Difcil validar qual o melhor nmero de categorias para um determinado problema Grande sobreposio de classes (???) Causas freqentes de erros:
Padres no podem ser linearmente separados Caractersticas podem ser inadequadas para distinguir as diferentes classes Caractersticas podem ser muito correlacionadas Podem haver subclasses distintas nos dados

Redes Neurais - MLP


Redes de uma camada resolvem apenas problemas linearmente separveis. Soluo
Usar redes com mais de uma camada.

Problema
Como treinar uma rede com mais de uma camada

Redes Neurais - MLP


MLP - Multilayer Perceptrons
Redes com duas ou mais camadas de neurnios do tipo do Perceptron. Algoritmo de treinamento Back-propagat ion error
Proposto por Rumelhart (1986) Fornece um mtodo computacional eficiente para o treinamento de perceptrons de mltiplas camadas Treinamento supervisionado Regra de aprendizagem por correo de erro Generalizao do algoritmo LMS (Regra Delta) Baseado no Gradiente Descendente Substituio da funo degrau pela funo sigmide Retro-propagao do erro

Redes Neurais - MLP


Duas etapas:
Forw ard
Ativa a rede a partir das entradas e propaga para as sadas

Backw ard
Utiliza a sada desejada e a sada calculada pela rede para para atualizar os pesos

sinal de entrada ( estmulos) camada de entradas camada de sada

Sinal de Sada ( resposta) 1 camada oculta 2 camada oculta

Redes Neurais - MLP


1 camada intermediria
Traa retas no espao dos padres de treinamento

A regra de aprendizado
Medida de performance Aprendizado

2 camada intermediria
Combina as retas traadas na camada anterior formando regies convexas

1 2 E (k ) = (y d y ) 2

W (k + 1) =

E (k ) W (k )

Camada de sada
Cada neurnio forma regies que so combinaes das regies convexas definidas na camada anterior 1 camada intermediria implementa qualquer funo contnua 2 camadas intermedirias permitem a aproximao de qualquer funo

Ativao = net = wi xi = WX Pr opagao = sig (x ) = 1 1 + ex

usando a regra da cadeia

E E e y net = W e y net W
e y E = 1 = f (net ) =e e y net net = X ou yi sada da camada anterior W
Gradiente local

1 f (net ) = sig (net ) = WX 1+ e

f (net ) = f (net ) ( f (net )) 1

j =

E e y E = e f (net ) = net e y net

A regra de Aprendizado
correo do peso W j i( n)

Redes Neurais - MLP


Funo sigmide
Contnua e derivvel W0 determina a posio da sigmide no eixo das ordenadas Inclinao determinada pela norma do vetor de pesos W

parmetro da taxa de aprendizado

gradiente local j ( n)

sinal de entrada do neurnio j yc

Gradiente local

j =

E E e y = = e f (net ) net e y net

Nmero de neurnios por camada?


Depende do conjunto de treinamento, quantidade de rudo, complexidade da funo a ser aprendida. Definido empiricamente Em funo das entradas e sadas N de conexes 10 vezes menor que o nmero de exemplos

O gradiente local depende de se o neurnio j um n de sada ou se um n oculto. Se neurnio j um n de sada Se neurnio j um n oculto

j = e j f (net )
k

j = f (net ) kWkj

n de parmetros livres = grau de liberdade

Redes Neurais - MLP


Atualizao dos pesos
Por padro ( online) pesos so atualizados aps apresentao de cada padro.
Estvel se pequeno Geralmente mais rpido

Redes Neurais - MLP


Problemas
Multimodal topologias diferentes de Redes Neurais podem resolver os mesmo problema. Deceptivo topologias semelhantes de 2 redes Neurais podem apresentar comportamentos completamente diferentes. Sem garantia de convergncia
Pode convergir para mnimos locais Lentido na convergncia

Por ciclo ( batch) apresenta todos os padres de treinamento depois atualiza os pesos.
Mais estvel Lento se conjunto de treinamento grande e redundante Requer mais memria Estimativa do gradiente mais precisa.

Clculo do erro preciso apenas para a camada de sada. As camadas intermedirias recebem apenas uma estimativa do erro.

Redes Neurais - MLP


Problemas
Backpropagation muito lento em superfcies complexas. Superfcie plana ( flat spot) quando a derivada da sigmide de um neurnio se aproxima de zero durante o treinamento, o neurnio pode no ter seus pesos ajustados ou ajustados com um valor muito pequeno. Overfitting memoriza padres de treinamento incluindo suas peculiaridades. Piora a generalizao. Underfitting Saturao inicializao dos pesos devem ser uniformemente distribudos dentro de um intervalo pequeno.

Redes Neurais - MLP


Avaliao dos Resultados
Sada binria x Sada contnua Sada binria com indeciso (sim, no sei, no) Estratgia the winner take all Vrias simulaes Anlise da matriz de confuso Anlise estatstica dos resultados
Mdia Desvio padro

Validao cruzada Distribuio equilibrada dos padres no conjunto de treinamento.

Redes Neurais - MLP


Vantagens Soluo de problemas no linearmente separveis Aprendizado baseado na experincia (por correo de erro) Generalizao Aplicaes:
Classificao Aproximao de funes

Dificuldades de Aprendizado
Mnimos Locais
Soluo estvel, porm no a melhor soluo Estratgias para minorar este problema
Taxa de aprendizado decrescente (adaptativa) Adicionar ns intermedirios Incluso do termo momentum Adicionar rudos aos dados de treinamento

Paralelismo e robustez

Desvantagens Dificuldade na definio da arquitetura (n de camadas, nmeros de neurnios) Inicializao dos pesos (sorte/ azar) Convergncia lenta e incerta Paralisia do aprendizado (mnimos locais, regies planas) Dificuldade na definio dos parmetros de treinamento

Lentido no treinamento
Utilizar mtodos de 2 ordem
Levenberg Maquardt Quase-Newton Gradiente Conjugado Delta-Barra-Delta

Dificuldades de Aprendizado
Overfitting
A rede decora os dados de treinamento. Depois de um certo ponto do treinamento a rede piora ao invs de melhorar. Piora a generalizao / Memoriza padres Estratgia para se evitar Overfitting:
Encerrar treinamento mais cedo ( early stop)
Erro Validao Treinamento Erro
parada tardia ponto timo de generalizao

Estimativa de Desempenho
Funo sigmide tangente hiperblica geralmente proporciona um aprendizado mais rpido. Pre-processamento dos dados
Balanceamento dos dados Normalizar dados (campos individualmente)

Medida de Desempenho (Taxa de Acerto)


Aparente - Medida com os dados de treinamento Verdadeira - Medida com os dados de teste

Taxa de acerto =
Ciclos Ciclos

n de acertos n de padres

Estimativa de Desempenho
Hold-out (Split-sample)
Tcnica mais simples Utiliza uma nica partio da amostra
Treinamento (1/3) Teste (1/3)

Estimativa de Desempenho
Resampling
Vrias parties para os conjuntos de treinamento e teste

Random Subsampling
Diferentes parties treinamento/ teste/ validao escolhidas de forma aleatria No pode haver interseo entre os conjuntos Performance calculada para cada partio Performance estimada a mdia dos erros para as diferentes parties Permite a obteno de uma estimativa mais precisa para o desempenho de um modelo.

Grande quantidade de dados (> 1000)


Aumentar proporo de exemplos de treinamento

Pequena quantidade de dados


Aproximao pessimista Resultados podem ser imprecisos Utilizar resampling

Estimativa de Desempenho
Cross-validation
Classe de mtodos para estimativa de desempenho verdadeiro K- fold cross- validat ion
Divide o conjunto de dados em K parties mutuamente exclusivas
A cada iterao, uma das K parties usada para testar o modelo. As outras K-1 para treinar

Taxa de acerto a mdia dos erros das K parties

Leaving- one- out


N iteraes so utilizadas para uma amostra de N. N-fold cross-validation