PERCEPTRON (CONTINUAÇÃO)

Slides:



Advertisements
Apresentações semelhantes
Cálculo 3 9. Integrais Duplas Volumes Amintas Paiva Afonso
Advertisements

N Rainhas Descrição do Problema Satisfação de Restrições (CSP)
ANÁLISE DISCRIMINANTE
FUNÇÕES.
2 de Junho de 2005Conclusão1 Pedro Barahona DI/FCT/UNL Junho 2005.
1 Conclusão DI/FCT/UNL 1º Semestre 2004/ Ciclos de Simulação A técnica usada no exemplo da queda livre pode ser utilizada para trajectórias a duas.
Capítulo 2 - Derivadas No final do capítulo 1, já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando.
Derivadas Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando ele existia, de derivada de f em.
Capítulo 3 - Aplicações das Derivadas
MÉTODOS MATEMÁTICOS EM BIOLOGIA
Adaptive Resonance Theory Carpenter & Grossberg
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Ivan Saraiva Silva Aula 1 - Álgebra Booleana
Algoritmo de Khachiyan Prof. Júlio Cesar Nievola.
Introdução à Computação Gráfica Geometria
Interseção de Semiplanos
Reconhecimento de Padrões Classificadores Lineares
Medida do Tempo de Execução de um Programa
Universidade do Estado de Santa Catarina – CCT/UDESC
Polinômios Prof. Marlon.
EQUAÇÕES POLINOMIAIS Prof. Marlon.
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Introdução aos Sistemas de Controle
3 - Equações Lineares de Segunda Ordem
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Análise do Lugar das Raízes
Prof. Roberto Cristóvão
Dependência e Independência Linear e Produto Vetorial
Prof. Roberto Cristóvão
Teorema do Confronto   Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
Matemática para Economia III
Função de uma Variável Aleatória
Propriedades da Integral Definidas
Aula 13 Derivação Implícita, derivadas das funções trigonométricas inversas e derivadas de funções logarítmicas.
Teorema de Rolle e Teorema do Valor Médio
FUNÇÃO DE 1º GRAU.
Integração Numérica Integração Numérica
Quadrados Mínimos.
Sistema de equações lineares
EDO de 2ª ordem Linear Cálculo 2 A – Turma H
1 - Equações Diferenciais Ordinárias
Definições e Transformações Projetivas
1.2- Propriedades dos Limites
Equações diferenciais ordinárias de segunda ordem
Funções de várias variáveis
Espaços e Subespaços Vetoriais
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
MÚLTIPLOS GRAUS DE LIBERDADE
Lugar Geométrico das Raízes
Equações algébricas e transcendentais
2.3. Aplicações das Integrais Simples
INE Fundamentos de Matemática Discreta para a Computação
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
Prof. Anne Magály de Paula Canuto
Algoritmos.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
INTRODUÇÃO AOS MÉTODOS NUMÉRICOS Professor: Dr. Edwin B. Mitacc Meza
Quadratura de Gauss-Legendre
TEORIA DOS NÚMEROS Aula 2 – Princípio da Indução Finita
Modelo MCP O modelo criado em 1943 funciona de modo semelhante. Os sinais de entrada são números (dados), os neurotransmissores são “pesos” numéricos associados.
1.4 - Limites de Expressões Indeterminadas
Interpolação Polinomial: Introdução; Lagrange.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Computação Científica e Equações Diferenciais Geovan Tavares e Hélio Lopes PUC-Rio – Departamento de Matemática Laboratório Matmidia
Aula 4 Bioestatística Probabilidade para variáveis aleatórias.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA MECÂNICA LABORATÓRIO DE MECÂNICA DOS FLUIDOS ME36L – TRANSMISSÃO DE CALOR I PROF.
Comportamento Assintótico
PC - Semana61 MODELANDO SISTEMAS LTI NO DOMÍNIO DA FREQUÊNCIA.
ENERGIA CINÉTICA E TRABALHO
Transcrição da apresentação:

PERCEPTRON (CONTINUAÇÃO) AULA03 PERCEPTRON (CONTINUAÇÃO)

Perceptron de duas entradas e um bias f(u) Com os parâmetros w0, w1 e w2, a função f(u) separa o espaço de entradas em duas regiões, usando uma linha reta dada por: w1x1 + w2x2 + w0 = 0

Separação Linear Sabe-se que se formarmos uma combinação linear de duas variáveis, e igualá-la a um número, então os pontos no espaço bidimensional podem ser divididos em três categorias: a) pontos pertencentes à linha com coordenadas tais que w1. x1 + w2 . x2 = q b) pontos em um lado da linha tem coordenadas tais que w1 . x1 + w2 . x2 < q c) pontos no outro lado da linha tem coordenadas tais que w1 . x1 + w2 . x2 > q . Nota: bias b = - q pois

