Aprendizagem Supervisionada II

Post on 18-Jul-2015

465 views 1 download

Transcript of Aprendizagem Supervisionada II

Mestrado em Engenharia Informática

Aprendizagem Supervisionada

18-10-2010 Aprendizagem Automática / Machine Learning 2

Dado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para aproximar (e generalizar) esse comportamento. Exemplo simples:

x1 x2 Resposta (d)esejada

1 2 5

2 1 4

1 3 7

3 1 ?

2 3 8

1 -1 -1

-1 2 0

Dado um conjunto de exemplos, será que é possível treinar uma “unidade simples de computação” para diferenciar duas classes (e generalizar o comportamento). Exemplo simples:

Entrada - Resposta 0,1 11,0 10,0 01,1 ?

Se assumirmos que a função é linear

Será que a partir de um conjunto de pontos (x, f(x)) conseguimos saber w1 e w2? (i.e., qual a “regra” usada para gerar os pontos)

Encontrar os pesos para minimizar o erro:

2211)( wxxwxf

i

ii dxfE 2))((

x1 x2 d

1 2 5

2 1 4

1 3 7

3 1 ?

2 3 8

1 -1 -1

-1 2 0

A derivada de uma função indica que :

Se soubermos (o gradiente do erro, i.e. derivada do erro em relação a cada uma das variáveis) saberemos qual a direcção para alterar w1 e w2 de modo a diminuir o erro (a oposta à derivada).

Sinal da

Deriv. em

relação a x

x x

>0 E(x) E(x)

<0 E(x) E(x)

21 /,/ wEwE

21)( wxwxf

i

ii dxfE 2))((

i

ii dwxwE 2

21 )(

i

iii dxfxwE ))((2/ 1

i

ii dxfwE ))((2/ 2

Por exemplo, se soubermos que: Se , e fizermos:

O erro diminui (se o passo (α) for suf. pequeno)

Demonstração

111 / wEww0/ 1wE

Queremos uma função com parâmetros wij, que dê os seguintes resultados:

Que tipo de função é mais adequado?

x1 x2 f(x)

-1 -1 -1

-1 1 -1

1 -1 -1

1 1 1

Algo como:

Mas a derivada é sempre zero ou infinita (?)

0,1

0,1)(

2211

2211

bxwxw

bxwxwxf

x1 x2 f(x)

-1 -1 -1

-1 1 -1

1 -1 -1

1 1 1

Perceptrão [McCullogh & Pitts 43]

Regra Delta (delta-rule)

ii xdow )(

É necessária uma aproximação contínua:

TANH

-1,5

-1

-0,5

0

0,5

1

1,5

-2-1

,6-1

,2-0

,8-0

,4 00,

40,

81,

21,

6 2

)...( 22111

1)(

bxwxwe

xf

)...tanh()( 2211 bxwxwxf

ou …

b - Termo de polarização (bias). Funciona como uma fasquia regulável.

Função não linear simples: capacidade de representação limitada

Conjunto de unidades encadeadas (com uma ou mais camadas-escondidas) podem aproximar qualquer função com uma precisão arbitrária (desde que … )

entradas

pesos

pesos

saídas

Capacidade de divisão do espaço

Projecção num espaço de maiores dimensões de modo a tornar as classes separáveis (na prática, combinando de modos diferentes as features de entrada de modo a criar características que definem bem as classes)

Os métodos analíticos de classificação / regressão têm desvantagens quando os dados têm ruído e/ou muitos exemplos. São também sensíveis em relação a aproximações numéricas.

As ANN são: Robustas em relação ao ruído e aproximações

Baseadas num modelo (muito simplificado) do funcionamento dos neurónios

Podem ser treinadas incrementalmente

Condensam a informação de grandes conjuntos de dados num conjunto comparativamente pequeno de pesos

1. Apresentar cada exemplo (xi,di)2. Calcular a resposta da rede para xi: f(xi)3. Propagar para trás o erro (construindo a

derivada do erro em relação a cada peso)4. Ao fim de cada época: actualizar os pesos

Vantagens das funções de activação apresentadas:

As derivadas num ponto calculam-se à custa do valor nesse ponto (possibilidade de implementação paralela)

)tanh()( 2211 bxwxwxf

)( 22111

1)(

bxwxwe

xf

))(1()( 2 xfxf

))(1)(()( xfxfxf

-4

-3

-2

-1

0

1

2

3

4

-4 -3 -2 -1 0 1 2 3 4

Series1

Series2

-4

-3

-2

-1

0

1

2

3

4

-4 -2 0 2 4

Series1

Series2

Boa generalização (mesmo com erros)

Overfitting / Sobre-aprendizagem

Generalização e “overfitting”Como saber quando parar o treino:

treino

teste Paragem

Validação => três conjuntos de dados:◦ Treino, Teste, Validação

Conjuntos pequenos (k-fold validation/leave n-off)1. Dividir dados em k subconjuntos2. Em cada uma de k experiências usar um dos conjuntos para validação3. Calcular nº médio de iterações (n) para minimizar erro de validação4. Treinar com todos os dados n épocas

Termo de momento (momentum)

Duas vezes na mesma direcção, acelera,

Em direcções contrárias, trava (ou não é usado).

Valor típico: 0.8

)( ,1,,,1 ijtijtijtijt wwww

x

ijijt xw ,

A mesma taxa de aprendizagem para todos os pesos faz com que se mova com a mesma “velocidade” em todas as direcções

Solução: taxas de aprendizagem diferentes para cada peso

ALR (Adaptive Learning Rates):

x

ijijt xw ,ijtijtijt www ,,,1

x

ijijt xw , ijtijtijtijt www ,,,,1

Ec

wwd

wwu

ijt

ijtijtijt

ijtijtijt

ijt

,

0,

0,

,

,,,

,,,

,

5.01

8.01

2.11

c

d

u

Técnica dos passos-adaptativosAdaptive Learning Rates

F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens (eds.), Neural Networks, Springer-Verlag, 1990.

Dicas de implementação: Deve ser fácil mudar a função (e a sua derivada), a tanh()

é, normalmente, melhor

Deve ser possível ter 2 ou 3 camadas

Deve ser fácil mudar a taxa de aprendizagem

Experimentar primeiro com um caso muito simples

Use sempre uma taxa de aprendizagem baixa para começar (1E-7)

Vá aumentando a taxa até verificar que de uma época para a seguinte há alteração da média do erro

Diminua a taxa de aprendizagem ao longo do treino

Use valores desejados abaixo do limite da função (e.g. -0.9 e 0.9, para a tanh)

27AA/ML, Luís Nunes, DCTI/ISCTE

[Rumelhart, Hinton, Williams 86] D.E.Rumelhart, G.E.Hinton and R.J.Williams, "Learning internal representa-tions by error propagation", In David E. Rumelhart and James A. McClelland, volume 1. The MIT Press, 1986.

[Rumelhart, Widrow, Lehr] David E. Rumelhart, Bernard Widrow, Michael A. Lehr, The basic ideas in neural networks, Communications of the ACM archive, Volume 37 , Issue 3 (March 1994) table of contents, pp 87 –92, 1994, ISSN:0001-0782 , Publisher ACM Press New York, NY, USA

F. M. Silva and L. B. Almeida, "Acceleration Techniques for the Backpropagation Algorithm", in L. B. Almeida and C. J. Wellekens(eds.), Neural Networks, Springer-Verlag, 1990.

Outras Referências: [McCullough & Pitts 43] W. S. McCullough, W. Pitts, Logical Calculus of the ideas

immanent in nervous activity, Contemp. Math, 113, pp. 189-219 [Minsky & Papert 69] Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT

Press)

28AA/ML, Luís Nunes, DCTI/ISCTE

Aprendizagem Supervisionada

18-10-2010 Aprendizagem Automática / Machine Learning 29

ixi

ijijj wxbs )tanh( jj so

ijwjkw knw

j

jkjkk wobs )tanh( kk so

k

knknn wobs)tanh( nn so

2)()(

n

nn dooE

ix

ijwjkw knw

k

nkknn wobs )tanh( nn so

2)()(

n

nn dooE

knnnnkn wodowE )(2

knnnnnkn wssdowE ))tanh(1()(2 2

knnnkn osdowE ))tanh(1)((2 2

))tanh(1)((2 2

nnnnnnnn sdosooEsE

knkn ow

ix

ijwjkw knw

jkn

n

n

n

jknnnnjk wswssdowE ))tanh(1()(2 2

jkkk

n

knnjkk

n

knnjk wsswwowwE ))tanh(1( 2

knkn owE

n

jknnnjk wodowE )(2

jkjk

n

knnjk ooswwE ))tanh(1( 2

jkjk own

kknnkkkkk swsooEsE ))tanh(1( 2

ix

ijwjkw knwijn

n

nij wswE

ijk

n k

knnij wowwE

n

jknnnij wodowE )(2

n

kknnk sw ))tanh(1( 2

ijk

n k

kknnij wsswwE ))tanh(1( 2

ijk

k n

kknnij wsswwE ))tanh(1( 2

ijij xw

ijijjk

k

kij xxswwE ))tanh(1( 2

k

jjkkjjjjj swsooEsE ))tanh(1( 2

ijjjjk

k

kij wsswwE ))tanh(1( 2

x

ijij xw

x

jjb

ijijij www

jjj bbb

… ou, para evitar que seja um valor muito grande (overflow):

x

ijij xwijijij www

ijw

ijij xw

jjb

ijijij www

jjj bbb