Вы находитесь на странице: 1из 40

AULA03

PERCEPTRON
(CONTINUAO)
Perceptron de duas entradas e um bias
w0=b
x0=+1 w0 f(u)

u y
x1 w1

x2 w2

f (u ) 1 se u 0
y f ( w1 x1 w2 x 2 w0 ), sendo
f (u ) 0 se u 0
Com os parmetros w0, w1 e w2, a funo f(u) separa o espao de
entradas em duas regies, usando uma linha reta dada por:
w1x1 + w2x2 + w0 = 0
Separao Linear
Sabe-se que se formarmos uma combinao linear de duas
variveis, e igual-la a um nmero, ento os pontos no espao
bidimensional podem ser divididos em trs categorias:

a) pontos pertencentes linha com coordenadas tais que


w1. x1 + w2 . x2 =

b) pontos em um lado da linha tem coordenadas tais que


w1 . x1 + w2 . x2 <

c) pontos no outro lado da linha tem coordenadas tais que


w1 . x1 + w2 . x2 > .

Nota: bias b = - pois

y f ( w1 x1 w2 x 2 w0 ), onde w0 b
Exemplo x2

2.0 (0.0,2.0) (1.0,2.0)


Pontos 2x1+3x2 posio
(x1 , x2 )
1.5 linha
(0.0, 2.0) 6 linha 2 x1 + 3 x2 = 6
(1.0, 1.0) 5 abaixo
(1.0,1.0) (2.0,1.0)
(1.0, 2.0) 8 acima 1.0
(2.0,0.66)
(2.0, 0.0) 4 abaixo
0.5
(2.0, 0.66) 6 linha
(2.0, 1.0) 7 acima (2.0,0.0) x1
0.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0

Posio dos pontos em funo da linha 2 x1 + 3 x2 = 6 de delimitao.


Linha: 2 x1 + 3 x2 = 6
Acima: 2 x1 + 3 x2 > 6 = 6
Abaixo: 2 x1 + 3 x2 < 6
Problema do XOR (ou-exclusivo)
No caso do XOR, no 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.
x2

(1,0) (1,1)

Funo xor

(0,0) (1,0)
x1

y=0 y=1

Conclui-se que um neurnio do tipo perceptron no implementa uma funo


ou-exclusivo ( constatado por Minsky & Papert, em 1969).
claro que nenhuma combinao linear ou linha reta pode ser traada tal
que as entradas (0, 0) e (1, 1) fiquem numa categoria e (0, 1) e (1, 0)
numa outra categoria, conforme demonstrao:

Algebricamente tem-se:

w1 .0 w2 .1 para o ponto (0,1), e


w1 .1 w2 .0 para o ponto (1,0).
significando que os dois pontos ficam num lado da linha L1.

Mas, somando as duas inequaes tem-se:

w1 .1 w2 .1
o que significa que (1,1) estaria no mesmo lado da linha L1, o que indesejvel.
PERCEPTRONS MULTICAMADAS
A funo XOR est alm da capacidade de um perceptron simples.
Contudo, um perceptron simples pode implementar funes lgicas elementares:
AND, OR e NOT.

Assim, se uma funo pode ser expressa como uma combinao dessas funes
lgicas elementares, ento essa funo pode ser implementada usando mais
neurnios.

Por exemplo, XOR pode ser expressa por: (x1 or x2 ) and (not (x1 and x2 )).

x1 x1 OR x2
y
AND

NOT
x2 x1 AND x2
Separao linear para XOR de duas
camadas
Em termos de separao linear (demarcao), isso equivale ao traado de
duas linhas.

A parte acima da linha L1 corresponde funo OR, e a parte


abaixo da linha L2 corresponde funo NOT AND.

A rea entre as duas linhas corresponde funo XOR, o que corresponde


rea ABCD, que contem os pontos (0,1) e ( 1,0).

x1 x1 OR x2
y
AND

NOT

x2 x1 AND x2
Delimitao de um cluster usando 3 separaes
no espao de entradas
x1
N1

y
N2 N4
x2
x2 100 L3
N3 L1 L2 L3

110 100
101
111 L1
010 011 001
x1

L2
Delimitao de 2 clusteres disjuntos

x2 L3
x1
N1
L2

N2 N7

L1
y
N3
N9
L6
N4

N5 N8 L4
L5 x1
x2 N6
Delimitao de um cluster circular
x2

