Aprendizagem Supervisionada II
-
Upload
luis-nunes -
Category
Documents
-
view
467 -
download
1
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
Codificação / Compressã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