• Nenhum resultado encontrado

Redes Neurais Artificiais

N/A
N/A
Protected

Academic year: 2022

Share "Redes Neurais Artificiais"

Copied!
47
0
0

Texto

(1)

Prof. Dr. Hugo Valadares Siqueira Aula 8 – Perceptron e Adaline

Redes Neurais Artificiais

(2)

Introdução

•Classificador:

Recebe vetores de atributos como entrada;

Atribui cada vetor a uma das classes C1, C2,..., Cq;

x1 x2 ...

xD

Entrada:

vetor de atributos

Classificador

y1 y2 ...

yq

Saída:

classificação

(3)

x1 x2 x3

Exemplo ou padrão pode ser representado, abstratamente, como um ponto no espaço de atributos

Espaço de entradas ou de atributos

• Exemplo: vetor entrada com três atributos:

Introdução

Exemplo ou padrão pode ser representado, abstratamente, como um ponto no espaço de atributos

(4)

Vetor de atributos (exemplos)

Composto por vários atributos:

Discretos;

Contínuos;

Dimensão do vetor = número de atributos (D):

2 atributos (2D) x 3 atributos (3D)

Introdução

(5)

• Em geral os classificadores de padrões particionam o espaço de entradas em volumes, chamados regiões de decisão;

• Todos os vetores de atributos dentro de uma mesma região são atribuídos a uma mesma categoria (classe);

• Regiões são separadas por superfícies chamadas fronteiras de decisão (FD);

Classificadores

Representam pontos onde não é possível definir a classe de um padrão.

(6)

Atributos:

Peso;

Altura;

Padrões (ou exemplos):

pontos no espaço (peso, altura).

Exemplo: classificar entre bailarinas e halterofilistas

Peso

Altura Bailarina

Halterofilista

(7)

Peso

Altura

Bailarina

Halterofilista FD

C1

C2

• Exemplo da FD produzida por um classificador:

Classificadores

(8)

•Agora, imagine o seguinte problema de classificação:

Seria mais intuitivo e simples a utilização de um discriminante linear:

Utiliza uma combinação linear das entradas para produzir a FD;

Transformação linear de um problema multidimensional em um problema unidimensional.

•A fronteira de decisão é traçada nos pontos em que a expressão de FD é igual a zero.

Fronteira de decisão linear

x2

x1

x2

x1

FD:

C1

C2

0 2

2 1

0 w1x w x w

(9)

•Pode ser dado pela expressão:

na qual wi é o peso (ponderação) da i-esima entrada xi e w0 é o bias:

•Desafio: encontrar o conjunto de pesos que separe adequadamente as classes (fronteira: u=0).



2 1

classe à

o relacionad é

entradas de

etor ,

0

classe à

o relacionad é

entradas de

etor ,

0

C v

u

C v

u

Discriminante linear

(10)

Fronteiras Linear x Não-linear

•Alguns problemas admitem fronteira de decisão linear, outros não;

•Logo, no último caso, uma única reta não é capaz se separar

adequadamente as classes.

(11)

Desenvolvido por Rosemblat (1958);

Discriminante linear;

Mantém uma certa relação com o classificador

Bayesiano;

Quando o ambiente é gaussiano, o classificador Bayesiano se reduz a um classificador linear;

Problema de reconhecimento de padrões visuais;

Similar ao ADALINE

(ADAptive LINear Element).

Perceptron

(12)

Entradas Pesos Saída

w2 yk

 

 

 

 

0

1

)