Exemplo Pontos 2x1+3x2 posição (x1 , x2 ) (0.0, 2.0) 6 linha (1.0, 1.0) 5 abaixo (1.0, 2.0) 8 acima (2.0, 0.0) 4 abaixo (2.0, 0.66) 6 linha (2.0, 1.0) 7 acima Posição dos pontos em função da linha 2 x1 + 3 x2 = 6 de delimitação. x1 Linha: 2 x1 + 3 x2 = 6 Acima: 2 x1 + 3 x2 > 6 q = 6 Abaixo: 2 x1 + 3 x2 < 6

Problema do XOR (ou-exclusivo) No caso do XOR, não existe uma única reta que divide os pontos (0,0) e (1,1) para um lado, e (0,1) e (1,0) do outro lado. Função xor Conclui-se que um neurônio do tipo perceptron não implementa uma função ou-exclusivo ( constatado por Minsky & Papert, em 1969).

É claro que nenhuma combinação linear ou linha reta pode ser traçada tal que as entradas (0, 0) e (1, 1) fiquem numa categoria e (0, 1) e (1, 0) numa outra categoria, conforme demonstração: Algebricamente tem-se: significando que os dois pontos ficam num lado da linha L1. Mas, somando as duas inequações tem-se: o que significa que (1,1) estaria no mesmo lado da linha L1, o que é indesejável.

PERCEPTRONS MULTICAMADAS A função XOR está além da capacidade de um perceptron simples. Contudo, um perceptron simples pode implementar funções lógicas elementares: AND, OR e NOT. Assim, se uma função pode ser expressa como uma combinação dessas funções lógicas elementares, então essa função pode ser implementada usando mais neurônios. Por exemplo, XOR pode ser expressa por: (x1 or x2 ) and (not (x1 and x2 )).

Separação linear para XOR de duas camadas Em termos de separação linear (demarcação), isso equivale ao traçado de duas linhas. A parte acima da linha L1 corresponde à função OR, e a parte abaixo da linha L2 corresponde à função NOT AND. A área entre as duas linhas corresponde à função XOR, o que corresponde à área ABCD, que contem os pontos (0,1) e ( 1,0).

Delimitação de um cluster usando 3 separações no espaço de entradas

Delimitação de 2 clusteres disjuntos

Delimitação de um cluster circular Infinitos neurônios na camada escondida

Dualidade entre o espaço de entradas e espaço de pesos Um valor no espaço de entradas determina uma separação linear no espaço de pesos, e vice-versa.

Exemplos de pontos no espaço de entrada delimitando uma região no espaço de pesos (1,1) (0,1) (1,0) w1+w2 >= 1 w1 < 1 x x x w2 <1 Inequações para a função AND, com w0 = -1 x1w1 +x2w2 >= 1 x1w1 +x2w2 < 1 x1w1 +x2w2 < 1 Entrada = (1,1) Entrada = (1,0) Entrada = (0,1) Equação das linhas: x1w1 +x2w2 + w0=0

Delimitação de regiões no espaço dos pesos Se o interesse é procurar os vetores pesos para uma função AND, os pesos w0, w1, e w2 devem obedecer as seguintes inequações: entrada (0,0): 0.w2 + 0.w1 +1.w0 <0, saída y = 0 entrada (0,1): 1.w2 + 0.w1 +1.w0 <0, saída y = 0 entrada (1,0): 0.w2 + 1.w1 +1.w0 <0, saída y = 0 entrada (1,1): 1.w2 + 1.w1 +1.w0 >=0, saída y = 1. Essas inequações definem quatro planos que passam pela origem: Plano 1: w0 = 0 Plano 2: w2 + w0 = 0 Plano 3: w1 + w0 = 0 Plano 4: w2 + w1 + w0 = 0

Polítopo para a função AND Plano 1: w0 = 0 Plano 2: w2 + w0 = 0 Plano 3: w1 + w0 = 0 Plano 4: w2 + w1 + w0 = 0 Para a função AND: w0 < 0 w2 + w0 < 0 w1 + w0 < 0 w2 + w1 + w0 >= 0 Existem infinitas soluções para a função AND, delimitadas pelo polítopo. A figura mostra uma região triangular de soluções para w0 = -1 e w0 = -0.5.

Superfície de erro para AND no espaço de pesos com w0 = -1 Passos iterativos durante o Treinamento w* é o vetor solução número de erros

