introdução - programa de pós-graduação em...

16
Aprendizagem de Máquina Introdução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR) Mestrado em Informática Aplicada Aprendizagem de Máquina 2 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Plano de Aula Introdução à Aprendizagem de Máquina Por que a Aprendizagem Computacional é Difícil ? Problemas de Aprendizagem Projetando um Sistema de Aprendizagem de Máquina Exemplos Tipos de Aprendizagem Tarefa Aplicações Mestrado em Informática Aplicada Aprendizagem de Máquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Desde que os computadores foram inventados temos nos perguntado se eles seriam capazes de aprender Se pudéssemos entender como programá-los para aprender – para se aperfeiçoar automaticamente com experiência – o impacto seria surpreendente. Mestrado em Informática Aplicada Aprendizagem de Máquina 4 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Upload: others

Post on 05-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Aprendizagem de Máquina

Introdução

Aula 1Alessandro L. Koerich

Mestrado em Informática AplicadaPontifícia Universidade Católica do Paraná (PUCPR)

Mestrado em Informática Aplicada Aprendizagem de Máquina 2Alessandro L. Koerich ([email protected])

Plano de Aula

Introdução à Aprendizagem de Máquina

Por que a Aprendizagem Computacional é Difícil ?

Problemas de Aprendizagem

Projetando um Sistema de Aprendizagem de Máquina

Exemplos

Tipos de Aprendizagem

Tarefa

Aplicações

Mestrado em Informática Aplicada Aprendizagem de Máquina 3Alessandro L. Koerich ([email protected])

Introdução

Desde que os computadores foram inventados temos nos perguntado se eles seriam capazes de aprender

Se pudéssemos entender como programá-los para aprender – para se aperfeiçoar automaticamente com experiência – o impacto seria surpreendente.

Mestrado em Informática Aplicada Aprendizagem de Máquina 4Alessandro L. Koerich ([email protected])

Page 2: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 5Alessandro L. Koerich ([email protected])

Introdução

Infelizmente ainda não sabemos como fazer computadores aprender de uma maneira similar a como as pessoas aprendem.

Entretanto, foram inventados algoritmos que são eficientes em certos tipos de tarefas de aprendizado e um entendimento teórico de aprendizagem está começando a surgir.

Mestrado em Informática Aplicada Aprendizagem de Máquina 6Alessandro L. Koerich ([email protected])

O que é Aprendizagem de Máquina?

Mestrado em Informática Aplicada Aprendizagem de Máquina 7Alessandro L. Koerich ([email protected])

O que é Aprendizagem de Máquina?

Aprendizagem é uma propriedade humana essencial

Aprender significa “mudar para fazer melhor” (de acordo com um dado critério) quando uma situação similar acontecer

Aprendizagem, não é “memorizar”. Qualquer computador pode “memorizar”, a dificuldade é em “generalizar” um comportamento para uma nova situação.

Mestrado em Informática Aplicada Aprendizagem de Máquina 8Alessandro L. Koerich ([email protected])

Por que a Aprendizagem é Difícil?

Dado uma quantidade finita de dados para o treinamento, temos que derivar uma relação para um domínio infinitoNa realidade, existe um número infinito de tais relações

Como devemos traçar a relação?

Page 3: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 9Alessandro L. Koerich ([email protected])

Por que a Aprendizagem é Difícil?

Dado uma quantidade finita de dados para o treinamento, temos que derivar uma relação para um domínio infinitoNa realidade, existe um número infinito de tais relações

Qual das relações seria a mais apropriada?

Mestrado em Informática Aplicada Aprendizagem de Máquina 10Alessandro L. Koerich ([email protected])

Por que a Aprendizagem é Difícil?

Dado uma quantidade finita de dados para o treinamento, temos que derivar uma relação para um domínio infinitoNa realidade, existe um número infinito de tais relações

... os pontos de teste ocultos ...

Mestrado em Informática Aplicada Aprendizagem de Máquina 11Alessandro L. Koerich ([email protected])

Introdução