x1

Infinitos neurnios na camada escondida


Dualidade entre o espao de entradas e espao
de pesos

x2 pesos
entrada x w2
para
f (x) = 1
classe
A
peso w
w1
no-classe
A x1
pesos
para
f(x) = 0
x0 w0
hiperplano hiperplano
de peso de entrada

Um valor no espao de entradas determina uma separao linear no espao de


pesos, e vice-versa.
Exemplos de pontos no espao de entrada
delimitando uma regio no espao de pesos
x2 x2 x2
(1,1)
(0,1)
(1,0) w2

x1 x1 x1

w2 w2 w2

w1+w2 >= 1 w1 < 1 x w1


x x w2 <1
w1 w1 w1

x1w1 +x2w2 >= 1 x1w1 +x2w2 < 1 x1w1 +x2w2 < 1 Inequaes para a funo
AND, com w0 = -1
Entrada = (1,1) Entrada = (1,0) Entrada = (0,1)

Equao das linhas: x1w1 +x2w2 + w0=0


Delimitao de regies no espao dos
pesos
Se o interesse procurar os vetores pesos para uma funo AND,
os pesos w0, w1, e w2 devem obedecer as seguintes inequaes:

entrada (0,0): 0.w2 + 0.w1 +1.w0 <0, sada y = 0


entrada (0,1): 1.w2 + 0.w1 +1.w0 <0, sada y = 0
entrada (1,0): 0.w2 + 1.w1 +1.w0 <0, sada y = 0
entrada (1,1): 1.w2 + 1.w1 +1.w0 >=0, sada y = 1.

Essas inequaes 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
Poltopo para a funo AND
Plano 1: w0 = 0
Plano 2: w2 + w0 = 0
Plano 3: w1 + w0 = 0 w1
Plano 4: w2 + w1 + w0 = 0
soluo para
w0 = -0.5
-0.5
w2
Para a funo AND: soluo para
w0 = -1
-1
w0 < 0
w1 + w0 = 0
w2 + w0 < 0
w1 + w0 < 0
w2 + w0 = 0 w0
w2 + w1 + w0 >= 0 w2 + w1+ w0 = 0

Existem infinitas solues para a funo AND, delimitadas pelo poltopo.


A figura mostra uma regio triangular de solues para w0 = -1 e w0 = -0.5.
Superfcie de erro para AND no espao de pesos
Erro = 0
erro com w0 = -1

1
1
0
w2
0
0
w1
1
Passos iterativos
nmero
durante o
de erros w2 w2 w(0)
Treinamento
1 2 w(1)
2
w* o vetor
0 w (3) = w* w(2) soluo
1
1
w1 w1

2
Funes booleanas de duas variveis
As 16 possveis funes de duas variveis so:
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
Visualizao de todas as funes
linearmente separveis no espao de pesos

1100 0101 0101 1100


1101 0100
Plano 3 Plano 2
f(1,0)

1110 1111 0111 0001 0000 1000

Plano 2
1011 0010
f(0,1) 0011 0011 1010
1010
Plano 3
Plano 1 Plano 1
Plano 4 Plano 4
f(0,0)
f(1,1)
Considerando-se os pesos normalizados pode-se visualizar todas as 14 funes
linearmente separveis utilizando 4 planos de separao.

Como tem 16 funes booleanas no caso de entrada bidimensional (x1, x2), as duas
funes que faltam so XOR e NOT-XOR (coincidncia).
Projeo no plano L3

L4
f15
L1
raio de f13
projeo A
f5 f12
f4

NAND NOR f0 AND OR

f2
f3 f10
A' plano de
projeo
f11

f14 = OR L2
f1 = NOR 14 regies
f8 = AND
f7 = NAND

Nota-se que: a) com 3 planos de separao, obtem-se 8 regies.


b) com 4 planos de separao, obtem-se 14 regies.
perceptrons com camadas escondidas
N3
x2 plano 3

N1 101 N1
plano 1
100
111
N4 110
N2 000
011 010 N2
x1
plano2

N3 esfera dos vetores de


entrada normalizados

Nota-se que cada neurnio da camada escondida divide o espao de entrada


em duas hemisferas, considerando vetores de entrada normalizados.

As sadas da camada escondida so introduzidas no neurnio de sada,


que dependendo da regio da esfera computa como 1 ou 0.
Mximo nmero de elementos no espao de
entrada separveis genericamente
Dado um subconjunto S de um espao 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 treinvel.

