View
121
Download
7
Category
Preview:
Citation preview
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
Sinal de Saída
Nível de Entrada limiar
0
ativo
inativo
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 = |)(| yx ii
n
i
yx ii1
2
)(
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
Modelando um único neurônio
Perceptrons
n
iixwify
0
w0
w1
w2
w3
wn
...
y
x0
x1
x2
x3
x4
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 limiarDefinir wi(t), (0 i n) como o peso da entrada i no tempo t e w0 como sendo -, o limiar, e x0=1Ajustar 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ônio4. 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)
n
iixwify
0
Modificações da adaptação dos pesos
4. Adaptar os pesosse 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: ADALINEUso 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 Z0 0 0
0 1 1
1 0 1
1 1 00 1
10
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
Perceptron de múltiplas camadas
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
Entrada Saída
Escondida
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
iipjxwy if
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
Recommended