Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

38
Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares

Transcript of Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Page 1: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Aprendizagem de Máquina

Ivan Medeiros MonteiroLuis Otavio Alvares

Page 2: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Definindo aprendizagem Dizemos que um sistema aprende se o mesmo é

capaz de melhorar o seu desempenho a partir de suas experiências anteriores.

O aprendizado envolve a generalização a partir da experiência

O desempenho deve melhorar não apenas na repetição da mesma tarefa, mas também nas tarefas similares do domínio

Page 3: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

O desafio do aprendizagem• Na maioria dos problemas de aprendizagem,

os dados disponíveis não são suficientes para garantir a generalização ótima

• Por isso, os algoritmos de aprendizagem de máquinas são heurísticas que variam nos seus objetivos, na disponibilidade de dados de treinamento, nas estratégias de aprendizagem e na representação do conhecimento.

Page 4: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Exemplos de Problemas de aprendizagem• Reconhecimento de assinaturas• Classificar mensagens• Identificação de perfil de usuários• Interação em ambientes desconhecidos• Agrupar itens com características semelhantes• Conduzir um veículo

Page 5: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Tipos de aprendizagem• Supervisionado • O sistema é informado sobre seus erros e quais

os resultados esperados.

• Não supervisionado– O sistema precisa identificar relações existentes

no seu conjunto de experiências

Por ReforçoPossibilita a aprendizagem a partir de interação com o ambiente

Page 6: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Tipos de Tarefas de Aprendizagem• Geração de modelos descritivos

– Determinação de protótipos de agrupamentos– Determinação de co-ocorrências de valores de

atributos• Geração de modelos preditivos

– Classificação– Regressão

Page 7: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Descritivos• Em geral, a tarefa de geração de um

modelo descritivo consiste em analisar os dados do domínio e sugerir uma partição deste domínio, de acordo com similaridades observadas nos dados

– Descoberta de particionamentos– Modelo de agrupamento dos dados

Page 8: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Descritivos: Agrupamento

Agrupar plantas em três grupos distintos com base nas medidas de suas pétalas e sépalas.

Page 9: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Descritivos: associativo• Um modelo associativo é um caso especial

de um modelo descritivo• A tarefa de geração de um modelo

associativo consiste em analisar os dados do domínio e encontrar co-ocorrências de valores de atributos.

• Um modelo associativo é normalmente representado por um conjunto de regras de associação.

Page 10: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Associativos: Cesta de Compras

Consiste em analisar transações de compras de clientes e determinar quais são os itens que frequentemente são comprados juntos.

pode-se usar esta informação paradesenvolver políticas de marketing e preço.

Page 11: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Preditivos• A tarefa de geração de um modelo preditivo

consiste em aprender um mapeamento da entrada para a saída.

• Neste caso, os dados contêm os valores de saída “desejados”, correspondente para cada amostra– Classificação: saídas discretas representam rótulos

de classe.– Regressão: saídas contínuas representam valores

de variáveis dependentes.

Page 12: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Preditivos: Classificação

Dado um conjunto de treinamento, com exemplos rotulados das plantas, aprender a classificá-las corretamente com base em suas medidas.

Page 13: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Modelos Preditivos: Classificação• Reconhecimento de assinaturas– A partir de um conjunto de assinaturas de uma

pessoa, utilizadas para o treinamento do modelo, identificar se uma nova assinatura pertence a esta pessoa.

• Classificação de mensagens– A partir de um conjunto de mensagens definidas

pelo usuário como SPAM, identificar se a nova mensagem é SPAM ou não.

Page 14: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Aprendizagem por Reforço• Técnica que possibilita a aprendizagem a partir da

interação com o ambiente.

• A interação com o ambiente permite inferir relações de causa e efeito sobre as conseqüências de nossas ações e sobre o que fazer para atingir nossos objetivos.

• Aprender por reforço significa aprender o que fazer - como realizar o mapeamento de situações em ações (comportamento) - de modo a maximizar um sinal numérico de recompensa.

Page 15: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Aprendizagem por Reforço

• Não se dispõe da informação sobre quais ações devem ser tomadas, mas o ambiente permite uma avaliação crítica das ações realizadas.