Funções booleanas de duas variáveis As 16 possíveis funções de duas variáveis são: f0(x1,x2) = f0000 (x1,x2) = 0 f1(x1,x2) = f0001 (x1,x2) = ~(x1 v x2) f2(x1,x2) = f0010 (x1,x2) = x1 ^ ~x2 f3(x1,x2) = f0011 (x1,x2) = ~x2 f4(x1,x2) = f0100 (x1,x2) = ~x1 ^ x2 f5(x1,x2) = f0101 (x1,x2) = ~x1 f6(x1,x2) = f0110 (x1,x2) = xor f7(x1,x2) = f0111 (x1,x2) = ~(x1 ^ x2) f8(x1,x2) = f1000 (x1,x2) = x1 ^ x2 f9(x1,x2) = f1001 (x1,x2) = ~xor f10(x1,x2) = f1010 (x1,x2) = x1 f11(x1,x2) = f1011 (x1,x2) = x1 v~ x2 f12(x1,x2) = f1100 (x1,x2) = x2 f13(x1,x2) = f1101 (x1,x2) = ~x1 v x2 f14(x1,x2) = f1110 (x1,x2) = x1 v x2 f15(x1,x2) = f1111 (x1,x2) = 1

Visualização de todas as funções linearmente separáveis no espaço de pesos Plano 2 Plano 3 f(1,0) Plano 2 f(0,1) Plano 3 Plano 1 f(0,0) Plano 4 f(1,1) Plano 4 Plano 1 Considerando-se os pesos normalizados pode-se visualizar todas as 14 funções linearmente separáveis utilizando 4 planos de separação. Como tem 16 funções booleanas no caso de entrada bidimensional (x1, x2), as duas funções que faltam são XOR e NOT-XOR (coincidência).

Projeção no plano L3 L4 L1 f14 = OR L2 f1 = NOR f8 = AND 14 regiões f7 = NAND L2 14 regiões Nota-se que: a) com 3 planos de separação, obtem-se 8 regiões. b) com 4 planos de separação, obtem-se 14 regiões.

perceptrons com camadas escondidas esfera dos vetores de entrada normalizados N3 Nota-se que cada neurônio da camada escondida divide o espaço de entrada em duas hemisferas, considerando vetores de entrada normalizados. As saídas da camada escondida são introduzidas no neurônio de saída, que dependendo da região da esfera computa como 1 ou 0.

Máximo número de elementos no espaço de entrada separáveis genericamente Dado um subconjunto S de um espaço de entrada X, usando uma rede que divide esse subconjunto em duas partes, se os elementos de S com valor 0 ficam de um lado e os elementos com valor 1, do outro lado, dizemos que a rede é treinável. Uma questão importante é qual o máximo número de elementos de um espaço de entrada que uma rede pode classificar, genericamente. No caso do perceptron de duas entradas esse número é 3, pois dados 3 pontos no espaço de entrada sempre é possível separar esses pontos usando uma linha reta. Para o caso de 4 elementos nem sempre isso é possível, como por exemplo, o caso do XOR.

Rede com dois neurônios na camada escondida Nesse caso, cada neurônio da camada escondida divide a superfície da esfera em dois hemisférios. Portanto, os dois neurônios dividem a superfície da esfera em 4 regiões, codificadas em duas saídas. Cada uma dessas saídas são recebidas pelo neurôno de saída, que por sua vez tem a capacidade de realizar 14 funções. O problema do XOR pode ser resolvido usando uma dessas 14 funções e em geral, quaisquer 4 elementos do espaço de entrada podem ser divididos em duas classes usando dois neurônios na camada escondida. Contudo, 8 elementos no espaço de entrada não são possíveis de serem divididos com dois neurônios escondidos, genericamente.

Dimensão de Vapnik-Chervonenkis O número máximo de elementos d de um espaço de entrada, que podem ser sempre separados linearmente, é chamado de dimensão de Vapnik-Chervonenkis, ou simplificadamente dimensão VC. Segundo Cover (1968) e Baum e Haussler (1989), a dimensão VC, para uma rede feedforward constituída de neurônios com uma função de ativação degrau, é de O(WlogW) onde W é o número total de parâmetros livres da rede. Segundo Koiran e Sontag (1996) a dimensão VC, para uma rede feedforward constituída de múltiplas camadas cujos neurônios utilizam a função de ativação sigmóide, é de O(W2) onde W é o número total de parâmetros livres da rede.

