35
Introdução às Redes Neurais Artificiais Perceptrons de Camada Única Prof. João Marcos Meirelles da Silva www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Prof. João Marcos Meirelles da Silva – p. 1/35

Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Introdução àsRedes Neurais Artificiais

Perceptrons de Camada Única

Prof. João Marcos Meirelles da Silva

www.professores.uff.br/jmarcos

Departamento de Engenharia de Telecomunicações

Escola de Engenharia

Universidade Federal Fluminense

Prof. João Marcos Meirelles da Silva – p. 1/35

Page 2: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Créditos autorais

Este curso e estes slides são parcialmente adaptados da bibliografiacitada e das aulas do professor Luiz Pereira Calôba - COPPE/UFRJ

www.lps.ufrj.br

Prof. João Marcos Meirelles da Silva – p. 2/35

Page 3: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Sumário

• Introdução

• Modelo do Perceptron

• Classes Linearmente Separáveis

• Hiperplano de Decisão

• Treinamento do Perceptron

• Teorema de Convergência

• Algoritmo de Treinamento

• Exemplo

Prof. João Marcos Meirelles da Silva – p. 3/35

Page 4: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Introdução

• McCulloch e Pitts (1943) → Modelo do neurônio;

• Rosenblatt (1958) → Perceptron (aprendizado supervisionado)

• Objetivo → Classificar corretamente o conjunto de estímulosexternos (padrões) x = [x1, x2, . . . , xm]T em uma de duasclasses possíveis: C1 ou C2.

x ∈

C1, se y = +1

C2, se y = −1

Prof. João Marcos Meirelles da Silva – p. 4/35

Page 5: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Modelo do Perceptron

Figure 1: Neurônio de McCulloch e Pitts.

v =

m∑

i=1

ωixi + b, ϕ(v) = sign(v) (1)

Prof. João Marcos Meirelles da Silva – p. 5/35

Page 6: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Classes Linearmente Separáveis

Perceptrons de camada única são bons para resolver problemas declassificação onde as classes são linearmente separáveis.

Figura 2: Definição de Separabilidade.

Prof. João Marcos Meirelles da Silva – p. 6/35

Page 7: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Hiperplano de Decisão

Haverá então duas regiões de decisão separadas por um hiperplano,chamado de hiperplano de decisão, definido por:

m∑

i=2

ωixi + b = 0 (2)

Prof. João Marcos Meirelles da Silva – p. 7/35

Page 8: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Hiperplano de Decisão

Figura 3: Hiperplano de decisão.

Prof. João Marcos Meirelles da Silva – p. 8/35

Page 9: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

A pergunta agora é:

Como treinar o neurônio perceptron? Como posicionar o hiperplanode forma a separar as duas classes: C1 e C2?

Prof. João Marcos Meirelles da Silva – p. 9/35

Page 10: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

Para responder à pergunta, utilizaremos um paradigma deaprendizado conhecido como aprendizado por correção de erro. Seja:

x(n) = [+1, x1(n), x2(n), . . . , xm(n)]T (3)

e

ω(n) = [b(n), ω1, ω2, . . . , ωm]T (4)

Logo:

⇒ v(n) =m

i=0

ωi(n)xi(n) = ωT (n)x(n) (5)

Prof. João Marcos Meirelles da Silva – p. 10/35

Page 11: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

Figura 4: Aprendizado supervisionado.

Prof. João Marcos Meirelles da Silva – p. 11/35

Page 12: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

• Objetivo: Minimizar a norma do erro.

minω

e2i

= |yi− y

i|2 (6)

A correção dos pesos das sinapses é dada então pora:

∆ω(n) = ηeT (n)x(n) (7)

aNotação vetorial.

Prof. João Marcos Meirelles da Silva – p. 12/35

Page 13: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

Seja:

ωT x > 0,∀x ∈ C1 (8)

ωT x ≤ 0,∀x ∈ C2 (9)

O problema de treinamento resume-se a encontrar os valores do vetorde pesos ω, de modo que as duas inequações acima sejam sempreverdadeiras.

Prof. João Marcos Meirelles da Silva – p. 13/35

Page 14: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

O algoritmo de adaptação do vetor de pesos para a rede perceptronde camada única pode ser formulada como se segue:

1 Se o n-ésimo vetor do conjunto de vetores de treinamento, x(n),for corretamente classificado através do vetor de pesos atual,ω(n), nenhuma correção é feita ao vetor de pesos;

ω(n + 1) = ω(n), se ωT (n)x(n) > 0 ∧ x(n) ∈ C1

ω(n + 1) = ω(n), se ωT (n)x(n) ≤ 0 ∧ x(n) ∈ C2

