Você está na página 1de 30

Perceptron/Adaline

Prof. Anne Magly de Paula Canuto

Redes Neurais
Artificiais
Perceptrons e Adalines

Neurnios
Funo: receber entradas, computar funo
sobre entradas e enviar resultado para as
unidades seguintes

u x jwj
j 1

x1

w1

x2

w2

(u)
ff (xw)

wN

xN
3

Funes de ativao
Mais comuns

a(t ) = u(t)

a(t ) =

a(t ) = 1/(1 + e- u(t))

(sigmoide logstica)

a(t) = (1 - e-u(t))
(1 +e-u(t))

(tangente hiperblica)

(linear)

1 , se u(t) (threshold ou
0, se u(t) limiar)

Perceptrons e Adalines

Regras Simples de Aprendizado

Perceptrons e Adalines
Redes de uma nica camada
Unidades Lineares com Threshold (TLUs)
Perceptron => Rosenblatt, 1958

Unidades Lineares (ULs)


Adaline => Widrow e Hoff, 1960

Problemas de classificao
Dado um conjunto pr-especificado de
entradas, uma certa entrada pertence ou no
a este conjunto?
6

TLU - Threshold Linear Unit

a x i wi
1

y=

1, se a
0, se a
7

Algoritmo de aprendizado do
Perceptron (1/2)
1. Inicializar e o vetor de pesos w
2. Repetir
3. Para cada par do conjunto de
treinamento (x,t)
4. Atualizer o vetor de pesos para cada um
dos ns da rede segundo a regra
wi(t+1)= wi(t) + (t - o)xi
5. At o=t para todos os vetores
8

Algoritmo de aprendizado do
Perceptron (2/2)
Teorema da convergncia (Minsky e Papert,
1969)
O algoritmo converge dentro de um
nmero finito de passos para um vetor de
pesos que classifica corretamente todo o
conjunto de treinamento
Dado que o conjunto de treinamento
linearmente separvel
9

Gradiente Descendente e a Regra


Delta
Widrow e Hoff (1960) para Adalines
Uso do gradiente descendente para
buscar o vetor de pesos que melhor se
ajuste ao conjunto de treinamento
Independentemente do conjunto de
treinamento ser linearmente
separvel
10

Regra Delta
Considere a tarefa de treinar um perceptron
sem limiar (unthresholded), i.e., uma Unidade
Linear (UL):
y=w.x

(1)

Especifique uma medida de erro (funo de


custo) para o treinamento
E(w)=1/2 dD (td - od)2

(2)
11

Funo de Custo (1/2)


E(w)=1/2 dD (td - od)2 , em que
D o conjunto de treinamento
td a sada desejada para o exemplo d
od a sada da UL para o exemplo d
Caracterizamos E como uma funo dos pesos
w e no da sada linear o
o=w.x
D fixo durante o treinamento
12

Funo de Custo (2/2)

13

Minimizao do custo (1/3)


A funo E uma medidade objetiva
do erro preditivo para uma escolha
especifca de vetor de pesos
Objetivo: encontrar um vetor w que
minimize E
Soluo: usar tcnicas de gradiente
descendente

14

Minimizao do custo (2/3)


1. Escolha valores iniciais arbitrrios para os
pesos
2. Calcule o gradiente da funo de custo com
respeito a cada peso
3. Mude os pesos tal que haja um deslocamento
pequeno na direo de G
-G => Maior taxa de diminuio do erro

1. Repita passos 2 e 3 at que erro se aproxime


de zero
Como este algoritmo funciona?

15

Minimizao do custo (3/3)

Uma busca basedada no


gradiente descente
determina o vetor de peso
que minimiza E, comeando
com um vetor arbitrario
inicial

Modique o vetor
repetidamente, em passos
pequenos

Em cada paso, o vetor


alterado na direo que
produz a descida mais
acentuada (steepest
descent) ao longo da
superfie do erro

Continue at que um mnimo


global seja encontrado

16

Derivao da regra do gradiente


descendente (1/3)
Como podemos calcular a direo da descida
mais acentuada ao longo da superfcie do erro?
Calcule a derivada de E com respeito a cada
componente do vetor w
Gradiente E com respeito w
E(w) [E/w0 , E/w1 , ..., E/w0 ] (3)
Vetor de derivadas parciais
Especifica a direo que produz o
aumento mais acentuado em E
17

Derivao da regra do gradiente