( u x w w

y

m

i

i i k

k

 

yk : ativação (saída do neurônio k) uk : ativação interna do neurônio k w0: bias

w0

(.)

x2 x1

xm

Função de ativação uk

Junção aditiva

Perceptron - Diagrama de blocos

(13)

Perceptron visto com um grafo orientado completo:

x1 x0 =+1

xm

w0 w1

wm

(.)

yk uk

Regra 1: um sinal flui ao longo de um elo somente no sentido definido pela seta do elo;

Regra 2: um sinal nodal é igual à soma algébrica de todos os sinais que entram no nó via os elos incidentes;

Regra 3: O sinal em um nó é transmitido para cada elo de saída deste nó, sendo a transmissão inteiramente independente das funções de transferência dos elos de saída.

(14)

• Perceptron visto com um grafo orientado parcialmente completo (ou arquitetural):

Nós de fonte fornecem sinais de entrada para o grafo;

Cada neurônio é representado por um único nó chamado de nó computacional;

Os elos de comunicação que conectam os nós de fonte aos nós computacionais não carregam pesos; eles meramente fornecem direções de fluxo de sinal no grafo.

x0= +1

x1

xm

yk

(15)

• Como foi visto, a saída do k-ésimo Perceptron é dada por:

• Fazendo:

• Podemos escrever a ativação interna do neurônio k de forma vetorial como:

• E a sua saída:

na qual x é o vetor de entradas, w é o vetor de pesos (indica as forças da conexão das sinapses), w0 é o bias e (.) é a função de ativação do neurônio.

xm

x x x

3 2 1

x

wm

w w w

3 2 1

w

0

1

)

(u x w w

y

m

i

i i k

k

0

T w

ukw x

0

) T

