AULA 03 PERCEPTRON CONTINUAO Perceptron de duas entradas
- Slides: 40
AULA 03 PERCEPTRON (CONTINUAÇÃO)
Perceptron de duas entradas e um bias f(u) Com os parâmetros w 0, w 1 e w 2, a função f(u) separa o espaço de entradas em duas regiões, usando uma linha reta dada por: w 1 x 1 + w 2 x 2 + w 0 = 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 w 1. x 1 + w 2. x 2 = q – b) pontos em um lado da linha tem coordenadas tais que w 1. x 1 + w 2. x 2 < q – c) pontos no outro lado da linha tem coordenadas tais que w 1. x 1 + w 2. x 2 > q. Nota: bias b = - q pois
Exemplo Pontos 2 x 1+3 x 2 posição (x 1 , x 2 ) (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 x 1 Posição dos pontos em função da linha 2 x 1 + 3 x 2 = 6 de delimitação. Linha: 2 x 1 + 3 x 2 = 6 Acima: 2 x 1 + 3 x 2 > 6 Abaixo: 2 x 1 + 3 x 2 < 6 q=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 L 1. Mas, somando as duas inequações tem-se: o que significa que (1, 1) estaria no mesmo lado da linha L 1, 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: (x 1 or x 2 ) and (not (x 1 and x 2 )).
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 L 1 corresponde à função OR, e a parte abaixo da linha L 2 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) w 1+w 2 >= 1 x w 1 < 1 x x 1 w 1 +x 2 w 2 >= 1 x 1 w 1 +x 2 w 2 < 1 Entrada = (1, 1) Entrada = (1, 0) x w 2 <1 x 1 w 1 +x 2 w 2 < 1 Entrada = (0, 1) Inequações para a função AND, com w 0 = -1 Equação das linhas: x 1 w 1 +x 2 w 2 + w 0=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 w 0, w 1, e w 2 devem obedecer as seguintes inequações: entrada (0, 0): entrada (0, 1): entrada (1, 0): entrada (1, 1): 0. w 2 + 0. w 1 +1. w 0 <0, 1. w 2 + 0. w 1 +1. w 0 <0, 0. w 2 + 1. w 1 +1. w 0 <0, 1. w 2 + 1. w 1 +1. w 0 >=0, saída y = 0 saída y = 1. • Essas inequações definem quatro planos que passam pela origem: Plano 1: Plano 2: Plano 3: Plano 4: w 0 = 0 w 2 + w 0 = 0 w 1 + w 0 = 0 w 2 + w 1 + w 0 = 0
Polítopo para a função AND Plano 1: w 0 = 0 Plano 2: w 2 + w 0 = 0 Plano 3: w 1 + w 0 = 0 Plano 4: w 2 + w 1 + w 0 = 0 Para a função AND: w 0 < 0 w 2 + w 0 < 0 w 1 + w 0 < 0 w 2 + w 1 + w 0 >= 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 w 0 = -1 e w 0 = -0. 5.
Superfície de erro para AND no espaço de pesos Erro = 0 com w 0 = -1 número de erros Passos iterativos durante o Treinamento w* é o vetor solução
Funções booleanas de duas variáveis • As 16 possíveis funções de duas variáveis são: f 0(x 1, x 2) = f 0000 (x 1, x 2) = 0 f 1(x 1, x 2) = f 0001 (x 1, x 2) = ~(x 1 v x 2) f 2(x 1, x 2) = f 0010 (x 1, x 2) = x 1 ^ ~x 2 f 3(x 1, x 2) = f 0011 (x 1, x 2) = ~x 2 f 4(x 1, x 2) = f 0100 (x 1, x 2) = ~x 1 ^ x 2 f 5(x 1, x 2) = f 0101 (x 1, x 2) = ~x 1 f 6(x 1, x 2) = f 0110 (x 1, x 2) = xor f 7(x 1, x 2) = f 0111 (x 1, x 2) = ~(x 1 ^ x 2) f 8(x 1, x 2) = f 1000 (x 1, x 2) = x 1 ^ x 2 f 9(x 1, x 2) = f 1001 (x 1, x 2) = ~xor f 10(x 1, x 2) = f 1010 (x 1, x 2) = x 1 f 11(x 1, x 2) = f 1011 (x 1, x 2) = x 1 v~ x 2 f 12(x 1, x 2) = f 1100 (x 1, x 2) = x 2 f 13(x 1, x 2) = f 1101 (x 1, x 2) = ~x 1 v x 2 f 14(x 1, x 2) = f 1110 (x 1, x 2) = x 1 v x 2 f 15(x 1, x 2) = f 1111 (x 1, x 2) = 1
Visualização de todas as funções linearmente separáveis no espaço de pesos Plano 3 f(1, 0) Plano 2 f(0, 1) Plano 3 Plano 1 Plano 4 f(0, 0) f(1, 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 (x 1, x 2), as duas funções que faltam são XOR e NOT-XOR (coincidência).
Projeção no plano L 3 L 4 L 1 f 14 = OR f 1 = NOR f 8 = AND f 7 = NAND L 2 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 N 3 N 1 N 2 N 1 N 4 N 2 N 3 esfera dos vetores de entrada normalizados 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(Wlog. W) 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(W 2) 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): entrada (0, 1): entrada (1, 0): entrada (1, 1): 0. w 2 + 0. w 1 +1. w 0 = 0 1. w 2 + 0. w 1 +1. w 0 = 0 0. w 2 + 1. w 1 +1. w 0 = 0 1. w 2 + 1. w 1 +1. w 0 = 0 Se cada neurônio divide o espaço de pesos em 14 regiões, como 3 neurônios, 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 2 x 1 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. m =1 • Cada novo hiperplano divide o cone definido pelos hiperplanos anteriores gerando mais 2 novas regiões. 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 ndimensional, define 2 n 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 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: a) Para m = 2 e n = 1, é válida. b) 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) = 2 m 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) = 2 m Para n = 3, R(m, 3) = m 2 -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) = 2 m)) 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: – 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 é 2 n + 3. O número de diferentes entradas é 2 n-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 é encontrar n que satisfaça F > N. é possível
Visualização geométrica Sejam Espaço de entrada sem bias dois conjuntos de pontos a serem separados. Espaço de entrada com 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 w 0 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 x 1 Após correção com x 3 Após correção com x 1
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 sabese 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.
- Propensão marginal a consumir
- Teoria duas celulas duas gonadotrofinas
- Em uma aula de fisica foram utilizadas duas esferas
- Entradas y salidas de un proyecto
- Ci xnor
- Caracteristicas de un amplificador operacional
- Entradas bandeiras e monções
- Rosca multiplas entradas
- Simp mesa virtual abogados
- Inventario access
- Matriz identidad 2x3
- Compuertas logicas y tablas de verdad
- Perceptron
- Perceptron
- Perceptron sorter
- Neural networks simon haykin
- Perceptron
- Marc vrakking
- Tlu perceptron
- Who is the father of deep learning?
- Hidden layer perceptron
- Perceptron
- Perceptron-based prefetch filtering
- Perceptron multicamadas
- Difference between adaline and perceptron
- Newlin matlab
- Perceptron convergence theorem proof
- Perceptron multicouches
- Perceptron classifier
- Perceptron
- From sklearn.linear_model import perceptron
- Multi layer perceptron
- Sklearn perceptron
- Limitations of perceptron:
- Perceptron xor
- Perceptron excel
- Adaline madaline
- Hidden layer perceptron
- Non-linear classification
- Large margin classification using the perceptron algorithm
- Contoh soal perceptron or