Aprendizagem de Máquina
(Machine Learning)
Filipo Studzinski Perotto
Luís Otávio Álvares
Porto Alegre,
Junho de 2008.
Sumário
•
•
•
•
Introdução
Aprendizagem Supervisionada
Aprendizagem Não-Supervisionada
Aprendizagem por Reforço
2
Introdução
Comportamento Inteligente
X
Aprendizagem
3
Como pré-programar toda a
solução para problemas
complexos e dinâmicos?
4
Aplicações Bem-Sucedidas
• 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
5
Definindo
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.
6
Aprendizagem Supervisionada
• Existe um “professor”
• Fonte externa indica
certo e errado
7
Classificaçã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
8
Abordagem 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
9
Abordagem Estatística
• Modelo Incremental:
– inicia com uma hipótese a priori da distribuição
– atualiza a distribuição conforme recebe os exemplos
10
Rede Bayesiana:
Hábito 1
Hábito 2
Hábito 3
Sintoma 1
Sintoma 2
Sintoma 3
Filtro Bayesiano:
11
Aprendizagem 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
12
Melhor 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)
13
Mundo 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
-
14
Espaç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
15
-
G
-
-
G1
-
+ ++
+ +
+
+
+
+
+
+
S
2
-
-
-
-
-
-
+ +
+
-
16
Hipóteses mais
G1 G2 G 3 G4 G5
...
Gn
Gerais
...
S1
S2
S3
S4
S5
...
Sm
Hipóteses mais
Específicas
17
Árvores de Decisão
• Nós Superiores:
F1
Testes de Discriminação
F2
F3
Fn
...
y1
ym
• Folhas:
Rótulo da Classe
18
Prejuízo
Situação
Explicação
Atitude
Alto
Médio
Médio
Alto
Baixo
Baixo
...
Anonimato
Anonimato
Evidência
Evidência
Evidência
Anonimato
...
Boa
Ruim
Ruim
Ruim
Boa
Ruim
...
Ficar
Correr
Ficar
Correr
Ficar
Ficar
...
19
Prejuízo
médio
Ficar
alto
Ficar
Anonimato
não
baixo
Explicação
sim
Correr
boa
Ficar
ruim
Correr
20
Induçã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;
21
Indução: passo 1
O+O+
+O+O
OO++
22
Indução: passo 2
O+O
+O+
OO+
++
+
23
Indução: passo 3 ... n
++
+
OO
O
OO+
O+
24
• 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
25
• 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
26
• Superadaptação
– Ramos
excessivos
que
não
significativamente para a classificação
contribuem
• 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
27
Superadaptado?
Generalização Adequada?
28
Aprendizagem 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.
29
Aprendizagem 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
30
Clusterizaçã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
31
• Exemplo:
32
Método Hierárquico Divisivo
• Todos os objetos são inicialmente alocados a um único
grupo, e esse vai sendo dividido (ou partido) em grupos
menores.
Geral
Sub1
teste de discriminação
Sub2
Sub n
...
33
34
Método de Centróides
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.
35
10
9
8
10
7
9
6
8
5
7
4
6
Atualiza
Médias
3
2
5
4
1
3
0
2
0
1
2
3
4
5
6
7
8
9
10
1
0
0
K= Número de
Agrupamentos
1
2
3
4
5
6
7
8
9
10
Reassocia
10
9
8
Inicialização
Aleatória
7
10
6
Atualiza
Médias
5
4
9
8
7
3
6
2
5
1
4
3
0
0
1
2
3
4
5
6
7
8
9
10
2
1
0
0
1
2
3
4
5
6
7
8
369
10
• Problema:
Desequilíbrio na distribuição dos centros...
37
Aprendizagem por Reforço
Metáfora do Agente:
Idéia de interação contínua
Agente
Percepções
Ação
Reforço (+/-)
Ambiente
38
Política de Ações
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
39
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?
40
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
41
Polí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
42
Estimativa da Recompensa
Recompensas
Utilidade
0
0
0
0
10
3
4
6
8
10
0
0
0
0
0
2
3
4
6
8
0
0
0
0
0
1
2
3
4
6
0
0
0
0
0
0
1
2
3
4
43
Métodos de Função de Utilidade
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
44
Métodos de Valor das Ações
Q(s,a) : (S  A)  R
• Cálculo do Valor das Ações:
– Faz uma tabela com o valor de cada par (estadoação)
– Avalia cada par (estado-ação) pelas recompensas
– Método Livre de Modelo
• Algoritmos: Q-Learning
45
Estimativa 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
46
Estimativa da Recompensa
• 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])
47
Exemplo: Labirinto (=0.9)
Função recompensa
Função Q*
Função V*
Uma política de ações ótima
48
Abordagem Evolutiva
• Sistemas Classificadores
– Constrói um conjunto de regras (estado, ação)
– Aplica Algoritmos Genéticos neste conjunto
– Recompensas avaliam a força das regras
Criar Regras
Avaliar Regras
Descoberta
(Algoritmos Genéticos)
Escolher Regras
Atribuição de Crédito
(Bucket Brigade)
Entrada
Desempenho
(Sistema Classificador)
Saída
Recompensa
49
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])
50
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
51
Dilema aproveitamentoexploraçã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
52
Exemplos
• Arm Robot Problem:
– http://www.applied-mathematics.net/
53
Maldiçã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
54
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?
55
56
Aprendizagem de Máquina
Filipo Studzinski Perotto
Luís Otávio Álvares
Porto Alegre,
Junho de 2008.
cv , 2
cv , 2
cv , 2
cv ,1
cv , 2
cv ,1
cv , 2
ck
cv ,1
xi
cv ,1
cv , 2
cv , 2
cv , 2
cv , 2
cv , 2
cv , 2
cv ,1
cv , 2
cv ,1
cv , 2
ck
cv ,1
xi
cv ,1
cv , 2
cv , 2
cv , 2
58
Problema da Estrutura
• Aprendizagem de Variáveis Ocultas
– criar e destruir variáveis
– problema: complexidade exponencial
Hábito 1
Hábito 2
Hábito 3
Doença
Sintoma 1
Sintoma 2
Sintoma 3
59
Indução de Árvores de Decisão
60
Má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
61
• Percorrer a Árvore
– Tomada de Decisão
– Expressão através de Regras: Disjunção de Conjunções
Estrago
médio
Ficar
alto
Ficar
Anonimato
não
baixo
sim
Fugir
Explicação
boa
Ficar
ruim
Fugir
Se (Estrago = Alto) e (Explicação = Ruim) Então Fugir
62
Algoritmos 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
63
Abordagens:
–
–
–
–
–
Simbólica
Conexionista
Analítica
Evolutiva
Estatística
Condições:
–
–
–
–
Representação
Ruído
Determinismo
...
64
Maldiçã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).
65
Exemplo Não-Determinístico
Ações: ,,,
Chance da execução correta: 90%
-1
-1
-1
-1
+100
-1
-1
-1
-1
-100
-1
-1
-1
-1
-1
-50
-50
-50
-50
+100
A
-1
-1
-1
-1
-50
-50
-50
-50
-100
-50
-50
-50
-50
-50
A
-50
-50
-50
-50
66
Download

Aprendizagem_Filipo