(u w

yk k w x

(16)

Costuma-se usar a função sinal como função de ativação no perceptron:

Assim, regra de decisão para a classificação de um ponto x é dada por:

2 1

classe à

o relacionad é

, 1

classe à

o relacionad é

, 1

C y

C y

x

 

x

1 se 0

0

se 1

0 T

0 T

w u

w u u

y w x

x

w

Perceptron

y

u 1

-1

 

1 se 0

0 se

1

u u u

y

(17)

•Função lógica AND (tabela verdade):

x1 x2 Classe

0 0 C2

0 1 C2

1 0 C2

1 1 C1

•Deve-se classificar os padrões de entrada em duas classes (C1 e C2 );

Cada padrão de entrada tem dois componentes (x1 e x2);

•Considere os pesos: w1=1 , w2=1 , w0 = -1,5.

Exemplo 1

(18)

• Função AND: w1=1 , w2=1 , w0 = -1,5.

FD (hiperplano) → u 0 w1x1 w2x2 w0 1x1 1x2 1,5

-0.5 0 0.5 1 1.5 2

-0.5 0 0.5 1 1.5 2

x1

x 2

C1

C2

 

1 se 0

0

se 1

0 T

0 T

w u

w u u

y w x

x

w

2 1

classe à

o relacionad é

, 1

classe à

o relacionad é

, 1

C y

C y

x x

• Os pontos do hiperplano são calculados para u=0;

• Ex:

x1=1,0 e x2 = 0,5;

x1=0,5 e x2 = 1,0;

x1=1,5 e x2 = 0;

x1=0 e x2 = 1,5.

(19)

•Em um perceptron, a FD é dada por um hiperplano definido por:

wTx + w0 = 0

•O hiperplano é:

uma reta no caso bidimensional (duas variáveis de entrada);

um plano no caso tridimensional;

•Os pesos e o bias do perceptron

definem a localização do hiperplano no espaço das entradas;

O bias (w0) desloca a fronteira de decisão em relação à origem.

Hiperplano

(20)

Se x(1)=[x1(1) x2(1)] e x(2) =[x1(2) x2(2)] são dois pontos no hiperplano, então:

u = 0 = wT x(1) + w0 = wT x(2) + w0 ou

wT(x(1) - x(2)) = 0

2 0 2

T

w w

x

w w

l  

Localização do Hiperplano

Assim, podemos concluir que o vetor w é perpendicular a

qualquer vetor contido no hiperplano;

Além disso, a distância normal da origem até o hiperplano é dada por:

x2

x1

2 0

w l w

w

u = wTx + w0 = 0

(21)

•Suponha que as variáveis de entrada se originem de duas classes C1 e C2 linearmente separáveis;

•O problema do aprendizado do perceptron (treinamento) consiste em encontrar um conjunto de pesos e bias que

definem um hiperplano que separe linearmente os vetores de entrada das classes C1 e C2;

Isto é, um vetor de pesos w e um bias w0 tal que:

2 0

T

1 0

T

classe à

e pertencent todo

para

, 0

classe à

e pertencent todo

para

, 0

C w

C w

x x

w

x x

w

Treinamento

(22)

•Para isso, um conjunto com padrões para o treinamento do perceptron é definido:

Conjunto de treinamento T;

Conjunto de pares: entrada x(n) e saída desejada d(n);

O conjunto de treinamento T é formado por dois subconjuntos:

Treinamento

T1 composto por vetores de entrada que pertencem à

classe C1;

T2 composto por pares entrada que pertencem à classe C2.

(23)

•Antes de apresentarmos a estratégia de treinamento, vamos definir o padrão de treinamento e o vetor de pesos na n-

ésima iteração do algoritmo como:

•Note que o bias agora é visto como um peso;

•A saída do k-ésimo neurônio será dada por:

 

n

u

 

n

     

n n

yk k w Tx

Treinamento

(24)

Se o padrão de treinamento x(n) é corretamente classificado

utilizando-se o vetor de pesos w(n) calculado na n-ésima iteração do algoritmo, então o vetor de pesos não é corrigido, ou seja:

Caso contrário, o vetor de pesos é atualizado de acordo com:

na qual (n) é a taxa de aprendizagem, que controla o ajuste aplicado ao vetor de pesos na iteração n;

Se (n) = > 0 , na qual é uma constante, temos uma regra de adaptação com incremento fixo.

       

       

2 T

1 T

classe à

pertence e

0 se

, 1

classe à

pertence e

0 se

, 1

C n

n n

n n

C n

n n

n n

x x

w w

w

x x

w w

w

Treinamento – 2 classes

             

             

1 T

2 T

classe à

pertence e

0 se

, 1

classe à

pertence e

0 se

, 1

C n

n n

n n

n n

C n

n n

n n

n n

x x

w x

w w

x x

w x

w w

(25)

Usando-se a função sinal como ativação e considerando-se a taxa de aprendizagem fixa, podemos simplificar a regra de ajuste de pesos através de:

na qual

e

Detalhes de implementação em Silva et al., pág. 64

   

 

2 1

classe à

pertence se

, 1

classe à

pertence se

, 1

C n

C n n

d x

x

n

w

 

n

d

   

n y n

x

 

n

w 1

               

1 se 0

0

se 1

T T T

n n

n n n

n n

y w x

x x w

w

Treinamento

(26)

•Proposta por Rosenblatt em 1958;

•Regra de adaptação com incremento fixo:

•Guarda uma certa semelhança com a Regra Delta (ADALINE);

•A Regra Delta utiliza o conceito do gradiente descendente do erro médio quadrático.

Treinamento do Perceptron

(27)

Algoritmo perceptron ( XT , dT , ) // inicialização dos pesos

w 0 n 1 faça

// ativação do neurônio (saída) y (n)   ( w T x (n) )

// ajuste de pesos

w w + [ d (n) – y (n) ] x (n) n n+1

enquanto ( erro na classificação não é aceitável )

(28)

•No algoritmo anterior, o conjunto de treinamento T tem N padrões, ou seja:

•O vetor de entradas x(n) e a saída desejada d(n) podem ser obtidas a partir de XT e dT através de:

x(n) = xt, d(n) = dt na qual t = mod(n-1,N)+1

•O erro é dado por: e

     

n d n y n

(29)

•Deve se restrita ao intervalo 0 <

≤ 1

baixa:

adaptação mais lenta;

a mudança dos pesos é mais estável;

alta:

adaptação mais rápida;

a mudança dos pesos é menos estável;

Escolha da taxa de aprendizagem 

(30)

Fronteira de decisão

Durante treinamento Eventuais fronteiras após a convergência

(31)

Treine o perceptron para o problema de classificação da função AND:

Padrão x1 x2 Classe d

1 0 0 C1 -1

2 0 1 C1 -1

3 1 0 C1 -1

4(N) 1 1 C2 1

x0(n) = +1 x1(n)

x2(n)

y

Exemplo 2

(32)

•Solução computacional: função AND

•Taxa de aprendizagem:

= 0,01

Columns 1 through 8

0 0.0200 0.0200 0.0200 0 0.0200 0.0400 0.0400 0 0 0 0 -0.0200 -0.0200 -0.0200 -0.0200 0 0 0 0 -0.0200 -0.0200 0 0 Columns 9 through 16

0.0200 0.0200 0.0400 0.0600 0.0400 0.0400 0.0400 0.0600 -0.0400 -0.0400 -0.0400 -0.0200 -0.0400 -0.0400 -0.0400 -0.0200 -0.0200 -0.0200 0 0 -0.0200 -0.0200 -0.0200 -0.0200 Columns 17 through 19

0.0400 0.0400 0.0600 -0.0400 -0.0400 -0.0400 -0.0400 -0.0400 -0.0200

Pesos (incluindo bias)

0 2 4 6 8 10 12 14 16 18

0 0.5 1 1.5 2 2.5 3

iteracao

erro medio quadratico

Exemplo 2

n

w

 

n

d

   

n y n

x

 

n

w 1

(33)

• Iteração 18: Erro médio quadrático = 0

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4

-0.5 0 0.5 1 1.5

x1

x2

C1 C2

Exemplo 2

Equação final da FD:

u = wTx + w0 = 0

0,06x1 - 0,04x2 - 0,02 = 0

Ponto pertencente ao hiperplano:

x = [1 1].

FD: u = 0 = wTx + w0

(34)

1

2 3

4 5

6 7

8

• Fronteiras obtidas por iteração:

Exemplo 2

(35)

Treine o perceptron para o problema de classificação da função OR:

Padrão x1 x2 Classe d

1 0 0 C1 1

2 0 1 C2 -1

3 1 0 C2 -1

4(N) 1 1 C2 -1

Exemplo 3

(36)

A convergência da regra de adaptação com incremento fixo para o perceptron pode ser provada;

As provas de convergência são em geral apresentadas para igual a 1;

O valor de não é importante, desde que seja positivo;

Valores de diferentes de 1 meramente escalam os vetores de entrada sem afetar sua separabilidade;

Teorema da Convergência para a regra de adaptação com incremento fixo:

“Sejam os subconjuntos de vetores de treinamento T1 e T2 linearmente separáveis. Suponha que as entradas apresentadas ao perceptron se originem destes dois subconjuntos. O perceptron converge após no iterações, significando que

w(no) = w(no+1) = w(no+2) = ...

é a solução para no ≤ nmax .”

Prova: ver [HAYKIN, 2001], Seção 3.1, p. 163-169.

Perceptron – prova de convergência

(37)

• Problema de classificação da função XOR:

Padrão x1 x2 Classe d

1 0 0 C2 -1

2 0 1 C1 1

3 1 0 C1 1

4(N) 1 1 C2 -1

Exemplo 3

1

0 x2

x1

0 1

(38)

Problema XOR

(39)

•O perceptron não consegue resolver problemas de classificação que não são linearmente separáveis;

•Exemplo: função XOR;

•Este problema advém do fato de cada perceptron gerar apenar um hiperplano (e consequentemente uma FD);

•É possível gerar mais de um hiperplano se utilizarmos mais de um perceptron (neurônio) em uma única camada;

•No entanto, ainda teríamos o problema de como associar as diferentes regiões produzidas pelas FD com as diferentes

classes;

•Então, como seria possível resolver este problema?

Exemplo 3 – Função XOR

(40)

ADALINE

A Adaline (ADAptative LInear NEuron) foi idealizado por Widrow e Hoff em 1960;

Elaborado quase simultaneamente ao Perceptron;

É um clássico modelo de neurônio que permite execução de operações de soma ponderada e posterior comparação a um limiar;

Permitiu o uso de redes neurais em problemas industriais;

Pode ser usado para tarefas de classificação e regressão;

O Adaline se assemelha ao Perceptron, possuindo apenas um neurônio;

A composição de vários Adaline forma uma rede chamada MADALINE;

(41)

• A saída do Adaline é dada por:

na qual x é o vetor de entradas, w é o vetor de pesos (indica as forças da conexão das

sinapses), w0 é o bias e (.) é a função de ativação do neurônio;

• Entretanto, o ajuste ocorre antes da aplicação da função de

ativação, em função do erro de sua saída linear (líquida):

sendo y um valor contínuo;

Adaline

0

1

)

