Aspectos Filosóficos da IA Luis Otavio Alvares Filipo Perotto.
Aprendizagem de Máquina Porto Alegre, Junho de 2008. Filipo Studzinski Perotto Luís Otávio...
Transcript of Aprendizagem de Máquina Porto Alegre, Junho de 2008. Filipo Studzinski Perotto Luís Otávio...
Aprendizagem de MáquinaAprendizagem de Máquina
Porto Alegre,
Junho de 2008.
Filipo Studzinski Perotto
Luís Otávio Álvares
(Machine Learning)
2
SumárioSumário
• Introdução
• Aprendizagem Supervisionada
• Aprendizagem Não-Supervisionada
• Aprendizagem por Reforço
3
Comportamento Inteligente
X
Aprendizagem
IntroduçãoIntrodução
4
Como pré-programar toda a solução para problemas complexos e dinâmicos?
5
• Aprender a reconhecer palavras faladas• Aprender a conduzir um veículo• Aprender a classificar estruturas astronômicas• Aprender a jogar• Aprender a classificar e-mails• Descoberta de relações em bases de dados
Aplicações Bem-Sucedidas
6
DefinindoDefinindo Aprendizagem de Máquina Aprendizagem de Máquina
• Um sistema apresenta aprendizagem se ele é capaz de transformar-se adaptativamente a partir das próprias experiências
• Portanto, num problema de aprendizagem bem formulado identificamos 3 fatores: – a classe das tarefas T– a medida de desempenho a ser melhorada P – e a fonte de experiência (treinamento) E.
7
Aprendizagem SupervisionadaAprendizagem Supervisionada
• Existe um “professor”
• Fonte externa indica certo e errado
8
ClassificaçãoClassificação
Definição do Problema
• Dados:– Um conjunto de exemplos de treinamento
• na forma (entrada-saída)
• Encontrar:– uma função geral capaz de prever adequadamente as saídas
para novos exemplos, por representar, em princípio, a função geradora dos exemplos de treinamento
9
Abordagem ConexionistaAbordagem Conexionista• Rede Neural / Máquinas de Núcleo
– O conhecimento da rede fica armazenado nos pesos das ligações entre os nós
• O conhecimento é distribuído:– uma unidade pode participar
de diversos padrões– um padrão pode estar ligado
à diversas unidades
10
Abordagem EstatísticaAbordagem Estatística• Modelo Incremental:– inicia com uma hipótese a priori da distribuição– atualiza a distribuição conforme recebe os exemplos
11
Hábito 1 Hábito 2 Hábito 3
Sintoma 1 Sintoma 2 Sintoma 3
Rede Bayesiana:
Filtro Bayesiano:
12
Aprendizagem de ConceitosAprendizagem de Conceitos
• Dados:– Um Espaço de Características– Um conjunto de exemplos de treinamento
• Características (f1, f2, f3, ..., fn)• Rótulo z
• Encontrar:– Um Modelo de Classificação
Entradas Modelo Saídas
13
Melhor Hipótese CorrenteMelhor Hipótese Corrente
H ← Qualquer Hipótese consistente com o 1º Exemplo
Para cada Novo Exemplo faça:
Se é falso positivo para H então:
H ← Especialização de H (+ condições)
Se é falso negativo para H então:
H ← Generalização de H (- condições)
14
Mundo dos BlocosMundo dos Blocos
+
Um Arco é:
- 2 blocos azuis em pé paralelos
- um bloco azul sobre os outros dois
+
Um Arco é:
- 2 blocos de qualquer cor em pé paralelos
- um bloco sobre os outros dois
-
Um Arco é:
- 2 blocos em pé separados e paralelos
- um bloco sobre os outros dois
15
Espaço de VersõesEspaço de Versões
• Preserva todas as Hipóteses Válidas
• Representação:– G (Conjunto de Hipóteses mais Gerais)
– S (Conjunto das Hipóteses mais Específicas)
– Conjunto Parcialmente Ordenado
• Atualização do Espaço de Versões:– Especializa G com um falso positivo
– Generaliza S com um falso negativo
16
++
++
++
+
++
+
-
++
-
++
-
--
--
-
-
-
-
-
--
-
--
---
S
G1
G
2
17
G1 G2 G3 G4 G5 ... Gn
S1 S2 S3 S4 S5 ... Sm
...
Hipóteses mais
Gerais
Hipóteses mais
Específicas
18
Árvores de DecisãoÁrvores de Decisão
F1
F2 F3 Fn
y1 ym
...
• Nós Superiores:
Testes de Discriminação
• Folhas:
Rótulo da Classe
19
Prejuízo Situação Explicação Atitude
Alto Anonimato Boa Ficar
Médio Anonimato Ruim Correr
Médio Evidência Ruim Ficar
Alto Evidência Ruim Correr
Baixo Evidência Boa Ficar
Baixo Anonimato Ruim Ficar
... ... ... ...
20
Prejuízo
médio baixo alto
ExplicaçãoAnonimato
não sim boa ruim
CorrerFicar Ficar Correr
Ficar
21
Indução de Árvores de DecisãoIndução de Árvores de Decisão
S inicial = o conjunto de todos os exemplos de treinamento;
SE todos os elementos em S satisfazem o critério de parada,
ENTÃO:
Cria um Nó Folha, caracterizando uma classe;
SENÃO
Seleciona um Atributo A
Cria um Nó de Discriminação baseado em A;
Particiona S em subconjuntos, conforme A;
Aplica o algoritmo recursivamente em cada subconjunto;
22
O + O + + O + O O O + +
Indução: passo 1Indução: passo 1
23
Indução: passo 2Indução: passo 2
O + O+ O +O O +
+ ++
24
Indução: passo 3 ... nIndução: passo 3 ... n
+ ++
O O +O +
O OO
25
• Construção da Árvore– Critério de Escolha dos Atributos Discriminantes
– Critério de Parada do Particionamento
– Objetivo: minimizar a árvore
• Complexidade– Encontrar a árvore mínima é NP-Completo
– Saída: Utilização de Heurísticas
26
• Critério para Seleção de Atributos– Baseado no Ganho de Informação
– Um bom candidato separa bem os exemplos entre as classes
– Critério de Ganho: Redução Esperada da Entropia
• Entropia– Quantidade de Informação necessária para fazer a descrição dos
elementos do conjunto
– Muitas classes misturadas e homogeneamente distribuídas dentro de um grupo representam alta entropia
• Entropia( 50% / 50%) = 1
• Entropia( 100% / 0%) = 0
27
• Superadaptação– Ramos excessivos que não contribuem significativamente
para a classificação
• Poda– Pode considerar
• Taxa de Erro
• Limite Mínimo de Ganho
– Pode ser feita• Durante a construção (limite como critério de parada)
• Depois da construção (revisão)
– Substitui uma subárvore por uma folha
28
Superadaptado?
Generalização Adequada?
29
Aprendizagem ComputacionalAprendizagem Computacional
• Provavelmente Correta
• Aproximadamente Correta
• Conjunto suficientemente grande de exemplos de treinamento
É quase certo que qualquer hipótese que esteja seriamente errada será ‘desmascarada’ com alta probabilidade após um pequeno número de exemplos.
Qualquer hipótese que seja consistente com um conjunto suficientemente grande de exemplos de treinamento terá pouca probabilidade de estar seriamente errada.
30
Aprendizagem Não-SupervisionadaAprendizagem Não-Supervisionada
• Aprendizagem Não-Supervisionada– Não há exemplos nem classes pré-definidas
– Domínios naturalmente divididos em classes
– Análise de padrões nos dados de entrada através da distribuição no espaço
– Análise de correlações e coincidências
– Descoberta de Conhecimento
Entradas Modelo
31
ClusterizaçãoClusterização
Definição do Problema
• Dados:– Um Espaço de Características– Um Conjunto de Instâncias situadas nesse espaço
• Encontrar:– Grupos de entidades similares (Clusters)– Regiões com alta densidade relativa de pontos no espaço
32
• Exemplo:
33
• Todos os objetos são inicialmente alocados a um único grupo, e esse vai sendo dividido (ou partido) em grupos menores.
Método Hierárquico DivisivoMétodo Hierárquico Divisivo
Geral
Sub1 Sub2 Sub n
...
teste de discriminação
34
35
Pontos representativos de possíveis conceitos são espalhados inicialmente no espaço de entradas. Cada um desses pontos conceituais vai se aproximando da nuvem de pontos de entrada mais próxima.
Método de CentróidesMétodo de Centróides
36
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Atualiza Médias
K= Número de Agrupamentos
Inicialização Aleatória
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Atualiza Médias
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Reassocia
37
• Problema: Desequilíbrio na distribuição dos centros...
38
Aprendizagem por ReforçoAprendizagem por Reforço
Agente
Percepções
Reforço (+/-)
Ação
Ambiente
Metáfora do Agente:
Idéia de interação contínua
39
Definição do Problema
• Dados:– Um Agente em um Ambiente– A cada instante de tempo:
• o agente está em um estado s • executa uma ação a• vai para um estado s’• recebe uma recompensa r
• Encontrar:– uma política de ações que maximize o total de recompensas
recebidas pelo agente
Política de AçõesPolítica de Ações
40
Questão da Autonomia
• Como um agente aprende a escolher ações apenas interagindo com o ambiente?– Muitas vezes, é impraticável o uso de
aprendizagem supervisionada• Como obter exemplos do comportamento correto e
representativo para qualquer situação?• E se o agente for atuar em um ambiente
desconhecido?
41
A Função de Recompensa
• Feedback do ambiente sobre o comportamento do agente
• Indicada por r:(S A) R– r(s,a) indica a recompensa recebida quando se
está no estado s e se executa a ação a– Pode ser determinística ou estocástica
42
Política de AçõesPolítica de Ações• Aprendizagem por Reforço– não há exemplos– existe um feedback do ambiente (recompensa) que avalia o comportamento do agente
• Aprendizagem Incremental– Desempenho + Exploração
43
Estimativa da Recompensa
0 0 0 0 10
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
3 4 6 8 10
2 3 4 6 8
1 2 3 4 6
0 1 2 3 4
UtilidadeRecompensas
44
U(s) : (S R)
• Cálculo da Função de Utilidade do Estado:– Faz uma tabela com a utilidade de cada estado– Utilidade é a estimativa de recompensas futuras– Constrói um Modelo de Transição de Estados
• Algotitmos: TD, PDA
Métodos de Função de UtilidadeMétodos de Função de Utilidade
45
Q(s,a) : (S A) R
• Cálculo do Valor das Ações: – Faz uma tabela com o valor de cada par (estado-
ação)– Avalia cada par (estado-ação) pelas recompensas– Método Livre de Modelo
• Algoritmos: Q-Learning
Métodos de Valor das AçõesMétodos de Valor das Ações
46
Estimativa da RecompensaEstimativa da Recompensa
• A idéia:– R := Rt + *Rt+1 + 2
*Rt+2 + ...
– Rt é a Recompensa da ação atual
é um fator de desconsideração para as recompensas previstas nos passos futuros
47
• Atualização da Tabela Utilidade do Estado:– V = R + (V[s’])– U[s] U[s] + (V - U[s])
• Atualização da Tabela Valor da Ação:– V = R + maxa’ (Q[s’, a’])– Q[a,s] Q[a,s] + (V - Q[a,s])
Estimativa da RecompensaEstimativa da Recompensa
48
Exemplo: Labirinto (=0.9) Função recompensa Função V*
Função Q* Uma política de ações ótima
49
• Sistemas Classificadores– Constrói um conjunto de regras (estado, ação)– Aplica Algoritmos Genéticos neste conjunto– Recompensas avaliam a força das regras
Abordagem EvolutivaAbordagem Evolutiva
Descoberta(Algoritmos Genéticos)
Desempenho(Sistema Classificador)
Atribuição de Crédito(Bucket Brigade)
Entrada
Recompensa
Saída
Criar Regras
Avaliar Regras
Escolher Regras
50
Algoritmo Q-Learning
• Para todo estado s e ação a, inicialize a tabela Q[s][a] = 0;
• Para sempre, faça:– Observe o estado atual s;
– Escolha uma ação a e execute;
– Observe o próximo estado s’ e recompensa r
– Atualize a tabela Q:
• V = R + maxa’ (Q[s’, a’])
• Q[a,s] Q[a,s] + (V - Q[a,s])
51
Q-Learning
• Atualiza-se Q(st) após observar o estado st+1 e recompensa recebida
Q(s1,aright) = r + maxa’Q(s2,a’) = 0 + 0.9 max{63,81,100} = 90
52
Dilema aproveitamento-exploração
• Na aprendizagem por reforço ativa o agente enfrenta dilema aproveitamento-exploração:– Quando gulosamente aproveitar da estimação atual da
função valor e escolher ação que a maximiza?
– Quando curiosamente explorar outra ação que pode levar a melhorar estimação atual da função valor?
– Taxa de exploração = proporção de escolhas curiosas
– Geralmente se começa com uma taxa de exploração alta que vai decrescendo com tempo
53
Exemplos
• Arm Robot Problem:– http://www.applied-mathematics.net/
54
Maldição da DimensionalidadeMaldição da Dimensionalidade
• o número de estados possíveis cresce exponencialmente com a quantidade de características representadas
• Conseqüentemente o tempo de treinamento e número de exemplos necessários também
• Q-Learning só pode ser aplicado a problemas relativamente pequenos
55
Questão:
• É melhor aprender um modelo e uma função de utilidade ou apenas uma função de ação-valor sem modelo?
• Qual o limite dessa idéia de aprendizagem?
56
Aprendizagem de MáquinaAprendizagem de Máquina
Porto Alegre,
Junho de 2008.
Filipo Studzinski Perotto
Luís Otávio Álvares
58
kc
1,vc
1,vc
1,vc
1,vc
ix
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
kc
1,vc
1,vc
1,vc
1,vc
ix
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
2,vc
59
Hábito 1 Hábito 2 Hábito 3
Sintoma 1 Sintoma 2 Sintoma 3
Doença
Problema da EstruturaProblema da Estrutura• Aprendizagem de Variáveis Ocultas
– criar e destruir variáveis– problema: complexidade exponencial
60
Indução de Árvores de DecisãoIndução de Árvores de Decisão
61
Máquinas de NúcleoMáquinas de Núcleo• Aumentar a Dimensionalidade do Espaço.• Tornar o Problema
Linearmente Separável• Uso de Vetores de Suporte• Uso de Funções de Núcleo
62
• Percorrer a Árvore– Tomada de Decisão– Expressão através de Regras: Disjunção de Conjunções
Estrago
médio baixo alto
ExplicaçãoAnonimato
não sim boa ruim
FugirFicar Ficar Fugir
Ficar
Se (Estrago = Alto) e (Explicação = Ruim) Então Fugir
63
Algoritmos de Indução de ADAlgoritmos de Indução de AD• ID3
– Representa apenas atributos categóricos
– Subdivide o grupo pela cardinalidade do atributo de teste
– Não faz tratamento de ruídos
– Utiliza critério de ganho de informação no particionamento
• CART– Permite atributos numéricos
– Gera sempre divisões binárias (agrupando valores)
– Pode fazer regressão (função numérica)
• C4.5– Permite atributos numéricos e valores desconhecidos
– Utiliza Poda
64
Condições:– Representação– Ruído– Determinismo– ...
Abordagens:– Simbólica– Conexionista– Analítica– Evolutiva– Estatística
65
Maldição da DimensionalidadeMaldição da Dimensionalidade
“Maldição da Dimensionalidade”: o número de classificadores que devem ser considerados aumenta exponencialmente com o número de atributos do conjunto de dados, ficando mais difícil para o algoritmo de aprendizagem encontrar um modelo preciso (Bellman, 1961).
“O número de exemplos necessários para se aprender um certo conceito cresce exponencialmente de acordo com o número de atributos” (Valiant, “A Theory of The Learnable”, 1984).
66
Exemplo Não-Determinístico
-1 -1 -1 -1 +100
-1 -1 -1 -1 -100
-1 -1 -1 -1 -1
A -1 -1 -1 -1
Ações: ,,,
Chance da execução correta: 90%
-50 -50 -50 -50 +100
-50 -50 -50 -50 -100
-50 -50 -50 -50 -50
A -50 -50 -50 -50