Regiões no espaço de pesos para redes de 2 neurônios escondidos de 2 entradas Para 2 neurônios escondidos e 1 neurônio de saída, tem-se 9 parâmetros livres: 2 pesos de entrada e 1 bias para cada neurônio. Cada neurônio divide o espaço de pesos em quatro hiperplanos: entrada (0,0): 0.w2 + 0.w1 +1.w0 = 0 entrada (0,1): 1.w2 + 0.w1 +1.w0 = 0 entrada (1,0): 0.w2 + 1.w1 +1.w0 = 0 entrada (1,1): 1.w2 + 1.w1 +1.w0 = 0 Se cada neurônio divide o espaço de pesos em 14 regiões, como 3 neurônios, 14.14.14 = 2744 regiões ou polítopos são gerados. Isso significa que o número de regiões de soluções para uma esfera booleana de nove dimensões é de 2744, sendo que 16 dessas regiões são soluções da função XOR.

Possíveis combinações para XOR usando 2 neurônios escodidos

Possíveis combinações para XOR usando 2 neurônios escodidos A figura mostra a distribuição de soluções para XOR, usando uma rede de 2x1 neurônios. Dependendo de onde o algoritmo de busca começa (pesos iniciais) a solução pode ser mais fácil, ou difícil.

Contagem do número de regiões Quantas regiões são definidas usando m hiperplanos de dimensão n-1, num espaço n-dimensional de pesos? (consideramos apenas os hiperplanos passando pela origem) Caso bi-dimensional ( n = 2) : o hiperplano é uma reta. Cada novo hiperplano divide o cone definido pelos hiperplanos anteriores gerando mais 2 novas regiões. m =1 m = 2

Contagem do número de regiões (cont.) Caso tri-dimensional (n = 3): hiperplano é um plano. Para os casos de 1, 2 e 3 hiperplanos, cada hiperplano aumenta o número de regiões por um fator 2: para m = 1  2 regiões para m = 2  4 regiões para m = 3  8 regiões (m = número de hiperplanos) Generalizando, n hiperplanos de dimensão n-1, em espaço n-dimensional, define 2n regiões. Para o caso de m = 4, vimos que tem 14 regiões, ou seja: o quarto hiperplano consegue dividir no máximo 6 das 8 regiões previamente geradas por 3 hiperplanos.

Proposição 1 m = 3 m+1 = 4 6 regiões novas R(m,n-1)=R(3,2) Seja R(m,n) o número de regiões definidos por m hiperplanos de dimensão n-1, em posição genérica, num espaço de pesos n-dimensional. Inicia-se com R(1, n) = 2 para e R(m,0) = 0, . Para e m > 1 tem-se R(m,n) = R(m-1,n) + R(m-1,n-1) A prova é por indução em m: Para m = 2 e n = 1, é válida. Para m = 2 e sabe-se que R(2,n) = 4 e a fórmula é válida novamente: R(2,n) = R(1,n) + R(1,n-1) = 2 + 2 = 4 c) Agora, m + 1 hiperplanos de dimensão n-1 são dados em espaço n-dimensional e posição genérica ( ). Da hipótese de indução segue que os primeiros m hiperplanos definem R(m,n) regiões em espaço n-dimensional. O hiperplano m+1 intersecta os primeiros m hiperplanos, em m hiperplanos de dimensão n-2 (se todos estiverem em posição genérica). Esses m hiperplanos dividem o espaço (n-1)-dimensional em R (m,n-1) regiões. Após a separação com o hiperplano m + 1, exatamente R(m,n-1) novas regiões são criadas. O novo número de regiões é portanto R (m+1,n) = R(m,n) + R(m,n-1) e a prova termina. m = 3 m+1 = 4 6 regiões novas R(m,n-1)=R(3,2)

Cálculo recursivo de R(m,n) Nota-se que: a) R(m,n) = 2m para , isto é, o número de regiões cresce exponencialmente até a dimensão do espaço. b) Após esse limite (m > n) o crescimento passa a ser polinomial Para n = 2, R(m,2) = 2m Para n = 3, R(m,3) = m2-m+2

Proposição 2 Para , R(m,n) é um polinômio de grau n-1 na variável m. A prova é por indução em n: Denotando P(a,b) um polinômio de grau b na variável a. O polinômio é explicitamente dado para n = 2. (R(m,2) = 2m)) Para a dimensão n + 1 e m = 1 sabe-se que R(1, n+1) = 2. Se m > 1 então R(m,n+1) = R(m-1,n+1) + R(m-1,n) Se R (m-1, n) é um polinômio de grau n -1 na variável m segue que R(m,n+1) = R(m-1,n+1) + P(m,n-1) Repetindo essa redução m -1 vezes chega-se finalmente a R(m,n+1) = R(m-(m-1),n+1) + (m-1)P(m,n-1) = 2 + (m-1)P(m,n-1) = P(m,n) R (m,n+1) é então um polinômio de grau n na variável m . Uma fórmula útil para R(m,n) é cuja validade pode ser provada também por indução.