Uma questo importante qual o mximo nmero de elementos de um espao de


entrada que uma rede pode classificar, genericamente.

No caso do perceptron de duas entradas esse nmero 3, pois dados 3 pontos no


espao de entrada sempre possvel separar esses pontos usando uma linha
reta.
x2 x2 x2

x1 x1 x1

Para o caso de 4 elementos nem sempre isso possvel, como por exemplo,
o caso do XOR.
Rede com dois neurnios na camada escondida
Nesse caso, cada neurnio da camada escondida divide a superfcie da
esfera em dois hemisfrios. Portanto, os dois neurnios dividem a superfcie
da esfera em 4 regies, codificadas em duas sadas.

Cada uma dessas sadas so recebidas pelo neurno de sada, que por sua
vez tem a capacidade de realizar 14 funes.

O problema do XOR pode ser resolvido usando uma dessas 14 funes e em


geral, quaisquer 4 elementos do espao de entrada podem ser divididos em
duas classes usando dois neurnios na camada escondida.

Contudo, 8 elementos no espao de entrada no so possveis de serem


divididos com dois neurnios escondidos, genericamente.
x2

x1
Dimenso de Vapnik-Chervonenkis

O nmero mximo de elementos d de um espao de entrada, que


podem ser sempre separados linearmente, chamado de dimenso
de Vapnik-Chervonenkis, ou simplificadamente dimenso VC.

Segundo Cover (1968) e Baum e Haussler (1989), a dimenso VC,


para uma rede feedforward constituda de neurnios com uma funo
de ativao degrau, de O(WlogW) onde W o nmero total de
parmetros livres da rede.

Segundo Koiran e Sontag (1996) a dimenso VC, para uma rede


feedforward constituda de mltiplas camadas cujos neurnios
utilizam a funo de ativao sigmide, de O(W2) onde W o
nmero total de parmetros livres da rede.
Regies no espao de pesos para redes de
2 neurnios escondidos de 2 entradas
Para 2 neurnios escondidos e 1 neurnio de sada, tem-se 9 parmetros livres:
2 pesos de entrada e 1 bias para cada neurnio.

Cada neurnio divide o espao 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 neurnio divide o espao de pesos em 14 regies, como 3 neurnios,


14.14.14 = 2744 regies ou poltopos so gerados.

Isso significa que o nmero de regies de solues para uma esfera booleana
de nove dimenses de 2744, sendo que 16 dessas regies so solues da
funo XOR.
Possveis combinaes para XOR
usando 2 neurnios escodidos
f1 f7 f1 f8
f4 f2 f1 f1
f7 f1 f8 f1

f2 f4 f2 f11
f14 f14 f13 f11
f4 f2 f11 f2

f4 f13 f7 f14
f13 f11 f8 f8
f13 f4 f14 f7

f8 f14 f11 f13


f2 f4 f7 f7
f14 f8 f13 f11
Possveis combinaes para XOR
usando 2 neurnios escodidos
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 f0

1 f4 f1 f1

2 f14 f13 f2
A figura mostra a distribuio 3 f3
de solues para XOR, usando 4 f14 f13 f4
uma rede de 2x1 neurnios. 5 f5

6 f6
Dependendo de onde o algoritmo 7 f2 f8 f7
de busca comea (pesos iniciais) 8 f1 f2 f8
a soluo pode ser mais fcil, 9 f9
ou difcil. 10 f10

11 f11 f7 f11

12 f12

13 f11 f7 f13

14 f8 f4 f14

15 f15

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15


Contagem do nmero de regies
Quantas regies so definidas usando m hiperplanos de dimenso n-1, num
espao n-dimensional de pesos? (consideramos apenas os hiperplanos
passando pela origem) hiperplano
w1

regio 1
Caso bi-dimensional ( n = 2) : o hiperplano w0
uma reta.
w0 regio 2
m =1
x1 w1

w1
regio 1

Cada novo hiperplano divide o cone definido pelos regio 4 w0


hiperplanos anteriores gerando mais 2 regio 2
novas regies.
m=2 regio 3
Contagem do nmero de regies (cont.)

Caso tri-dimensional (n = 3): hiperplano um plano.

Para os casos de 1, 2 e 3 hiperplanos, cada hiperplano aumenta o