• O sistema de aprendizagem deve descobrir quais ações têm mais chances de produzir recompensa, e realizá-las.

• Nos casos mais interessantes e difíceis as ações podem afetar não apenas a recompensa imediata mas também a próxima situação e através dela todas as recompensas subseqüentes.

Page 16: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Aprendizagem interativa através de agentes

• Um agente pode ser visto como uma modelagem conceitual que utiliza a forma de interação, através de percepções e ações, na tentativa de alcançar uma solução para o problema.

• O objeto com o qual o agente interage é chamado de ambiente

• A interação se dá com o agente selecionando ações e o ambiente respondendo a estas ações apresentando novas situações para o agente.

Page 17: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

• A cada instante de tempo t:– O agente está no estado st

– Executa uma ação at

– Que o leva para o estado st+1

– Com isso agente recebe uma recompensa r(st,at)

• Objetivo:– Encontrar a política de ações que maximize o

total de recompensas recebidas pelo agente.

Política de AçõesDefinição do problema

Page 18: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Função de Utilidade• U(s) : S → R, sendo:– S o conjunto dos estados– R o conjunto dos reais, representando o valor da

utilidade

• Normalmente representado como uma tabela que mapeia cada estado em sua utilidade

• Constrói um modelo de transição de estados

Page 19: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

• Qπ(s,a) : (S x A) → R, onde:– S é o conjunto dos estados possíveis.– A é o conjunto das ações possíveis– R é o conjunto real que representa os valores de

recompensa recebidos pelo agente.

• Pode ser representada como uma tabela com o valor de cada par (estado X ação)

• Método utilizado pelo algoritmo Q-Learning

Método de Valor das Ações

Page 20: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Algoritmo Q-Learning• Inicializar Q(s,a), arbitrário• Repetir ( para cada episódio ):– Inicializar s– Repetir ( para cada passo até o objetivo ):• Escolher a ação a com base na política derivada de Q (ex:

gulosa)• Realizar a ação a• Observar o recompensa r e o novo estado s'• V = r + maxa' Q(s', a') = função de valor para a política • Q(s,a) = Q(s,a) + α[V – Q(s,a)]• s ← s' , a ← a‘

Page 21: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.
Page 22: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Exemplo: Desviando de obstáculo (Início)

Ações• Definição do problema– Encontrar a flor com o menor

desgaste possível.– Estados• S = {s1, s2, s3, s4, s5, s6}

– Ações possíveis• A = {Frente, Cima, Baixo}

– Inicialização• Q(s,a) = 0, ∀s,∀a

• = 0.5• α = 0.5

Recompensarecompensa

Page 23: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 1)Ações• s ← s4

• Escolher ação baseado em Q– Q(s4,frente)=0– Q(s4,cima)=0

• Ação: frente• r = -100 • s' ← s5• V = r + maxa' Q(s', a')

– V = -100 + 0.5* maxa' Q(s5, a')• V= -100

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s4,frente) = Q(s4,frente) + 0.5*[-100 – 0]

• Q(s4,frente) = - 50

Recompensa

Page 24: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 1)Ações• s ← s5

• Escolher ação baseado em Q– Q(s5,frente)=0– Q(s5,cima)=0

• Ação: frente• r = 1 • s' ← s6• V = r + maxa' Q(s', a')

– V = 1 + 0.5* maxa' Q(s6, a')• V= 1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s5,frente) = Q(s5,frente) + 0.5*[1 – 0]

• Q(s5,frente) = 0.5

Recompensa

Page 25: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 2)Ações• s ← s4

• Escolher ação baseado em Q– Q(s4,frente)=-50– Q(s4,cima)=0

• Ação: cima• r = -1 • s' ← s1• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s1, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s4,cima) = Q(s4,cima) + 0.5*[-1 – 0]

• Q(s4,cima) = - 0.5

Recompensa

Page 26: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 2)Ações• s ← s1

• Escolher ação baseado em Q– Q(s1,frente)=0– Q(s1,baixo)=0

• Ação: frente• r = -1 • s' ← s2• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s2, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s1,frente) = Q(s1,frente) + 0.5*[-1 – 0]

• Q(s1,frente) = - 0.5