Um programa de computador aprende a partir de uma experiência E com respeito a alguma classe de tarefas T e medida de performance P, SE sua performance nas tarefas em T, medida por P, MELHORA com a experiência E.

Mestrado em Informática Aplicada Aprendizagem de Máquina 12Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Em geral, para termos problemas de aprendizagem bem definidos, devemos identificar três características:

A classe das tarefas;

A medida de performance a ser melhorada;

A fonte de experiência (conhecimento).

Page 4: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 13Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a jogar damas

Tarefa T:Jogar damas

Medida de performance P:Percentagem de jogos ganhos contra oponentes

Experiência de treinamento Ejogando contra si mesmo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 14Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a jogar damas

Mestrado em Informática Aplicada Aprendizagem de Máquina 15Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a reconhecer manuscritos

Tarefa T:Reconhecer/classificar palavras manuscritas presentes em imagens

Medida de performance P:Percentagem de palavras classificadas corretamente

Experiência de treinamento E:Base de dados com palavras manuscritas e respectivas etiquetas (classes a que elas pertencem).

Mestrado em Informática Aplicada Aprendizagem de Máquina 16Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a reconhecer manuscritos

Roubaix Cedex

HALLUIN CEDEX

Chiré em Montreuil

Roubaix Cedex

Page 5: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 17Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a reconhecer manuscritos

Mestrado em Informática Aplicada Aprendizagem de Máquina 18Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprendizagem de um robô motorista

Tarefa T:Dirigir em uma via pública de 3 pistas usando sensores de visão

Medida de performance P:Distância média percorrida antes de cometer um erro (julgado por observador humano)

Experiência de treinamento E:Seqüência de imagens e comandos de direção gravados a partir da observação de um motorista humano.

Mestrado em Informática Aplicada Aprendizagem de Máquina 19Alessandro L. Koerich ([email protected])

Projetando um Sistema de Aprendizagem

Projetar um programa para aprender a jogar damas.

Medida de performance: percentagem de jogos ganhos

Mestrado em Informática Aplicada Aprendizagem de Máquina 20Alessandro L. Koerich ([email protected])

Projetando um Sistema de Aprendizagem

Etapas básicas de projeto:

Escolha da experiência de treinamento

Escolha da função objetiva

Escolha de uma representação para a função objetiva

Escolha de um algoritmo para a função de aproximação

Page 6: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 21Alessandro L. Koerich ([email protected])

Experiência de Treinamento

Escolher o tipo de experiência de treinamento a partir da qual o sistema aprenderá

Experiência direta ou indireta ?

O grau de controle sobre a seqüência de exemplos de treinamento;

com ou sem instrutor ?

A experiência de treinamento representa a distribuição de exemplos sobre os quais a performance final (P ) do sistema deve ser medida.

Mestrado em Informática Aplicada Aprendizagem de Máquina 22Alessandro L. Koerich ([email protected])

Experiência de Treinamento

Atenção: A teoria de aprendizagem de máquina recai sobre a hipótese de que a distribuição dos exemplos de treinamento é idêntica a distribuição dos exemplos de teste.

Apesar da necessidade de considerarmos esta hipótese para obter resultados teóricos, é importante ter em mente que esta suposição é quase sempre violada na prática.

Mestrado em Informática Aplicada Aprendizagem de Máquina 23Alessandro L. Koerich ([email protected])

Experiência de Treinamento

O problema de aprendizagem de damas:Tarefa T : jogando damas

Medida de performance P : percentagem de jogos ganhos

Experiência de treinamento E : partidas jogadas contra si mesmo

Para completarmos o projeto do sistema de aprendizagem, devemos agora escolher:

1. O tipo exato de conhecimento a ser aprendido

2. Uma representação para este conhecimento alvo

3. Um mecanismo de aprendizagem

Mestrado em Informática Aplicada Aprendizagem de Máquina 24Alessandro L. Koerich ([email protected])

Função Objetiva

Que tipo de conhecimento será aprendido e como ele será utilizado em um programa?

O programa necessita aprender apenas como escolher o melhor movimento dentre os movimentos possíveis.