(10)

Prof. João Marcos Meirelles da Silva – p. 14/35

Page 15: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Treinamento do Perceptron

2 Se houver um erro de classificação, então:

ω(n + 1) = ω(n) − η(n)x(n), se ωT (n)x(n) > 0 ∧ x(n) ∈ C2

ω(n + 1) = ω(n) + η(n)x(n), se ωT (n)x(n) ≤ 0 ∧ x(n) ∈ C1

(11)

Prof. João Marcos Meirelles da Silva – p. 15/35

Page 16: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Teorema:

Sejam os subconjuntos de vetores de treinamento H1 e H2

linearmente independentes. Sejam os vetores apresentados aoperceptron, oriundos destes dois subconjuntos. O perceptronconverge após n0 iterações, de forma que:

ω(n0) = ω(n0 + 1) = ω(n0 + 2) = . . . (12)

é um vetor solução para n0 ≤ nmax.

Prof. João Marcos Meirelles da Silva – p. 16/35

Page 17: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Prova (para η constante):

Suponha que ω(0) = 0, η = 1 e ωT (n)x(n) < 0, para n = 1, 2, . . . , eque o vetor de entrada x(n) pertence à subclasse H1. ⇒ classificaçãoerrônea !

ω(n + 1) = ω(n) + x(n), x(n) ∈ C1 (13)

⇒ Podemos utilizar recorrência na equação acima...

Prof. João Marcos Meirelles da Silva – p. 17/35

Page 18: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Como ω(0) = 0, temos:

ω(1) = ω(0) + x(0)

ω(2) = ω(1) + x(1)

ω(3) = ω(2) + x(2)

(14)

Logo, para ω(n + 1), teremos:

ω(n + 1) = x1 + x2 + · · · + x(n) (15)

Prof. João Marcos Meirelles da Silva – p. 18/35

Page 19: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Como é assumido que as classes C1 e C2 são linearmente separáveis,então existe um vetor de pesos ω0 que é solução para ωT x(n) > 0

para os vetores x1, . . . , xnpertencentes à classe H1.

A partir de ω0 podemos definir um número positivo α da seguinteforma:

α = minx(n)∈H1

ωT

0 x(n) (16)

Prof. João Marcos Meirelles da Silva – p. 19/35

Page 20: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Multiplicando ambos os lados da equação (15) pelo vetor linha ωT0 ,

temos:

ωT

0 ω(n + 1) = ωT

0 x(1) + ωT

0 x(2) + · · · + ωT

0 x(n)

Utilizando a equação (16), temos:

ωT

0 ω(n + 1) ≥ nα (17)

Prof. João Marcos Meirelles da Silva – p. 20/35

Page 21: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Definição: Inequação de Cauchy-Schwarz

A inequação de Cauchy-Schwarz diz que:

‖ ω0 ‖2‖ ω(n + 1) ‖2≥ [ωT

0 ω(n + 1)]2 (18)

onde ‖ · ‖ representa o operador norma Euclidiana, e o produtointerno ωT

0 ω(n + 1) é um valor escalar.

Prof. João Marcos Meirelles da Silva – p. 21/35

Page 22: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

A partir da equação (17), notamos que [ωT0 ω(n + 1)]2 é maior ou igual

a n2α2. A partir da equação(18), notamos que ‖ ω0 ‖2‖ ω(n + 1) ‖2 émaior ou igual a ‖ ωT

0 ω(n + 1) ‖2. Temos então:

‖ ω0 ‖2‖ ω(n + 1) ‖2≥ n2α2 (19)

Prof. João Marcos Meirelles da Silva – p. 22/35

Page 23: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Ou, de forma equivalente:

‖ ω(n + 1) ‖2≥n2α2

‖ ω0 ‖2(20)

⇒ Este é o primeiro resultado parcial da prova...

Agora, vamos reescrever a equação (13) na forma

ω(k + 1) = ω(k) + x(k) (21)

para k = 1, . . . , n e x(k) ∈ C1.

Prof. João Marcos Meirelles da Silva – p. 23/35

Page 24: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Tomando o quadrado da norma Euclidiana em ambos os lados daequação (21), temos:

‖ ω(k + 1) ‖2=‖ ω(k) ‖2 + ‖ x(k) ‖2 +2ωT (k)x(k) (22)

Porém, como foi assumido que o perceptron classificou a entrada x(k)

erroneamente como pertencendo à classe H1, temos queωT (k)x(k) < 0. Deduzimos da equação (22), para todo k = 1, . . . , n,que:

‖ ω(k + 1) ‖2≤‖ ω(k) ‖2 + ‖ x(k) ‖2