nmero de regies por um fator 2:
w0
para m = 1 2 regies
para m = 2 4 regies x1 w1
para m = 3 8 regies
(m = nmero de hiperplanos) x2
w2

Generalizando, n hiperplanos de dimenso n-1, em espao n-


dimensional, define 2n regies.

Para o caso de m = 4, vimos que tem 14 regies, ou seja:


o quarto hiperplano consegue dividir no mximo 6 das 8 regies
previamente geradas por 3 hiperplanos.
Proposio 1
Seja R(m,n) o nmero de regies definidos por m hiperplanos de dimenso n-1, em posio
genrica, num espao de pesos n-dimensional. Inicia-se com R(1, n) = 2 para
e R(m,0) = 0, m 1. Para n 1 e m > 1 tem-se
R(m,n) = R(m-1,n) + R(m-1,n-1)
n 1
A prova por induo em m:
a) Para m = 2 e n = 1, vlida.
b) Para m = 2 e n 2 sabe-se que R(2,n) = 4 e a frmula vlida novamente:
R(2,n) = R(1,n) + R(1,n-1) = 2 + 2 = 4
c) Agora, m + 1 hiperplanos de dimenso n-1 so dados em espao n-dimensional e
posio genrica ( n 2 ). Da hiptese de induo segue que os primeiros m hiperplanos
definem R(m,n) regies em espao n-dimensional. O hiperplano m+1 intersecta os
primeiros m hiperplanos, em m hiperplanos de dimenso n-2 (se todos estiverem em
posio genrica). Esses m hiperplanos dividem o espao (n-1)-dimensional em R (m,n-1)
regies. Aps a separao com o hiperplano m + 1, exatamente R(m,n-1) novas regies
so criadas. O novo nmero de regies portanto R (m+1,n) = R(m,n) + R(m,n-1) e a
prova termina.

m=3 m+1 = 4

6 regies novas
R(m,n-1)=R(3,2)
Clculo recursivo de R(m,n)
dimenso
n
m 0 1 2 3 4

1 0 2 2 2 2

2 0 2 4 4 4

3 0 2 6 8 8

4 0 2 8 14 16

5 0 2 10 22 30

Nota-se que:
a) R(m,n) = 2m para m n , isto , o nmero de regies cresce
exponencialmente at a dimenso do espao.
b) Aps 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
Proposio 2
Para n 1 , R(m,n) um polinmio de grau n-1 na varivel m.

A prova por induo em n:

Denotando P(a,b) um polinmio de grau b na varivel a. O polinmio explicitamente dado


para n = 2. (R(m,2) = 2m))
Para a dimenso n + 1 e m = 1 sabe-se que R(1, n+1) = 2. Se m > 1 ento
R(m,n+1) = R(m-1,n+1) + R(m-1,n)

Se R (m-1, n) um polinmio de grau n -1 na varivel m segue que


R(m,n+1) = R(m-1,n+1) + P(m,n-1)
Repetindo essa reduo 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) ento um polinmio de grau n na varivel m .

n 1
m 1
Uma frmula til para R(m,n) R (m, n) 2
i 0 i
cuja validade pode ser provada tambm por induo.
Contagem do nmero de regies (cont.)
n 1
m 1
A frmula R (m, n) 2
possibilita o clculo do nmero de regies
i 0 i
formados por hiperplanos em posies genricas.
No caso de funes booleanas, as entradas sendo booleanas, os hiperplanos no se
posicionam genericamente.
O nmero de regies, definido por um espao 4-dimensional por 8 hiperplanos,
128. Mas existem somente 104 funes computveis por um perceptron de 3
entradas, e portanto 4 pesos e 8 possveis vetores de entrada.
O nmero R(m,n) deve ser interpretado como um limite superior sobre o nmero de
funes computveis para entradas binrias.

Comparao do nmero de funes booleanas e funes computveis de


n entradas com dois limites superiores diferentes.

n 2
1
n 22 T ( 2 n , n) R ( 2 2 , n) 2 n / n!
1 4 4 4 4
2 16 14 14 16
3 256 104 128 170
4 65.536 1.882 3.882 5.461
5 4.3 x10 9 94.572 412.736 559.240
Conseqncias
Primeira consequncia:
O nmero de funes computveis num espao n-dimensional cresce polinomialmente
enquanto que o nmero de possves funes booleanas cresce exponencialmente.
A relao entre funes computveis e o total de funes lgicas tende a zero com o
incremento de n.
Segunda consequncia:
Problemas insolveis para redes com um nmero pr-determinado de unidades
podem ser fabricadas com o incremento do nmero de linhas de entrada.
Exemplo:

Para os neurnios escondidos, o nmero de entradas


considerando o bias n, e o nmero de pesos da rede
2n + 3. O nmero de diferentes entradas 2n-1.
O nmero de regies N no espao de pesos dado por
N R (2 n 1 , n). R (2 n 1 , n). R(4,3)
2 ( n 1) 2
Isso significa que N limitado por uma funo da ordem de 2
2n
Se o nmero F de funes booleanas de n entradas 2 possvel
encontrar n que satisfaa F > N.
Visualizao geomtrica
Sejam P 2 e N 2 dois conjuntos de pontos a serem separados.

x2 x0

p1
vetores em
p2 p2
P
n1
p1 x2
x1
n1
n2
vetores em n2
N x1

Espao de entrada sem bias Espao de entrada com bias

Um vetor peso w deve ser encontrado tal que w.x > 0 para todo x P
e w.x < 0 para todo x N
O algoritmo de treinamento do perceptron comea com um vetor w0
aleatoriamente escolhido.

Se o vetor x P tal que w.x < 0 significa que o ngulo entre os dois
vetores maior que 900. O vetor peso deve ser rotacionado na direo de x para
que x fique na metade positiva do espao definido por w. Isso pode ser feito
adicionando x a w, como o algoritmo de treinamento faz.

Se o vetor x N tal que w.x > 0 significa que o ngulo entre os dois
vetores menor que 900. O vetor peso deve ser rotacionado na direo
contrria a x para que x fique na metade negativa do espao definido por w. Isso
pode ser feito subtraindo x de w.

Se existe soluo ela encontrada aps um nmero finito de passos.

Uma boa heurstica iniciar o peso com a mdia dos vetores de entrada
positivos menos a mdia dos vetores de entrada negativos.
Ilustrao grfica
L
x1
x1
w0
L
w1

x2
w0 x2
x3 x3

Configurao inicial Aps correo com x1


L L
x1 x1

w3

w2
x2 x2
x3 x3

Aps correo com x3 Aps correo com x1


Convergncia do algoritmo
Se os conjuntos P e N so linearmente separveis, o algoritmo de
treinamento atualiza o vetor de pesos wt um nmero finito de vezes at a
convergncia.
Em outras palavras, se os vetores em P e N so testados ciclicamente, um
aps o outro, um vetor peso wt, que separa os dois conjuntos, encontrado
aps um nmero finito de passos t.

Para a prova, so feitas 3 simplificaes sem prejuzo 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 vlido para qualquer outro vetor x, onde uma constante.
O vetor peso pode tambm ser normalizado. Assumindo que uma soluo
existe, w* a soluo.
Prova da convergncia
Assume-se que aps 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 entre wt+1 e w*


w * .w t 1
cos
w t 1
Para a expresso do numerador sabe-se que
w * .w t 1 w * . (w t p i )
w * . w t w * .p i
w * .wt
com min{w * .p | p P '}
Cont. Vimos que: cos
w * .w t 1
w t 1
e w * .w t 1 w * . w t onde min{w * .p | p P '}
Se o vetor peso w* define uma separao linear absoluta entre P e N sabe-
se que > 0. Por induo obtem-se

w * .w t 1 w * .w 0 (t 1)
Por outro lado para o termo do denominador sabe-se que
2
w t 1 (w t p i ).(w t p i )
2 2
wt 2w t .p i p i

Se w t .p i negativo ou zero (caso contrrio no teria sido feita a correo)


deduz-se que
2 2 2
w t 1 wt pi
2
wt 1
pois os vetores em P so normalizados.
Cont. vimos que:
2
w t 1 w t
2
1

A induo diz que 2 2


w t 1 w0 (t 1)
Lembrando que
w * .w t 1 w * .w t 1 w * .w 0 (t 1)
cos e
w t 1
w * .w 0 (t 1)
tem-se cos
2
w0 (t 1)
O termo direita cresce proporcionalmente a t e se positivo
pode tornar-se arbitrariamente grande.

Contudo, se cos 1 , t deve ser limitado por um valor mximo.


Portanto, o nmero de correes para o vetor peso deve ser finito.

Вам также может понравиться