Contagem do número de regiões (cont.) A fórmula possibilita o cálculo do número de regiões formados por hiperplanos em posições genéricas. No caso de funções booleanas, as entradas sendo booleanas, os hiperplanos não se posicionam genericamente. O número de regiões, definido por um espaço 4-dimensional por 8 hiperplanos, é 128. Mas existem somente 104 funções computáveis por um perceptron de 3 entradas, e portanto 4 pesos e 8 possíveis vetores de entrada. O número R(m,n) deve ser interpretado como um limite superior sobre o número de funções computáveis para entradas binárias. Comparação do número de funções booleanas e funções computáveis de n entradas com dois limites superiores diferentes.

Conseqüências Primeira consequência: Segunda consequência: Exemplo: O número de funções computáveis num espaço n-dimensional cresce polinomialmente enquanto que o número de possíves funções booleanas cresce exponencialmente. A relação entre funções computáveis e o total de funções lógicas tende a zero com o incremento de n. Segunda consequência: Problemas insolúveis para redes com um número pré-determinado de unidades podem ser fabricadas com o incremento do número de linhas de entrada. Exemplo: Para os neurônios escondidos, o número de entradas considerando o bias é n, e o número de pesos da rede é 2n + 3. O número de diferentes entradas é 2n-1. O número de regiões N no espaço de pesos é dado por Isso significa que N é limitado por uma função da ordem de Se o número F de funções booleanas de n entradas é é possível encontrar n que satisfaça F > N.

Visualização geométrica Sejam dois conjuntos de pontos a serem separados. Espaço de entrada com bias Espaço de entrada sem bias Um vetor peso w deve ser encontrado tal que w.x > 0 para todo e w.x < 0 para todo

O algoritmo de treinamento do perceptron começa com um vetor w0 aleatoriamente escolhido. Se o vetor é tal que w.x < 0 significa que o ângulo entre os dois vetores é maior que 900. O vetor peso deve ser rotacionado na direção de x para que x fique na metade positiva do espaço definido por w. Isso pode ser feito adicionando x a w, como o algoritmo de treinamento faz. Se o vetor é tal que w.x > 0 significa que o ângulo entre os dois vetores é menor que 900. O vetor peso deve ser rotacionado na direção contrária a x para que x fique na metade negativa do espaço definido por w. Isso pode ser feito subtraindo x de w. Se existe solução ela é encontrada após um número finito de passos. Uma boa heurística é iniciar o peso com a média dos vetores de entrada positivos menos a média dos vetores de entrada negativos.

Ilustração gráfica L Configuração inicial Após correção com x1

Convergência do algoritmo Se os conjuntos P e N são linearmente separáveis, o algoritmo de treinamento atualiza o vetor de pesos wt um número finito de vezes até a convergência. Em outras palavras, se os vetores em P e N são testados ciclicamente, um após o outro, um vetor peso wt, que separa os dois conjuntos, é encontrado após um número finito de passos t. Para a prova, são feitas 3 simplificações sem prejuízo da generalidade: Os conjuntos P e N podem ser unidos em P’ =PUN-. Onde N- consiste de elementos de N negados . Os vetores em P’ podem ser normalizados, pois se um vetor w é tal que w.x > 0 isso é válido para qualquer outro vetor hx, onde h é uma constante. O vetor peso pode também ser normalizado. Assumindo que uma solução existe, w* é a solução.

Prova da convergência Assume-se que após t+1 passos o vetor peso wt+1 foi computado. Isso significa que no tempo t um vetor pi foi incorretamente classificado pelo vetor peso wt e assim, wt+1 = wt + pi. O cosseno do ângulo r entre wt+1 e w* é Para a expressão do numerador sabe-se que com

Cont. Vimos que: e onde Se o vetor peso w* define uma separação linear absoluta entre P e N sabe-se que d > 0. Por indução obtem-se Por outro lado para o termo do denominador sabe-se que Se é negativo ou zero (caso contrário não teria sido feita a correção) deduz-se que pois os vetores em P são normalizados.

Cont. vimos que: A indução diz que Lembrando que e tem-se O termo à direita cresce proporcionalmente a e se d é positivo pode tornar-se arbitrariamente grande. Contudo, se , t deve ser limitado por um valor máximo. Portanto, o número de correções para o vetor peso deve ser finito.