Este problema é representativo de um grande número de tarefas para as quais a melhor estratégia de busca não é conhecida.Muitos problemas de otimização são desta categoria.

Page 7: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 25Alessandro L. Koerich ([email protected])

Função Objetiva

Aprender: Escolher o melhor movimento para qualquer estado do tabuleiro.

Função: ChooseMoveChooseMove : B M

A função aceita como entrada qualquer estado do conjunto de estados possíveis do tabuleiro B e produz como saída algum movimento do conjunto de movimento possíveis M.

Como é possível reduzir o problema de melhorar a performance P da tarefa T, para o problema de aprender uma função objetiva tal como ChooseMove.

Mestrado em Informática Aplicada Aprendizagem de Máquina 26Alessandro L. Koerich ([email protected])

Função Objetiva

Porém, é difícil de aprender a função ChooseMove a partir da experiência de treinamento disponível.

Função alternativa: uma função V que atribui um valor numérico para qualquer estado do tabuleiro.

V : B ℜ indica que V mapeia qualquer estado legal do tabuleiro do conjunto B para algum valor real.

Usamos esta função V para atribuir valores maiores para os melhores estados do tabuleiro.

Mestrado em Informática Aplicada Aprendizagem de Máquina 27Alessandro L. Koerich ([email protected])

Função Objetiva

Uma das possíveis definições para a função V (b), onde b é um estado arbitrário do tabuleiro em B:

Se b é um estado final que é vitorioso, entãoV (b) = 100

Se b é um estado final que é perdedor, entãoV (b) = –100

Se b é um estado final que é empate, entãoV (b) = 0

Se b não é um estado final no jogo, então, V (b) = V (b’ )

onde b’ é o melhor estado final que pode ser atingido começando em b e jogando otimamente até o final do jogo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 28Alessandro L. Koerich ([email protected])

Função Objetiva

Esta definição especifica um valor de V (b ) para cada estado do tabuleiro (b ), entretanto, esta definição não é operacional

Precisamos de uma descrição operacional de V que possa ser usada pelo programa para avaliar estados e selecionar movimentos dentro de um tempo realístico.

Tarefa de Aprendizagem: descobrir uma descrição operacional da função objetiva ideal V

Algoritmos de aprendizagem Aproximação da função objetiva (V’ ) Aproximação da função

Page 8: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 29Alessandro L. Koerich ([email protected])

Representação para Função Objetiva

Depois de especificar V, devemos escolher a representação que o programa de aprendizagem usará para descrever a função V’ que ele aprenderá.

Temos muitas opções . . .Coleção de regras?

Redes neurais?

Funções polinomiais?

etc...

Em geral temos um compromisso crucial: representação mais expressiva mais dados para treinamento

Mestrado em Informática Aplicada Aprendizagem de Máquina 30Alessandro L. Koerich ([email protected])

Representação para Função Objetiva

Escolha: a função V’ será calculada como uma combinação linear das seguintes características do tabuleiro:

bp (b): número de peças pretas no tabuleiro b

rp (b): número de peças vermelhas sobre b

bk (b): número de reis pretos sobre b

rk (b): número de reis vermelhos sobre b

bt (b): número de peças vermelhas ameaçadas pelas pretas (i.e., que podem ser tiradas na vez do preto)

rt (b): número de peças pretas ameaçadas pelas vermelhas.

Mestrado em Informática Aplicada Aprendizagem de Máquina 31Alessandro L. Koerich ([email protected])

Representação para Função Objetiva

Então, a aprendizagem irá representar V’ (b ) como uma função linear da forma:

V’(b) = w0 + w1bp (b ) + w2 rp (b ) + w3 bk (b ) + w4 rk (b ) + w5 bt (b ) + w6 rt (b )

onde w0 a w6 são coeficientes numéricos, ou pesos, a

serem escolhidos pelo algoritmo de aprendizagem.

Os valores “aprendidos” para os pesos w1 a w6determinarão a importância relativa das várias características do tabuleiro.

