redes neurais artificiais - facomalbertini/1sem2017/md/aulas/07redesneurais.pdf · redes neurais...

68
Redes Neurais Artificiais Prof. Marcelo Keese Albertini Faculdade de Computa¸ ao Universidade Federal de Uberlˆ andia 1 de Junho de 2017

Upload: others

Post on 05-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Redes Neurais Artificiais

Prof. Marcelo Keese AlbertiniFaculdade de Computacao

Universidade Federal de Uberlandia

1 de Junho de 2017

Page 2: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Conteudo

I Perceptron

I Gradiente descendente

I Redes multicamadas

I Retropropagacao de erros

2/53

Page 3: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Modelos conexionistas

Humanos

I Tempo de ativacao neural ∼ 0.001s

I Numero de neuronios ∼ 1010

I Conexoes por neuronio ∼ 104a5

I Tempo de reconhecimento de cenas ∼ 0.1s

Computacao paralela massiva

3/53

Page 4: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Exemplo: carro autonomo

4/53

Page 5: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Propriedades de redes neurais

I Muitas unidades de ativacao

I Muitas conexoes ponderadas entre unidades

I Processo altamente paralelizado

I Enfase no ajuste de pesos automatico

5/53

Page 6: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Perceptron

Funcao deativacao

Saıda: o(x1, . . . , xn)∑

w2x2

......

wnxn

w1x1

w01

entradas pesos

o(x1, . . . , xn) =

