Upload
nguyennhu
View
219
Download
5
Embed Size (px)
Citation preview
7/17/2013
1
(Primeiro exemplo)
Jogo de damas c/ aprendizagem
Tom Mitchell, Machine Learning, McGraw-Hill, 1997 – chapter 1
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 1
17-Jul-13 http://w3.ualg.pt/~jvo/ml 2
Exemplo de aprendizagem máquina 1. Descrição do problema2. Escolha da experiência de treino3. Escolha do que aprender4. Escolha da representação da hipótese5. Escolha de um algoritmo para aprendizagem da
hipótese a partir da experiência de treino
7/17/2013
2
17-Jul-13 http://w3.ualg.pt/~jvo/ml 3
1. Descrição do problema
Tarefa T: Jogar damas(como desenvolvido por A. Samuel em 1959)
Medida de Desempenho P: Percentagem de jogos ganhos contra adversários
Experiência de treino E: Jogos jogados contra consigo próprio
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 4
Experiência direta: Será possível obter pares deexemplos de entrada/saídas desejáveis?
Ex: tabuleiro rotulado com um movimentovencedor, extraído de um catálogo demovimentos.
Experiência indireta: Feedback indireto sobre assaídas desejáveis (problema de atribuição decréditos)
Ex: sequências de movimentos e resultado finaldo jogo.
2. Escolha da experiência de treino
7/17/2013
3
17-Jul-13 http://w3.ualg.pt/~jvo/ml 5
3. Escolha do que aprenderDado um conjunto de movimentos legais, queremos aprender como escolher o(s) movimento(s) que nos leve à vitória, quando esta for possível
Podemos aprender a função:EscolheMovimento(tabuleiro, movimento-legis) → movimento-ótimo
Ou podemos aprender uma
função de avaliação, V(tabuleiro) → R,
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 6
Definindo V(b)Se b é uma configuração final vencedora, então V(b) = 100Se b é uma configuração final perdedora, então V(b) = –100Se b corresponde a um empate, então V(b) = 0
Noutros casos V(b) = V(b´), onde b´ é a posição final com o score mais elevado que se consegue obter partindo de b e jogando de forma ótima até ao fim do jogo (assumindo que o oponente joga também de forma ótima)
7/17/2013
4
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 7
Aproximando V(b)Calcular V(b) é intratável dado que envolve procura naárvore de jogo completa
Pelo que se torna necessário aprender umaaproximação da função de avaliação ideal V(b)
17-Jul-13 http://w3.ualg.pt/~jvo/ml 11 – 8
Minimax com cortes α-β
7/17/2013
5
17-Jul-13 http://w3.ualg.pt/~jvo/ml 11 – 9
Minimax com cortes α-β
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 10
4. Escolhendo uma representação para a hipótese
Samuel usou uma aproximação linear para a função de avaliação
onde:bp(b): nº de peças pretas no tabuleiro brp(b): nº de peças brancas no tabuleiro bbk(b): nº de damas pretas no tabuleiro brk(b): nº de damas brancas no tabuleiro bbt(b): nº de peças pretas ameaçadas (i.e. que podem
ser comidas na próxima jogada do oponente)rt(b): nº de peças brancas ameaçadas
)()()()()()()( 6543210 brtwbbtwbrkwbbkwbrpwbbpwwbV ⋅+⋅+⋅+⋅+⋅+⋅+=)
wi’s são coeficientes ajustáveis ou “aprendizáveis”
7/17/2013
6
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 11
Aproximando V(b)Estimam-se valores de treino para posições não terminais do tabuleiro estimando valores para os seus sucessores na árvore de treino.
onde sucessor(b) é a próxima posição do tabuleiro onde é o programa a jogar
))sucessor(()( bVbVtreino
)=
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 12
Aproximando V(b)Estimam-se valores de treino para posições nãoterminais do tabuleiro estimando valores para os seussucessores na árvore de treino.
onde sucessor(b) é a próxima posição do tabuleiro ondeé o programa a jogar
Agora podemos gerar um conjunto de treino da forma <b,Vtreino(b)>, e.g., para uma vitória teríamos:<x1=3, x2=0, x3=1, x4=0, x5=0, x6=0, +100>
))sucessor(()( bVbVtreino
)=
7/17/2013
7
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 13
O algoritmo de aprendizagem tenta minimizaralguma medida de erro, tal como o erroquadrático médio:
B
bVbVE Bb
train∑∈
−=
2)]()([)
5. Escolhendo um algoritmo de aprendizagem
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 14
Um algoritmo de aprendizagem elementar
1. Initializar os pesos, wi, com valores aleatórios2. Repetir até à convergência dos pesos:
Para cada exemplo de treino b :2.1 Calcular o erro :
2.2 Para cada característica do tabuleiro, fi, atualizar o seu peso, wi :
usando uma constante pequena para (o parâmetro de passo de aprendizagem) K
)()()( bVbVberror treino
)−=
)(berrorfKww iii ⋅⋅+=
7/17/2013
8
7/17/2013 http://w3.ualg.pt/~jvo/ml 3-15
PSO applied to chess (J. Duro, jvo, IEEE EC 2008)
PSO applied to chess (J. Duro, jvo, IEEE EC 2008)
17-Jul-13 http://w3.ualg.pt/~jvo/ml 3-16
7/17/2013
9
7/17/2013 http://w3.ualg.pt/~jvo/ml 3-17
Performance
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 18
Recapitulando: Exemplo de aprendizagem máquina
1. Descrição do problema2. Escolha da experiência de treino3. Escolha do que aprender4. Escolha de como representar a hipótese5. Escolha de um algoritmo para aprendizagem da
hipótese a partir da experiência de treino
7/17/2013
10
Qual é o estado atual dos jogos deterministicos, de soma nula,
com 2 adversários?
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 19
17-Jul-13 http://w3.ualg.pt/~jvo/ml 10 – 20
Chinook é invencível!
http://www.nytimes.com/2007/07/19/science/19cnd-checkers.html
7/17/2013
11
17-Jul-13 http://w3.ualg.pt/~jvo/ml 10 – 21
Deep Blue II joga ao nível humano de grandmaster
n http://www.research.ibm.com/deepblue/
17-Jul-13 10 – 22
Xadrez: Kasparov vs. Deep Blue
Kasparov
1,6 mts 80 kg 34 years50 billion neurons
2 pos/secExtensiveChemicalEnormous
Altura
Peso
Idade
Hardware
Veloc. Max.
Conhecimento
Fonte de energia
Ego
Deep Blue
2 mts1089 kg4 years
30 IBM RS/6000 + 480 VLSI chess proc.
330,000,000 pos/secPrimitive
ElectricalNone
1997: Deep Blue wins by 3 wins, 1 loss, and 2 draws
7/17/2013
12
17-Jul-13 10 – 23
Othello: Murakami vs. Logistello
Takeshi MurakamiWorld Othello Champion
1997: The Logistello crushed Murakami by 6 games to 0
Michael Buro and is program Logistello
17-Jul-13 http://w3.ualg.pt/~jvo/ml 10 – 24
GO – humanos (ainda) com vantagem
7/17/2013
13
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 25
Questões avulsasQue algoritmos estão disponíveis para aprender um dado conceito? Que propriedades têm?
Quantos dados serão suficientes para aprender um dado conceitocom alta confiança?
Alguns exemplos de treino são mais úteis do que outros?
É útil usar conhecimento à priori?Como?
Quais são as melhores tarefas para um sistema aprender?
Qual é a melhor forma de um sistema representar o seuconhecimento?
17-Jul-13 http://w3.ualg.pt/~jvo/ml 12 – 26
Sumário
Primeiro exemplo: jogo de damas c/ aprendizagemJogos determinísticos na práticaBreve discussão