Mestrado em Informática Aplicada Aprendizagem de Máquina 32Alessandro L. Koerich ([email protected])

Projeto Parcial

Tarefa T : jogar damas

Medida de Performance P : percentagem de partidas ganhas

Experiência de Treinamento E : partidas jogadas contra si mesmo

Função Objetivo: V : B ℜ

Representação da Função Objetiva:V’(b) = w0 + w1bp (b ) + w2 rp (b ) + w3 bk (b ) + w4 rk (b ) + w5bt (b ) + w6 rt (b )

Page 9: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 33Alessandro L. Koerich ([email protected])

Projeto Parcial

O itens anteriores correspondem a especificação da tarefa de aprendizagem;

Os dois itens finais são escolhas do projeto para a implementação da aprendizagem.

Em resumo, o conjunto de escolhas do projeto:Problema de aprender uma estratégia

Problema de aprender os valores dos coeficientes da representação da função objetiva.

Mestrado em Informática Aplicada Aprendizagem de Máquina 34Alessandro L. Koerich ([email protected])

Algoritmo de Aproximação

Para aprender a função objetiva V’necessitamos de um conjunto de exemplos de treinamento, cada um descrevendo um estado bespecífico do tabuleiro e o valor de treinamento Vtrain(b ) para b.

Cada exemplo de treinamento é um par ordenado na forma <b, Vtrain(b ) >

Mestrado em Informática Aplicada Aprendizagem de Máquina 35Alessandro L. Koerich ([email protected])

Algoritmo de Aproximação

A única informação disponível é se a partida foi eventualmente ganha ou perdida.

Necessitamos de exemplos de treinamento que atribuam valores específicos para estados específicos do tabuleiro.

É fácil atribuir valores para os estados do tabuleiro que correspondem ao final do jogo.

É menos óbvio atribuir valores de treinamento para os numerosos estados intermediários que ocorrem antes do jogo acabar.

Mestrado em Informática Aplicada Aprendizagem de Máquina 36Alessandro L. Koerich ([email protected])

Algoritmo de Aproximação

Uma solução simples: atribuir o valor de treinamento de Vtrain (b ) para qualquer estado intermediário b do tabuleiro ser V’ (Sucessor (b )), onde V’ é a aproximação atual de V e V’ (Sucessor (b )) indica o próximo estado seguindo b para o qual é novamente a vez do programa mover.

Regra para estimar valores de treinamento:

Vtrain (b ) V’ (Sucessor (b ))

Page 10: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 37Alessandro L. Koerich ([email protected])

Algoritmo de Aproximação

Ainda falta especificar o algoritmo de aprendizagem que melhor ajusta os pesos wi ao conjunto de exemplos de treinamento {<b, Vtrain (b )>}.

O que significa “melhor ajuste” aos dados de treinamento?

Uma solução: minimizar o erro quadrático E entre os valores de treinamento e os valores preditos pela hipótese V’.

( )∑∈><