Prof. João Marcos Meirelles da Silva – p. 24/35

Page 25: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

ou, de forma equivalente:

‖ ω(k + 1) ‖2 − ‖ ω(k) ‖2≤‖ x(k) ‖2 (23)

Somando todas estas inequações para k = 1, . . . , n e relembrandoque ω(0) = 0, temos:

‖ ω(n + 1) ‖2 ≤

n∑

k=1

‖ x(k) ‖2

≤ ηβ (24)

Prof. João Marcos Meirelles da Silva – p. 25/35

Page 26: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

onde β é um número positivo definido por:

β = maxx(k)∈H1

‖ x(k) ‖2 (25)

Prof. João Marcos Meirelles da Silva – p. 26/35

Page 27: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

As equações (20) e (24), repetidas aqui apenas por conveniência

‖ ω(n + 1) ‖2≥n2α2

‖ ω0 ‖2

‖ ω(n + 1) ‖2≤ ηβ

indicam que há uma contradição entre elas, pois a primeira nos mostraque o quadrado da norma Euclidiana do vetor peso ω(n + 1) crescemais linearmente (com o passar das iterações n) do que a segunda.

Prof. João Marcos Meirelles da Silva – p. 27/35

Page 28: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Podemos afirmar ainda que n não pode ser maior do que um certovalor, nmax, para o qual as equações (20) e (24) são ambas satisfeitasatravés do sinal de igualdade. Ou seja, nmax é a solução da equaçãoabaixo:

n2max

α2

‖ ω0 ‖2= nmaxβ (26)

Resolvendo para nmax, dado um vetor inicial ω0, temos:

nmax =β ‖ ω0 ‖2

α2(27)

Prof. João Marcos Meirelles da Silva – p. 28/35

Page 29: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

Provamos então que para η = 1,∀n, ω(0) = 0 e dado que as classesC1 e C2 sejam separáveis, a regra de treinamento das sinapses doperceptron de camada única deve convergir em até nmax iterações.

Observação:

Podemos observar das equações (16), (25) e (27) que não hásomente um único valor para ω0 e nmax !

Prof. João Marcos Meirelles da Silva – p. 29/35

Page 30: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Teorema de Convergência

• O uso do valor inicial ω(0) 6= 0, apenas resulta em um númeromaior ou menor de iterações necessários para convergir,dependendo de como ω(0) se relaciona com ω0.

• Independentemente do valor atribuído a ω(0), o Teorema deConvergência assegura o resultado final (desde que as classessejam linearmente separáveis).

Prof. João Marcos Meirelles da Silva – p. 30/35

Page 31: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Algoritmo de Treinamento

1. Inicialização: Faça ω(0) = 0. Em seguida, realize os próximospassos para n = 1, 2, . . .

2. Ativação: No instante de tempo n, ative o perceptronapresentando o valor de entrada x(n) e a resposta desejaday(n)

3. Cálculo da resposta atual: Calcule a resposta atual doperceptron:

y(n) = sign[ωT (n)x(n)]

Prof. João Marcos Meirelles da Silva – p. 31/35

Page 32: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Algoritmo de Treinamento

4 Alteração dos pesos das sinapses: Atualize o vetor de pesos doperceptron:

ω(n + 1) = ω(n) + η[y(n) − y(n)]x(n)

onde

y(n) =

+1 se x(n) ∈ C1

−1 se x(n) ∈ C2

5 Continuação: Incremente n de uma unidade e retorne ao passo2.

Prof. João Marcos Meirelles da Silva – p. 32/35

Page 33: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Algoritmo de Treinamento

Quando parar o treinamento?

• Quando ∆ω ≈ 0, ou

• Quando atingir um número máximo de iteraçõespré-determinado, ou

• Quando a norma do erro (6) for menor ou igual a um valorpré-determinado (e2

max):

e2i≤ e2

max(28)

Prof. João Marcos Meirelles da Silva – p. 33/35

Page 34: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

Referências

1. Haykin, S., “Neural Networks - A Comprehensive Foundation,”2nd edition - Prentice Hall, 1999.

2. Fausett, L., “Fundamental of Neural Networks - Architectures,Algorithms and Applications,” Prentice Hall, 1994.

3. Theodoris, S., Koutroumbas, K, “Pattern Recognition,” 4th

edition, Academic Press.

Prof. João Marcos Meirelles da Silva – p. 34/35

Page 35: Introdução às Redes Neurais Artificiais · • Introdução • Modelo do Perceptron • Classes Linearmente Separáveis • Hiperplano de Decisão • Treinamento do Perceptron

FIM

Prof. João Marcos Meirelles da Silva – p. 35/35