Recompensa

Page 27: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 2)Ações• s ← s2

• Escolher ação baseado em Q– Q(s2,frente)=0– Q(s2,baixo)=0

• Ação: frente• r = -1 • s' ← s3• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s3, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s2,frente) = Q(s2,frente) + 0.5*[-1 – 0]

• Q(s2,frente) = - 0.5

Recompensa

Page 28: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 2)Ações• s ← s3

• Escolher ação baseado em Q– Q(s3,baixo)=0

• Ação: baixo• r = 1 • s' ← s6• V = r + maxa' Q(s', a')

– V = 1 + 0.5* maxa' Q(s6, a')• V= 1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s3,baixo) = Q(s3,baixo) + 0.5*[1 – 0]

• Q(s3,baixo) = 0.5

Recompensa

Page 29: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s4

• Escolher ação baseado em Q– Q(s4,frente)=-50– Q(s4,cima)=-0.5

• Ação: cima• r = -1• s' ← s1• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s1, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s4,cima) = Q(s4,cima) + 0.5*[-1 + 0.5]

• Q(s4,cima) = - 0.75

Recompensa

Page 30: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s1

• Escolher ação baseado em Q– Q(s1,frente)=-0.5– Q(s1,baixo)=0

• Ação: baixo• r = -1• s' ← s4• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s4, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s1,baixo) = Q(s1,baixo) + 0.5*[-1 – 0]

• Q(s1, baixo) = - 0.5

Recompensa

Page 31: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s4

• Escolher ação baseado em Q– Q(s4,frente)=-50– Q(s4,cima)=-0.75

• Ação: cima• r = -1• s' ← s1• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s1, a')• V= -1 - 0.5

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s4,cima) = Q(s4,cima) + 0.5*[-1.5 + 0.75]

• Q(s4,cima) = - 1.125

Recompensa

Page 32: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s1

• Escolher ação baseado em Q– Q(s1,frente)=-0.5– Q(s1,baixo)=-0.5

• Ação: frente• r = -1• s' ← s2• V = r + maxa' Q(s', a')

– V = -1 + 0.5* maxa' Q(s2, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s1, frente) = Q(s1, frente) + 0.5*[-1 + 0.5]

• Q(s1, frente) = - 0.75

Recompensa

Page 33: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s2

• Escolher ação baseado em Q– Q(s2,frente)=-0.5– Q(s2,baixo)= 0

• Ação: baixo• r = -100• s' ← s5• V = r + maxa' Q(s', a')

– V = -100 + 0.5* maxa' Q(s5, a')• V= -1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s2, baixo) = Q(s2, baixo) + 0.5*[-100 + 0]

• Q(s2, baixo) = - 50

Recompensa

Page 34: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 3)Ações• s ← s5

• Escolher ação baseado em Q– Q(s5,frente)=0.5– Q(s5,cima)= 0

• Ação: frente• r = 1• s' ← s6• V = r + maxa' Q(s', a')

– V = 1 + 0.5* maxa' Q(s6, a')• V= 1

• Q(s,a) = Q(s,a) + α[V – Q(s,a)]– Q(s5, frente) = Q(s5, frente) + 0.5*[1 - 0.5]

• Q(s5, frente) = 0.75

Recompensa

Page 35: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Desviando de obstáculo (Época 4)Ações• Q(s1, frente) = -0,75

• Q(s1, baixo) = - 0,5

• Q(s2, frente) = -0.5

• Q(s2, baixo) = - 50

• Q(s3,baixo) = 0.5

• Q(s4, frente) = - 50

• Q(s4, cima) = -1,125

• Q(s5, frente) = 0,75

• Q(s5,cima)= 0.0

Recompensa

Page 36: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Dilema: Aproveitar x Explorar• Quando gulosamento aproveitar da estimação atual

da função de 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 o tempo.

Page 37: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

Maldição da Dimensionalidade• O número de estados possíveis cresce

exponencialmente com 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

Page 38: Aprendizagem de Máquina Ivan Medeiros Monteiro Luis Otavio Alvares.

ExemploArm Robot Problem:

http://www.applied-mathematics.net/

(clicar em control e depois em Q-learning, bem embaixo)