descendente (2/3)
Visto que o gradiente especifica a direo de
maior crescimento de E, a regra do gradiente
:
w w + w, onde
w = -E(w) (4), onde
uma constante positiva - taxa de aprendizado
O sinal negativo fora o deslocamento do vetor
de peso na direo que E decresce
wi (t+1) wi(t) + wi
wi = - (E/wi) (5)
18

Derivao da regra do gradiente


descendente (3/3)
O vetor de derivadas E/wi que forma o gradiente
pode ser obtido derivando E:
E/wi = /wi 1/2 dD (td - od)2

= 1/2 dD /wi (td - od)2

= 1/2 dD 2 (td - od) /wi (td - od)

= dD (td - od) /wi (td - w.xd)

E/wi = dD (td - od)(-xid) (6), onde


xid denot um nico componente de entrada xi do
exemplo de treinamento d
wi (t+1) wi (t) + (td - od)xi (6) em (5) (7)
19

Algoritmo de Widrow e Hoff

Inicializar e o vetor de pesos w


Repetir
Inicializar wi com zero
Para cada par do conjunto de treinamento (x,t)
Calcule a sada o
Para cada peso wi das LUs
Calcule wi wi + (t - o)xi

Para cada peso wi das LUs


wi wi + wi
At que uma condio de trmino seja satisfeita
20

Observaes (1/2)

A estratgia do gradiente descendente


pode ser aplicada sempre que:
1. O espao de hipteses contm
hipteses parametrizadas contnuas
(e.g. os pesos w de uma LU)
2. O erro pode ser diferencivel com
relao a estes parmetros das
hipteses
21

Observaes (2/2)

Dificuldades prtica da estratgia do


gradiente descendente:
1. Convergncia para um mnimo local
pode ser muita lenta (vrias iteraes)
2. Se existir vrios mnimos locais na
superfcie de erro, no haver garantia
que o algoritmo encontrar o mnimo
22

Aproximao estocstica
Gradiente descendente incremental ou
gradiente descendente estocstico
Aproxima a busca do gradiente
descendente atualizando os pesos a
cada exemplo individual
wi = (t - o)xi
23

Gradiente descendente
estocstico

Inicializar e o vetor de pesos w


Repetir
Inicializar wi com zero
Para cada par do conjunto de treinamento (x,t)
Calcule a sada o
Para cada peso wi das LUs
Calcule wi wi + (t - o)xi

{Para cada peso wi das Lus wi wi + wi }


At que uma condio de trmino seja satisfeita
24

Gradiente descendente Padro X


Estocstico
O erro de cada exemplo acumulado antes da
atualizao dos pesos X Os pesos so atualizados
aps a apresentao de cada exemplo
O gradiente padro requer mais computao por cada
passo de atualizao dos pesos
Um taxa maior de aprendizagem pode ser utilizada
Em problemas com vrios mnimos locais, o
gradiente estocstico pode evitar a queda em um
desses mnimos
25

Perceptrons/Adalines (1/2)
Poder Computacional
Representam uma superfcie de deciso
atravs de um hiperplano
o=1 para exemplos situados em um lado
o=0 para exemplos situados no outro
lado
Exemplos linearmente separveis
Apenas funes linearmente separveis
(Minsky e Papert, 1969)

26

Perceptrons/Adalines (2/2)
Poder Computacional
Podem representar todas as funes Booleanas
primitivas (AND, OR, NAND e NOR)
No podem representar o XOR
Qualquer funo booleana pode ser representada
por um perceptron de duas camadas
Forma normal disjuntiva

Regresso Linear

27

Regra do Perceptron x
Regra Delta (1/3)

Atualizao dos pesos


1. baseada no erro da sada da rede
aps a aplicao do limiar
(thresholded output)
2. baseada no erro da sada da rede
sem a aplicao do limiar
(unthresholded output)
28

Regra do Perceptron x
Regra Delta (2/3)

Convergncia
1. Converge dentro de um nmero finito de passos
para um vetor de pesos que classifica
corretamente todo o conjunto de treinamento
Dado que o conjunto de treinamento seja
linearmente separvel

29

Regra do Perceptron x
Regra Delta (3/3)

Convergncia
1. Converge apenas assintoticamente para um vetor
de pesos com um erro mnimo, possivelmente
requererendo um nmero ilimitado de pasos

Independentemente de o conjunto de
treinamento ser linearmente separvel

30

Você também pode gostar