Introdução
 O que é computação?
 Funções computáveis e não computáveis
 Funções lineares e não lineares
 A estrutura do cérebro
aproximadamente 1010 neurônios
cada um conectado com cerca de 104 outros
 Ativação de um neurônio
ativo
Sinal de
Saída
inativo
Nível de
Entrada
limiar
0
 Aprendizagem em sistemas biológicos
0
Vetores de características e espaços de
estados
Funções discriminantes
Técnicas de classificação: vizinho mais
próximo
Medidas de distância entre vetores
• Distância de Hamming =
• Distância Euclidiana =
 (| x  y |)
i
i
2
 n
  ( xi  y ) 
i 
 i 1
Classificadores lineares
•
Técnicas estatísticas: classificação Bayesiana
• Importante técnica analítica que facilita o entendimento da
natureza estatística dos dados
• Baseia-se na teoria estatística de probabilidades e
probabilidades condicionais
• Em reconhecimento de padrões, medições são feitas sobre os
padrões (componentes do vetor de características) a fim de
se obter uma estimativa da probabilidade de um padrão
pertencer a uma classe particular.
• Mais formalmente, seja Gi (i=1,2,...,n) a lista de possíveis
grupos ou classes, define-se a probabilidade de um padrão
pertencer a uma classe como sendo P(Gi), onde 0  P(Gi)  1
• O uso de probabilidades condicionais permite a inclusão de
conhecimento prévio sobre o problema de forma a melhorar
a estimativa de um padrão pertencer a uma dada classe
• Dados dois eventos X e Y, a probabilidade condicional é
definida como sendo a probabilidade do evento Y dada a
ocorrência do evento X: P(Y |X)
• Em reconhecimento de padrões, o conhecimento prévio que é
combinado com a função de probabilidade da classe são as
medições de dados obtidas para o padrão, ou seja, o vetor de
características X = (x1, x2 , ..., xn )
• Assim, o problema de classificação de padrões pode ser
enunciado como: Considerando um conjunto de medições, X,
qual é a probabilidade dele pertencer à classe Gi , ou seja
P(Gi |X) ?
Regra de Bayes
• Decida por x pertencer à classe i se:
P(Gi |X) > P(Gj |X)
para i=1,2,...,n
ij
• Como estimar as probabilidades condicionais?
 Fazendo suposições sobre os dados de padrões
 Descrevendo distribuições desconhecidas através de modelos
 Dado que se sabe que o padrão deva pertencer a um dos n
grupos, então define-se a probabilidade de se se obter aquele
padrão em cada um dos grupos P(X | Gi)
 P(Gi |X) = P(X | Gi ) . P(Gi) / (
j
P(X | Gj) . P(Gj) )
Outras técnicas estatísticas
• EM algorithm: Expectation-Maximisation
• Support Vector Machines
Perceptrons
Modelando um único neurônio
x0
w0
x1
w1
y
x2
w2

w3
x3
...
wn
x4
n

y  f  wi x 
i
 i 0

Funções de ativação
Funções de ativação
Funções de ativação
Funções de ativação
Aprendizagem do perceptron
1. Inicializar pesos e limiar
Definir wi(t), (0  i  n) como o peso da entrada i no tempo t e
w0 como sendo -, o limiar, e x0=1
Ajustar wi(0) com pequenos valores randômicos
2. Apresentar entradas x0, x1, ..., xn e saída desejada d(t)
3. Calcular a saída do neurônio
4. Adaptar os pesos
se correto
se saída=0, mas devia ser 1
se saída=1, mas devia ser 0
wi(t+1) =n wi(t)
wi(t+1) = wi(t)+xi(t)
wi(t+1) = wi(t)-xi(t)i
i 0


y  f  wi x 


Modificações da adaptação dos pesos
4. Adaptar os pesos
se correto
wi(t+1) = wi(t)
se saída=0, mas devia ser 1
wi(t+1) =wi(t)+xi(t)
se saída=1, mas devia ser 0
wi(t+1) =wi(t)-xi(t)
onde 0    1 controla a taxa de adaptação do peso
4. Adaptar os pesos - regra delta de Widrow-Hoff
 = d(t) - y(t)
wi(t+1) = wi(t) +   xi(t)
Neurônios com este algoritmo de aprendizagem: ADALINE
Uso de entradas bipolares acelera o treinamento, por que?
Limitações dos perceptrons de 1 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
• 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
0
1
Perceptron de múltiplas camadas
 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
 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
 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)
 Arquitetura
Saída
Entrada
Escondida
 A solução
Algoritmo de aprendizagem:
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:
 n1

y pj  f  wi xi 
 i 0

e passa os resultados como entradas para a próxima
camada. As saídas da última camada são opj
4. Adaptar os pesos
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
Download

Classificação de Padrões e Redes Neurais