{1 se w0 + w1x1 + . . .+ wnxn > 0−1 caso contrario.

Na notacao simplificada vetorial:

o(~x) =

{1 se ~w · ~x > 0−1 caso contrario.

6/53

Page 7: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Superfıcie de decisao de um perceptron

++

+

+

+

++

+

+

+

+?

Representa algumas funcoes uteis

I Quais pesos representam g(x1, x2) = AND(x1, x2)?

Mas algumas funcoes nao sao representaveis

I Todas as nao linearmente separaveis

I Portanto, queremos redes de perceptrons para representardados nao linearmente separaveis

7/53

Page 8: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Treino do Perceptron

wi ← wi + ∆wi

onde∆wi = η(t − o)xi

Onde:

I t = c(~x) e valor-alvo

I o e a saıda do perceptron

I η e uma constante pequena (exemplo 0.1) chamada de taxade aprendizado

8/53

Page 9: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Regra de treino do Perceptron

Possıvel provar convergencia se

I Dados de treino sao linearmente separaveis

I η e suficientemente pequeno

9/53

Page 10: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

Considere o caso simplificado unidade linear, onde

o = w0 + w1x1 + . . .+ wnxn

Objetivo e aprender wi que minimiza o erro quadratico

E [~w ] ≡ 1

2

∑d∈D

(td − od)2

onde D e conjunto de exemplos de treino, td e o valor de treinopara o exemplo d e od o valor obtido pelo perceptron.

10/53

Page 11: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Figura gradiente descendente

0 0.2

0.4 0.6

0.8 1 0

0.2

0.4

0.6

0.8

1

0

0.1

0.2

0.3

0.4

0.5

E[w]

w0

w1

E[w]

11/53

Page 12: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Calculo do gradiente

Gradiente

∇E [~w ] ≡[∂E

∂w0,∂E

∂w1, . . . ,

∂E

∂wn

]

Regra de treino

∆~w = −η∇E [~w ]

Isto e

∆wi = −η ∂E∂wi

12/53

Page 13: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

∂E

∂wi= ∂

∂wi

12

∑d(td − od)2

= 12

∑d

∂∂wi

(td − od)2

= 12

∑d 2(td − od) ∂

∂wi(td − od)

=∑

d(td − od) ∂∂wi

(td − ~w · ~xd)

∂E

∂wi=∑

d(td − od)(−xi ,d)

13/53

Page 14: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

∂E

∂wi= ∂

∂wi

12

∑d(td − od)2

= 12

∑d

∂∂wi

(td − od)2

= 12

∑d 2(td − od) ∂

∂wi(td − od)

=∑

d(td − od) ∂∂wi

(td − ~w · ~xd)

∂E

∂wi=∑

d(td − od)(−xi ,d)

13/53

Page 15: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

∂E

∂wi= ∂

∂wi

12

∑d(td − od)2

= 12

∑d

∂∂wi

(td − od)2

= 12

∑d 2(td − od) ∂

∂wi(td − od)

=∑

d(td − od) ∂∂wi

(td − ~w · ~xd)

∂E

∂wi=∑

d(td − od)(−xi ,d)

13/53

Page 16: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

∂E

∂wi= ∂

∂wi

12

∑d(td − od)2

= 12

∑d

∂∂wi

(td − od)2

= 12

∑d 2(td − od) ∂

∂wi(td − od)

=∑

d(td − od) ∂∂wi

(td − ~w · ~xd)

∂E

∂wi=∑

d(td − od)(−xi ,d)

13/53

Page 17: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente

Gradiente(exemplosDeTreino, eta)

I Inicializar wi com valor aleatorio pequenoI Fazer ate convergir (ou treinar demais)

1. Inicializar cada ∆wi para zero2. Para cada 〈~x , t〉 de exemplosDeTreino fazer

2.1 Apresentar ~x ao neuronio e calcular a saıda o2.2 Para cada peso wi fazer

∆wi ← ∆wi + η(t − o)xi

3. Para cada wi fazerwi ← wi + ∆wi

14/53

Page 18: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Simples perceptron: freestats::perceptrain

require(freestats)

z <- runif(n=3)# gera vetor separador de 2 classes

d <- fakedata(w=z,n=100) # gera dados respeitando z

plot(d$S[,1],d$S[,2],col=d$y+3)

● ●●

●●●

●●●

●●

●●

●● ●

−2 −1 0 1 2

−2

−1

01

d$S[, 1]

d$S

[, 2]

15/53

Page 19: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Simples perceptron: freestats::perceptrain

r <- perceptrain(S=d$S,y=d$y,alpha_k=0.5,endcost=0)

r

## $z

## [1] 8.00000 12.95544 21.72914

##

## $Z_history

## [,1] [,2] [,3]

## z 1.0 -2.451427 0.7238992

## z -6.5 21.082583 7.7252546

## z 4.0 11.926716 15.3534177

## z 6.5 8.942404 16.5752988

## z 6.0 9.492871 16.4507345

## z 6.5 9.518959 16.2526349

## z 5.5 9.542448 16.6355712

## z 6.5 9.945893 16.0466856

## z 5.5 8.940351 17.0389885

## z 8.0 9.715608 15.7552258

## z 4.0 8.350451 18.4045954

## z 9.0 12.306447 14.8963768

## z 3.5 7.635225 20.8742762

## z 9.5 12.699930 16.7139912

## z 4.5 9.443829 21.2779927

## z 9.5 13.399825 17.7697740

## z 4.5 10.143724 22.3337755

## z 9.5 14.099720 18.8255569

## z 6.5 11.200225 22.0801731

## z 10.0 13.663298 19.6241096

## z 6.5 11.747675 22.3980435

## z 9.5 13.791275 20.3035389

## z 7.0 12.058707 22.4678261

## z 9.5 12.833964 21.1840634

## z 8.0 12.378888 22.0518019

## z 8.5 12.404977 21.8537023

## z 8.0 12.955443 21.7291380

##

## $NumofIteration

## [1] 27

##

## attr(,"class")

## [1] "pt"

16/53

Page 20: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

perceptrain # ver codigo

## function (S, y, alpha_k = 1, endcost = 0)

## {

## d <- dim(S)[2] - 1

## n <- dim(S)[1]

## x.matrix <- rbind(1, t(S)[1:d, ])

## z <- x.matrix[, 2]

## Z_history <- matrix(0, 0, ncol = d + 1)

## NumofIteration = 0

## Cost.gradient = 10000

## while (sum(Cost.gradient^2) > endcost) {

## index1 <- classify.pti(S, z) != y

## cost.temp <- x.matrix

## for (i in 1:n) {

## cost.temp[, i] <- index1[i] * x.matrix[, i] * (-y[i])

## }

## Cost.gradient <- apply(cost.temp, MARGIN = 1, sum)

## Z_history <- rbind(Z_history, z)

## z <- z - alpha_k * Cost.gradient

## NumofIteration <- NumofIteration + 1

## }

## res <- list(z = z, Z_history = Z_history, NumofIteration = NumofIteration)

## class(res) <- "pt"

## return(res)

## }

## <bytecode: 0x3b0e3a8>

## <environment: namespace:freestats>

17/53

Page 21: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

set.seed(1)

r <- perceptrain(S=d$S,y=d$y,alpha_k=0.01,endcost=0)

t = rep(0,nrow(d$S))

for (i in 1:nrow(d$S)) {t[i] = r$z %*% d$S[i,] # ativacao do neuronio

}r$z - z

## [1] -0.005559144 -0.046577978 0.686471511

plot(d$S[,1],d$S[,2],col=d$y+3,pch=((t>0)+2))

−2 −1 0 1 2

−2

−1

01

d$S[, 1]

d$S

[, 2]

18/53

Page 22: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Resumo

Treino do perceptron e garantido se

I Exemplos sao linearmente separaveis

I Taxa de aprendizado η suficientemente pequena e usada

Treino do perceptron com gradiente descendente

I Convergencia para hipotese de menor erro quadratico

I Mesmo quando dados de treino tem ruıdo

I Mesmo quando dados nao sao separaveis por H

19/53

Page 23: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Treino com gradiente: em lote vs. incremental

Modo em lote

Fazer ate convergir

1. Computar o gradiente ∇ED [~w ]2. ~w ← ~w − η∇ED [~w ]

ED [~w ] ≡ 1

2

∑d∈D

(td − od)2

20/53

Page 24: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente descendente: modo incremental

Modo incremental

Fazer ate convergirI Para cada exemplo de treino d ∈ D

1. Computar o gradiente ∇Ed [~w ]2. ~w ← ~w − η∇Ed [~w ]

Ed [~w ] ≡ 1

2(td − od)2

Gradiente descendente incremental pode aproximar o modo emlote se η for pequeno o suficiente.

21/53

Page 25: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Redes multi-camadas de unidades sigmoides

Neural net and traditional classifiers, WY Huang, RP Lippmann -Neural information processing systems, 1988

22/53

Page 26: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Unidade sigmoide

Funcao deativacaosigmoide

Saıda: o = σ(ganho) = 11+exp−ganho

∑w2x2

......

wnxn

w1x1

w01

entradas pesos

ganho =∑n

t=0 wixiσ(x) = 1

1+exp−x e a funcao de transferencia sigmoide

Propriedade util

∂σ(x)

∂x= σ(x)(1− σ(x))

23/53

Page 27: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Podemos derivar regras de gradiente descendente para

I Uma unidade sigmoideI Rede multi-camadas de unidades sigmoides

I Retroprogacao de erros

24/53

Page 28: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente de erro para uma unidade sigmoide

I ganho =∑n

t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do

neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td

∂wi= 0

∂E

∂wi= ∂

∂wi

12

∑d∈D(td − od)2 ,usa regra da soma e obtem:

= 12

∑d

∂∂wi

(td − od)2 ,usa regra da cadeia e obtem:

= 12

∑d 2(td − od) ∂

∂wi(td − od) , aplica derivada de constante e obtem:

=∑

d(td − od)(−∂od∂wi

),usa regra da cadeia e obtem:

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

25/53

Page 29: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente de erro para uma unidade sigmoide

I ganho =∑n

t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do

neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td

∂wi= 0

∂E

∂wi= ∂

∂wi

12

∑d∈D(td − od)2 ,usa regra da soma e obtem:

= 12

∑d

∂∂wi

(td − od)2 ,usa regra da cadeia e obtem:

= 12

∑d 2(td − od) ∂

∂wi(td − od) , aplica derivada de constante e obtem:

=∑

d(td − od)(−∂od∂wi

),usa regra da cadeia e obtem:

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

25/53

Page 30: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente de erro para uma unidade sigmoide

I ganho =∑n

t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do

neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td

∂wi= 0

∂E

∂wi= ∂

∂wi

12

∑d∈D(td − od)2 ,usa regra da soma e obtem:

= 12

∑d

∂∂wi

(td − od)2 ,usa regra da cadeia e obtem:

= 12

∑d 2(td − od) ∂

∂wi(td − od) , aplica derivada de constante e obtem:

=∑

d(td − od)(−∂od∂wi

),usa regra da cadeia e obtem:

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

25/53

Page 31: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente de erro para uma unidade sigmoide

I ganho =∑n

t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do

neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td

∂wi= 0

∂E

∂wi= ∂

∂wi

12

∑d∈D(td − od)2 ,usa regra da soma e obtem:

= 12

∑d

∂∂wi

(td − od)2 ,usa regra da cadeia e obtem:

= 12

∑d 2(td − od) ∂

∂wi(td − od) , aplica derivada de constante e obtem:

=∑

d(td − od)(−∂od∂wi

),usa regra da cadeia e obtem:

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

25/53

Page 32: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Gradiente de erro para uma unidade sigmoide

I ganho =∑n

t=0 wixiI od = σ(ganhod) e a saıda da funcao de transferencia do

neuronio respondendo ao d-esimo exemplo no conjunto DI td e a resposta esperada para o d-esimo exemploI E e o erro da redeI td nao varia de acordo com wi , entao ∂td

∂wi= 0

∂E

∂wi= ∂

∂wi

12

∑d∈D(td − od)2 ,usa regra da soma e obtem:

= 12

∑d

∂∂wi

(td − od)2 ,usa regra da cadeia e obtem:

= 12

∑d 2(td − od) ∂

∂wi(td − od) , aplica derivada de constante e obtem:

=∑

d(td − od)(−∂od∂wi

),usa regra da cadeia e obtem:

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi25/53

Page 33: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Da equacao que relaciona o erro E e os pesos da rede wi :

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

I Falta obter ∂od∂ganhod

e ∂ganhod∂wi

Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:

∂od

∂ganhod=∂σ(ganhod)

∂ganhod= od(1− od)

E lembrando que ganhod = ~w · ~xd , temos do segundo termo:

∂ganhod

∂wi=∂~w · ~xd∂wi

= xi ,d

Entao, a parte da “culpa” do erro E relativa ao peso wi e

∂E

∂wi= −

∑d∈D

(td − od)od(1− od)xi ,d

26/53

Page 34: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Da equacao que relaciona o erro E e os pesos da rede wi :

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

I Falta obter ∂od∂ganhod

e ∂ganhod∂wi

Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:

∂od

∂ganhod=∂σ(ganhod)

∂ganhod= od(1− od)

E lembrando que ganhod = ~w · ~xd , temos do segundo termo:

∂ganhod

∂wi=∂~w · ~xd∂wi

= xi ,d

Entao, a parte da “culpa” do erro E relativa ao peso wi e

∂E

∂wi= −

∑d∈D

(td − od)od(1− od)xi ,d

26/53

Page 35: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Da equacao que relaciona o erro E e os pesos da rede wi :

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

I Falta obter ∂od∂ganhod

e ∂ganhod∂wi

Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:

∂od

∂ganhod=∂σ(ganhod)

∂ganhod= od(1− od)

E lembrando que ganhod = ~w · ~xd , temos do segundo termo:

∂ganhod

∂wi=∂~w · ~xd∂wi

= xi ,d

Entao, a parte da “culpa” do erro E relativa ao peso wi e

∂E

∂wi= −

∑d∈D

(td − od)od(1− od)xi ,d

26/53

Page 36: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Da equacao que relaciona o erro E e os pesos da rede wi :

∂E

∂wi= −

∑d

(td − od)∂od

∂ganhod

∂ganhod

∂wi

I Falta obter ∂od∂ganhod

e ∂ganhod∂wi

Lembrando que od = σ(ganhod) e ∂σ(x)∂x = σ(x)(1− σ(x)), temos:

∂od

∂ganhod=∂σ(ganhod)

∂ganhod= od(1− od)

E lembrando que ganhod = ~w · ~xd , temos do segundo termo:

∂ganhod

∂wi=∂~w · ~xd∂wi

= xi ,d

Entao, a parte da “culpa” do erro E relativa ao peso wi e

∂E

∂wi= −

∑d∈D

(td − od)od(1− od)xi ,d

26/53

Page 37: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 38: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 39: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 40: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 41: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 42: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

I Definicao: δk = − ∂E∂ganhok

sera a parte do erro passadaas camadas internas

I δk e obtido desde a ultimacamada ate a de entrada

∂E

∂ganhoj=∑

k∈Saidas(j)∂E

∂ganhok

∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂ganhoj

=∑

k∈Saidas(j)−δk∂ganhok∂oj

∂oj∂ganhoj

=∑

k∈Saidas(j)−δkwkj∂oj

∂ganhoj

=∑

k∈Saidas(j)−δkwkjoj(1− oj)

δj = − ∂E

∂ganhoj= oj(1− oj)

∑k∈Saidas(j)

δkwkj

27/53

Page 43: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Algoritmo de retropagacao

I Inicializar todos os pesos para valores aleatorios pequenos.I Ate convergencia, faca para cada exemplo de treino

1. Apresente exemplo a rede e compute a saıda da rede2. Para cada unidade de saıda k

δk ← ok(1− ok)(tk − ok)

3. Para cada unidade interna h

δh ← oh(1− oh)∑

k∈saidas

δkwhk

4. Atualizar cada peso da rede wij

wij ← wij + ∆wij

onde ∆wij = ηδjxij

28/53

Page 44: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Mais em retroprogacao

I Gradiente descendente sobre toda rede de vetores de pesos

I Generalizavel para grafos direcionados (redes neuraisrecorrentes)

I Encontra mınimo local

I Funciona bem na pratica ao rodar varias vezes

I Frequentemente inclui um momentum do peso α

∆wi ,j(n) = ηδjxi ,j + α∆wi ,j(n − 1)I Minimiza erro nos exemplos de treino

I necessario cuidado para evitar overfitting

I Treino pode ser lento, mas usar a rede treinada e rapido

29/53

Page 45: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Capacidade de representacao de redes neurais

Funcoes booleanas

I Toda funcao booleana pode ser representada por uma redecom apenas uma camada interna

I Mas pode ser necessario um numero exponencial de unidadesinternas em relacao ao numero de entradas

Funcoes contınuas

I Toda funcao contınua compacta pode ser aproximada comerro arbitrariamente pequeno por rede com uma camadainterna

I Qualquer funcao pode ser aproximada com acuracia arbitrariapor uma rede com duas camadas internas

30/53

Page 46: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Evitando overfitting: opcoes

I Penalizar pesos grandes:

E (~w) ≡ 1

2

∑d∈D

∑k∈saidas

(tkd − okd)2 + γ∑i ,j

w2ji

I Treino em inclinacoes alvo e em valores:

E (~w) ≡ 1

2

∑d∈D

∑k∈saidas

(tkd − o + kd)2 + µ∑

j∈entradas(∂tkd

∂x jd− ∂okd

∂x jd)2

I Compartilhamento de pesos

I Criterio de parada prematura

31/53

Page 47: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Precursor de deep learning

Figura: Fonte: Neural net and traditional classifiers de Huang& Lippmann (1988).

32/53

Page 48: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Deep learning

I Redes com varias camadas intermediarias

I Objetivo: atingir nıveis mais “profundos” de abstracao

I Custo de treino relativamente alto

I Uso com grandes bases de dados

I Resultados empıricos e pouco teoricos

I Referencia: Deep Learning Tutorial:deeplearning.net/tutorial/deeplearning.pdf

1. Para cada camada

1.1 Pre-treinar separadamente com algoritmo nao supervisionado1.2 Empilhar nas camadas previamente treinadas e refinar com

retropropagacao

I Uso de tecnicas para melhoria do aprendizado.

33/53

Page 49: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Tecnicas: inicializacao

Para usar tanh como funcao de ativacao, inicializar pesos noseguinte intervalo:

[−√

6

fanin + fanout,

√6

fanin + fanout]

Facilita propagacao e correcao de erros.

34/53

Page 50: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Tecnicas: taxa de aprendizado

I Varredura em 10−1, 10−2, . . . , e concentrar no intervalo demenor erro de validacao

I Descrescente µ01+d×t , com µ0 inicial e d sendo uma constante

de decrescimo

35/53

Page 51: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Tecnicas: atualizacao de pesos em minibatch

I Intermediario entre modo estocastico e em lote.

I Estimativa grosseira do gradiente.

I Ajuda a reduzir custo computacional.

I E comum variar de acordo com o numero de epocas usado.

36/53

Page 52: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Tecnica: interromper treino antes de overfitting

I Usar conjunto de validacao.

I Verificar periodicamente o desempenho no conjunto devalidacao. Quando piorar, para.

I A verificacao pode envolver usar teste de hipotese ou umasimples comparacao.

37/53

Page 53: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Redes neurais: sumario

I Perceptrons

I Gradiente descendente

I Redes multi-camadas

I Retroprogacao de erros

I Deep learning

38/53

Page 54: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Redes neurais: pacotes R

I RSNNS::mlp – varios metodos de backpropagation, multiplascamadas

I neuralnet::neuralnet – inclui visualizacao, multiplascamadas

I nnet::nnet – camada escondida unica

I monmlp – MLP que mantem informacao a priori sobre formada funcao

I RWeka – faz conversao de dados factor-¿binario automatica(uso simples)

39/53

Page 55: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Pacote RSNSS: pre-processamento

require(RSNNS)

#aleatoriza ordem dos exemplos

iris <- iris[sample(1:nrow(iris),

length(1:nrow(iris))),1:ncol(iris)]

irisValues <- iris[,1:4]

irisTargets<-decodeClassLabels(iris[,5],

valTrue=1,valFalse=0)

summary(decodeClassLabels(iris[,5]))

## setosa versicolor virginica

## Min. :0.0000 Min. :0.0000 Min. :0.0000

## 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000

## Median :0.0000 Median :0.0000 Median :0.0000

## Mean :0.3333 Mean :0.3333 Mean :0.3333

## 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:1.0000

## Max. :1.0000 Max. :1.0000 Max. :1.0000

40/53

Page 56: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Pre-processamento para redes neurais

iris <- splitForTrainingAndTest(irisValues, irisTargets,

ratio=0.15)

summary(iris)

## Length Class Mode

## inputsTrain 508 -none- numeric

## targetsTrain 381 -none- numeric

## inputsTest 92 -none- numeric

## targetsTest 69 -none- numeric

41/53

Page 57: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Pre-processamento para redes neurais

summary(iris$inputsTrain) # antes da normalizacao

## Sepal.Length Sepal.Width Petal.Length

## Min. :4.300 Min. :2.000 Min. :1.100

## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.550

## Median :5.700 Median :3.000 Median :4.300

## Mean :5.813 Mean :3.053 Mean :3.719

## 3rd Qu.:6.400 3rd Qu.:3.350 3rd Qu.:5.100

## Max. :7.900 Max. :4.400 Max. :6.900

## Petal.Width

## Min. :0.100

## 1st Qu.:0.300

## Median :1.300

## Mean :1.185

## 3rd Qu.:1.800

## Max. :2.500

42/53

Page 58: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Pre-processamento para redes neurais

iris <- normTrainingAndTestSet(iris)

summary(iris$inputsTrain) #atributos normalizados

## V1 V2 V3

## Min. :-1.8004 Min. :-2.4194 Min. :-1.4907

## 1st Qu.:-0.8482 1st Qu.:-0.5809 1st Qu.:-1.2346

## Median :-0.1340 Median :-0.1212 Median : 0.3308

## Mean : 0.0000 Mean : 0.0000 Mean : 0.0000

## 3rd Qu.: 0.6992 3rd Qu.: 0.6831 3rd Qu.: 0.7862

## Max. : 2.4845 Max. : 3.0962 Max. : 1.8107

## V4

## Min. :-1.4210

## 1st Qu.:-1.1591

## Median : 0.1506

## Mean : 0.0000

## 3rd Qu.: 0.8054

## Max. : 1.722143/53

Page 59: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Treino de MLP

model <- mlp(iris$inputsTrain, iris$targetsTrain, size=5,

learnFuncParams=c(0.13), maxit=50,

inputsTest=iris$inputsTest,

targetsTest=iris$targetsTest)

# summary(model) # testar

# weightMatrix(model)

# extractNetInfo(model)

model # learning rate = 0.13

## Class: mlp->rsnns

## Number of inputs: 4

## Number of outputs: 3

## Maximal iterations: 50

## Initialization function: Randomize_Weights

## Initialization function parameters: -0.3 0.3

## Learning function: Std_Backpropagation

## Learning function parameters: 0.13

## Update function:Topological_Order

## Update function parameters: 0

## Patterns are shuffled internally: TRUE

## Compute error in every iteration: TRUE

## Architecture Parameters:

## $size

## [1] 5

##

## All members of model:

## [1] "nInputs" "maxit"

## [3] "initFunc" "initFuncParams"

## [5] "learnFunc" "learnFuncParams"

## [7] "updateFunc" "updateFuncParams"

## [9] "shufflePatterns" "computeIterativeError"

## [11] "snnsObject" "archParams"

## [13] "IterativeFitError" "IterativeTestError"

## [15] "fitted.values" "fittedTestValues"

## [17] "nOutputs"

44/53

Page 60: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

plotIterativeError(model)

0 10 20 30 40 50

2030

4050

6070

80

Iteration

Wei

ghte

d S

SE

45/53

Page 61: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

predictions <- predict(model,iris$inputsTest)

plotRegressionError(predictions[,2], iris$targetsTest[,2])

● ●● ●●● ●

● ●

●●●

●● ●● ●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

targets

fits

46/53

Page 62: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

plotROC(fitted.values(model)[,2], iris$targetsTrain[,2])

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

1 − spec

sens

47/53

Page 63: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

plotROC(predictions[,2], iris$targetsTest[,2])

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

1 − spec

sens

48/53

Page 64: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

confusionMatrix(iris$targetsTrain,fitted.values(model))

## predictions

## targets 1 2 3

## 1 43 0 0

## 2 0 42 2

## 3 0 2 38

confusionMatrix(iris$targetsTest,predictions)

## predictions

## targets 1 2 3

## 1 7 0 0

## 2 0 6 0

## 3 0 1 9

49/53

Page 65: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

# usa faixas [0,0.4] (0.4,0.6) e [0.6,1.0] para saıdas

confusionMatrix(iris$targetsTrain,

encodeClassLabels(fitted.values(model),

method="402040", l=0.4, h=0.6))

## predictions

## targets 0 1 2 3

## 1 0 43 0 0

## 2 5 0 39 0

## 3 6 0 1 33

50/53

Page 66: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

Pacote neuralnet

require(neuralnet)

data(infert) #dados sobre infertilidade

net.infert <- neuralnet(case~parity+induced+spontaneous,

infert, err.fct="ce", linear.output=FALSE, likelihood=TRUE)

net.infert$result.matrix

## 1

## error 129.247318862835

## reached.threshold 0.008693785732

## steps 927.000000000000

## aic 270.494637725670

## bic 291.575210202660

## Intercept.to.1layhid1 -1.545959602887

## parity.to.1layhid1 -1.908986800945

## induced.to.1layhid1 2.480713862016

## spontaneous.to.1layhid1 3.930897516622

## Intercept.to.case -1.836131084961

## 1layhid.1.to.case 3.59184775687851/53

Page 67: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

plot(net.infert)

3.93

09

spontaneous

2.48071induced

−1.90899

parity

3.59185 case−1.54596

1

−1.83613

1

Error: 129.247319 Steps: 927

52/53

Page 68: Redes Neurais Artificiais - FACOMalbertini/1sem2017/md/aulas/07redesneurais.pdf · Redes Neurais Arti ciais Prof. Marcelo Keese Albertini Faculdade de Computa˘c~ao Universidade Federal

RWeka MultilayerPerceptron

require(RWeka)

## Warning in library(package, lib.loc = lib.loc,

character.only = TRUE, logical.return = TRUE, :

there is no package called ’RWeka’

wmlp<-make_Weka_classifier(

"weka/classifiers/functions/MultilayerPerceptron")

## Error in

make Weka classifier("weka/classifiers/functions/MultilayerPerceptron"):

n~ao foi possıvel encontrar a func~ao

"make Weka classifier"

#WOW(wmlp) - ## verificar opc~oes

data("HouseVotes84", package = "mlbench")

model <- wmlp(Class ~ ., data = HouseVotes84)

## Error in wmlp(Class ~ ., data = HouseVotes84):

n~ao foi possıvel encontrar a func~ao "wmlp"

preds <-predict(model, HouseVotes84[, -1])

## Error in predict.rsnns(model, HouseVotes84[, -1]):

missing values in ’x’

table(preds, HouseVotes84[,1])

## Error in table(preds, HouseVotes84[, 1]): objeto

’preds’ n~ao encontrado

53/53