−≡to treinamende amostras )(,

2)(')(bVb

traintrain

bVbVE

Mestrado em Informática Aplicada Aprendizagem de Máquina 38Alessandro L. Koerich ([email protected])

Algoritmo de Aproximação

Existem diversos algoritmos para encontrar pesos de uma função linear que minimiza E. Um deles é o LMS (mínimos quadrados).

Regra de atualização dos pesos LMSFaça repetidamente

Selecione aleatoriamente um exemplo de treinamento b1.Calcule o erro(b)

erro(b) = Vtrain(b)-V’(b)2.Para cada característica do tabuleiro fi, atualize o peso wi

como:wi wi + η fi erro(b)

onde η é uma pequena constante (p.e. 0.1) que regula a taxa da atualização do peso (aprendizagem).

Mestrado em Informática Aplicada Aprendizagem de Máquina 39Alessandro L. Koerich ([email protected])

Projeto Final

A seqüência de escolhas de projeto feitas...

Mestrado em Informática Aplicada Aprendizagem de Máquina 40Alessandro L. Koerich ([email protected])

Exemplo

Um problema de classificação: predizer as notas para os estudantes matriculados neste curso (aprendizagem de máquina).

Page 11: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 41Alessandro L. Koerich ([email protected])

Exemplo

Um problema de classificação: predizer as notas para os estudantes matriculados neste curso (aprendizagem de máquina).

Passos principais:1. Dados

2. Hipóteses

3. Representação

4. Estimação

5. Avaliação

6. Escolha do Modelo

Mestrado em Informática Aplicada Aprendizagem de Máquina 42Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

Mestrado em Informática Aplicada Aprendizagem de Máquina 43Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

2. Hipóteses: O que podemos assumir a respeito dos estudantes ou sobre o curso?

Mestrado em Informática Aplicada Aprendizagem de Máquina 44Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

2. Hipóteses: O que podemos assumir a respeito dos estudantes ou sobre o curso?

3. Representação: Como podemos “resumir” um estudante?

Page 12: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 45Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

2. Hipóteses: O que podemos assumir a respeito dos estudantes ou sobre o curso?

3. Representação: Como podemos “resumir” um estudante?

4. Estimação: Como construímos um mapa estudantes notas?

Mestrado em Informática Aplicada Aprendizagem de Máquina 46Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

2. Hipóteses: O que podemos assumir a respeito dos estudantes ou sobre o curso?

3. Representação: Como podemos “resumir” um estudante?

4. Estimação: Como construímos um mapa estudantes notas?

5. Avaliação: Quão bem estamos predizendo?

Mestrado em Informática Aplicada Aprendizagem de Máquina 47Alessandro L. Koerich ([email protected])

Exemplo

Passos principais:1. Dados: Podemos contar com qual experiência

anterior?

2. Hipóteses: O que podemos assumir a respeito dos estudantes ou sobre o curso?

3. Representação: Como podemos “resumir” um estudante?

4. Estimação: Como construímos um mapa estudantes notas?

5. Avaliação: Quão bem estamos predizendo?

6. Escolha do Modelo: Podemos fazer ainda melhor?

Mestrado em Informática Aplicada Aprendizagem de Máquina 48Alessandro L. Koerich ([email protected])

Exemplo

Os dados que temos disponíveis (a princípio):

Nomes e notas dos estudantes no curso nos anos anteriores

Boletim acadêmico dos estudantes atuais e anteriores

Page 13: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 49Alessandro L. Koerich ([email protected])

Dados

Dados para treinamento:

Dados para teste:

Alguma coisa mais que possamos utilizar?

AABMariaABAJoão

Curso 2Curso 1AdeMEstudante

AA?AnaAC?José

Curso 2Curso 1AdeMEstudante

Mestrado em Informática Aplicada Aprendizagem de Máquina 50Alessandro L. Koerich ([email protected])

Hipóteses

Existem várias hipóteses que podemos fazer para facilitar as predições:

1. O curso permaneceu aproximadamente o mesmo nos últimos anos

2. Cada estudante atua independentemente dos outros

Mestrado em Informática Aplicada Aprendizagem de Máquina 51Alessandro L. Koerich ([email protected])

Representação

Boletins acadêmicos são particularmente diversos, então devemos limitar os resumos a alguns poucos cursos selecionados

Por exemplo, podemos resumir o estudante io

(João), por um vetor:

xi = [A C B ]

onde as notas correspondem a (digamos): 9.6, 5.8, 7.3

Mestrado em Informática Aplicada Aprendizagem de Máquina 52Alessandro L. Koerich ([email protected])

Representação

O dados disponíveis nesta representação

?

...

x’2...

B

...

x2

...

?x’1Ax1

Nota em AdeM

EstudanteNota em

AdeMEstudante

TesteTreinamento

Page 14: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 53Alessandro L. Koerich ([email protected])

Estimação

Dado os dados de treinamento

Precisamos encontrar um mapeamento dos “vetores de entrada” x para as “etiquetas” (labels) y codificando as notas do curso AdeM

B

...

x2

...

Ax1

Nota em AdeM

Estudante

Mestrado em Informática Aplicada Aprendizagem de Máquina 54Alessandro L. Koerich ([email protected])

Estimação

Solução possível classificador vizinhos mais próximos (nearest neighbour):

1. Para cada estudante x, encontrar o estudante xi

mais próximo no conjunto de treinamento;

2. Predizer yi, como sendo a nota do estudante mais próximo xi .

Mestrado em Informática Aplicada Aprendizagem de Máquina 55Alessandro L. Koerich ([email protected])

Avaliação

Como podemos dizer se nossas predições são boas ?

Podemos esperar até o final do curso

Podemos tentar avaliar a precisão baseando–se nos dados que já temos (conjunto de treinamento)

Solução possível:Dividir o conjunto de treinamento em novos conjuntos de treinamento e teste

Avaliar o classificador construído baseando–se somente no novo conjunto de treinamento sobre o novo conjunto de testes

Mestrado em Informática Aplicada Aprendizagem de Máquina 56Alessandro L. Koerich ([email protected])

Escolha do Modelo

Podemos refinar:O algoritmo de estimação (por exemplo, utilizando um classificador diferente);

A representação (por exemplo, basear o resumo em um conjunto diferente de cursos);

As hipóteses (talvez os estudantes trabalhem em grupos, etc.)

Temos que nos basear no método de avaliação da precisão de nossas predições para escolher entre os possíveis refinamentos.

Page 15: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 57Alessandro L. Koerich ([email protected])

Tipos de Problemas de Aprendizagem

Uma classificação aproximada dos problemas de aprendizagem:

Aprendizagem Supervisionada: temos um conjunto de entradas e saídas para fazer o treinamento.Ex: classificação, regressão.

Aprendizagem Não Supervisionada: estamos interessados em capturar uma organização inerente dos dados.Ex: clustering, estimação de densidade.

Mestrado em Informática Aplicada Aprendizagem de Máquina 58Alessandro L. Koerich ([email protected])

Tipos de Problemas de Aprendizagem

Aprendizagem com Reforço: somente obtemos um feedback na forma de quão bem estamos fazendo (e não o que deveríamos estar fazendo).Ex: planejamento

Mestrado em Informática Aplicada Aprendizagem de Máquina 59Alessandro L. Koerich ([email protected])

Aprendizagem Supervisionada

Exemplo: reconhecimento de dígitos (dígitos binários 8X8)

Desejamos aprender o mapeamento de dígitos para classes.

dígito binário classe alvo

Mestrado em Informática Aplicada Aprendizagem de Máquina 60Alessandro L. Koerich ([email protected])

Aprendizagem Supervisionada

Um mudança na representação que preserva as informações relevantes pode tornar impossível a aprendizagem.

Page 16: Introdução - Programa de Pós-Graduação em Informáticaalekoe/AM/2005/1-Introducao-ApreMaq.pdfIntrodução Aula 1 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia

Mestrado em Informática Aplicada Aprendizagem de Máquina 61Alessandro L. Koerich ([email protected])

Aprendizagem Supervisionada

Dado um conjunto de exemplos de treinamento { (x1,y1), . . . , (xn,yn) }, queremos aprender um mapeamento f : X → Y tal que:

yi ≈ f (xi), i = 1, . . . ,n

Mestrado em Informática Aplicada Aprendizagem de Máquina 62Alessandro L. Koerich ([email protected])

Aprendizagem Não Supervisionada

Os dígitos novamente...

Gostaríamos de entender o processo de criação dos exemplos (neste caso, dígitos)

Mestrado em Informática Aplicada Aprendizagem de Máquina 63Alessandro L. Koerich ([email protected])

Aplicações

Processamento VisualVerificação de facesReconhecimento de manuscritos

Processamento da FalaFonemas, palavras, sentenças, reconhecimento de pessoas

OutrosFinanças: predição de ações, gerenciamento de risco e portofolioTelecomunicações: predição de tráfegoDatamining: fazer uso de grandes conjuntos de dados mantidos por grandes corporaçõesJogos: xadrez, gamão, etc. Controle: robôs

... e muitas outras é claro!