(u x w w

y

m

i

i i k

k

• Isto leva a uma função custo a ser

minimizada que é quadrática nos pesos de entrada → convergência pelo método do gradiente.

(42)

Treinamento

Regra Delta – algoritmo LMS

na qual se inclui o bias no vetor w;

Como visto, é uma versão

estocástica do método do gradiente descendente;

Visa reduzir a diferença entre a saída desejada (d) e a resposta contínua da rede (y);

O comportamento típico é a redução do erro em função dos pesos, como mostra a figura;

O critério de parada mais usado é quando se alcança um valor

pequeno do MSE.

nw n

d   n y n

x n

w 1

Os pesos são atualizados para cada amostra k de treinamento;

Comparando-se como método do gradiente descendente, o LMS aproxima a derivada do erro quadrático médio por:

(43)

Superfície de erro e otimização

Exemplo de convergência: erro em função dos pesos e bias;

(44)

O treinamento muda o

valor dos pesos em relação a todas as amostras

disponíveis para este fim;

O processo de

convergência pode seguir (para dois atributos) como a figura dos hiperplanos:

Considerações sobre o treinamento

O comportamento do erro segue aproximadamente a figura do Eqm;

Note que ele é descendente e tende à estabilização.

(45)

Adaline x Perceptron

Ambas são arquiteturas feedforward;

A função de ativação tipicamente também é a bipolar;

Classificadores de 2 classes;

As classes devem ser linearmente separáveis;

Algoritmo de treinamento do Adaline altera os pesos dos neurônios com vistas a diminuir o erro instantâneo;

A principal diferença entre as propostas é:

Perceptron: ajusta os pesos somente quando um padrão é classificado incorretamente e o erro assume um dos seguintes valores: -1 ou +1 (função bipolar);

Adaline: utiliza a regra Delta para minimizar o MSE após cada padrão ser apresentado, ajustando os pesos proporcionalmente ao erro, o qual possui valores contínuos.

(46)

No Perceptron, simplesmente usamos os rótulos de classe previstos para atualizar os pesos;

No Adaline, usamos uma resposta contínua;

O Adaline usa valores previstos contínuos (a partir da entrada líquida) para aprender os coeficientes do modelo;

É mais "poderoso", pois nos dizem por "quanto" estávamos certos ou errados.

Adaline x Perceptron

(47)

No caso do Adaline munido da regra Delta, a fronteira de decisão alcançada é sempre a mesma, independente dos valores iniciais dados ao vetor de pesos;

Isto porque a FD está localizada no ponto ótimo do ponto de vista dos mínimos quadrados dos erros;

Como o Perceptron segue a regra de Hebb, o qual considera a resposta produzida pela apresentação individual de cada amostra de treinamento,

qualquer hiperplano que separe as classes é considerado igualmente adequado:

Considerações sobre o treinamento

Isso significa que o treinamento do Perceptron é susceptível aos valores iniciais dos pesos;

Logo, o Adaline é mais robusto com relação à possíveis ruídos nos dados.

Referências

Documentos relacionados

Além de diferenças na expressão de MMPs sob o efeito da finasterida, este estudo mostrou que o processo de atrofia glandular induzido pela finasterida envolve diferenças de peso

O objetivo desta dissertação é analisar a associação entre autopercepção da imagem corporal e estado nutricional com autoestima corporal em adolescentes, segundo sexo e faixa

Apesar da existência do projeto desde 2004 e da inserção da ação como área de atuação do Mafra em Forma da SMS - programa institucionalizado por meio de lei - o desafio atual

A experiência profissional deverá ser comprovada por meio de Carteira de Trabalho e Previdência Social (cópia) ou declaração original do tempo de serviço

A resposta TL do CaSO 4 :Dy e do LiF:Mg,Ti aos feixes de elétrons estudados não apresenta dependência energética para irradiações nos objetos simuladores empregados, podendo

A Estação de Tratamento de Efluente da Universidade Federal de Sergipe cedeu um dos tanques de secagem para que fosse adaptado e utilizado como tanque aberto para

Na solidariedade passiva tributária, há assim, uma pluralidade de sujeitos passivos, pessoas físicas ou jurídicas, em que a obrigação tributária una decorre da prática do