A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

AULA03 PERCEPTRON (CONTINUAÇÃO). Perceptron de duas entradas e um bias Com os parâmetros w 0, w 1 e w 2, a função f(u) separa o espaço de entradas em.

Apresentações semelhantes


Apresentação em tema: "AULA03 PERCEPTRON (CONTINUAÇÃO). Perceptron de duas entradas e um bias Com os parâmetros w 0, w 1 e w 2, a função f(u) separa o espaço de entradas em."— Transcrição da apresentação:

1 AULA03 PERCEPTRON (CONTINUAÇÃO)

2 Perceptron de duas entradas e um bias 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 f(u)

3 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 = – b) pontos em um lado da linha tem coordenadas tais que w 1. x 1 + w 2. x 2 < – c) pontos no outro lado da linha tem coordenadas tais que w 1. x 1 + w 2. x 2 >. Nota: bias b = - pois

4 Pontos 2x 1 +3x 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 Posição dos pontos em função da linha 2 x x 2 = 6 de delimitação. Exemplo x1x1 = 6 Linha: Acima: Abaixo: 2 x x 2 = 6 2 x x 2 > 6 2 x x 2 < 6

5 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. Conclui-se que um neurônio do tipo perceptron não implementa uma função ou-exclusivo ( constatado por Minsky & Papert, em 1969). Função xor

6 É 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: 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. significando que os dois pontos ficam num lado da linha L1.

7 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 )).

8 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).

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

10 Delimitação de 2 clusteres disjuntos

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

12 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.

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

14 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): 0.w w 1 +1.w 0 <0, saída y = 0 entrada (0,1): 1.w w 1 +1.w 0 <0, saída y = 0 entrada (1,0): 0.w w 1 +1.w 0 <0, saída y = 0 entrada (1,1): 1.w w 1 +1.w 0 >=0, saída y = 1. Essas inequações definem quatro planos que passam pela origem: 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

15 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.

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

17 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

18 Visualização de todas as funções linearmente separáveis no espaço de pesos 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). Plano 1 f(0,0) Plano 2 f(0,1) Plano 4 f(1,1) Plano 3 f(1,0) Plano 4 Plano 1 Plano 3 Plano 2

19 Projeção no plano 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. f14 = OR f1 = NOR f8 = AND f7 = NAND L1 L4 L3 L2

20 perceptrons com camadas escondidas 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. esfera dos vetores de entrada normalizados N1 N2 N3 N4 N3 N1 N2

21 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.

22 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.

23 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(W 2 ) onde W é o número total de parâmetros livres da rede.

24 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.w w 1 +1.w 0 = 0 entrada (0,1): 1.w w 1 +1.w 0 = 0 entrada (1,0): 0.w w 1 +1.w 0 = 0 entrada (1,1): 1.w w 1 +1.w 0 = 0 Se cada neurônio divide o espaço de pesos em 14 regiões, como 3 neurônios, = 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.

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

26 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.

27 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

28 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 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.

29 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) = = 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. 6 regiões novas R(m,n-1)=R(3,2) m+1 = 4 m = 3

30 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) = 2m Para n = 3, R(m,3) = m 2 -m+2

31 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.

32 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.

33 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 é 2n + 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 é é possível encontrar n que satisfaça F > N.

34 Visualização geométrica Sejam dois conjuntos de pontos a serem separados. Espaço de entrada sem bias 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

35 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 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 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.

36 Ilustração gráfica Configuração inicialApós correção com x 1 Após correção com x 3 Após correção com x 1 L

37 Convergência do algoritmo Se os conjuntos P e N são linearmente separáveis, o algoritmo de treinamento atualiza o vetor de pesos w t 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 w t, 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 =P U N -. 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 x, onde é uma constante. –O vetor peso pode também ser normalizado. Assumindo que uma solução existe, w* é a solução.

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

39 Cont. Se o vetor peso w* define uma separação linear absoluta entre P e N sabe- se que > 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. Vimos que: onde e

40 Cont. A indução diz que Lembrando que e tem-se O termo à direita cresce proporcionalmente a e se é 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. vimos que:


Carregar ppt "AULA03 PERCEPTRON (CONTINUAÇÃO). Perceptron de duas entradas e um bias Com os parâmetros w 0, w 1 e w 2, a função f(u) separa o espaço de entradas em."

Apresentações semelhantes


Anúncios Google