19
Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado em Informática Pontifícia Universidade Católica do Paraná (PUCPR) Mestrado/Doutorado em Informática Aprendizagem de Máquina 2 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Desde que os computadores foram inventados temos nos perguntado: “Eles são capazes de aprender?” Se pudéssemos programá-los para aprender – para se aperfeiçoar automaticamente com a experiência – o impacto seria surpreendente. Mestrado/Doutorado em Informática Aprendizagem de Máquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado/Doutorado em Informática Aprendizagem de Máquina 4 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Infelizmente ainda não sabemos como fazer computadores aprender de uma maneira similar a maneira como os humanos aprendem. Entretanto, foram desenvolvidos algoritmos que são eficientes em certos tipos de tarefas de aprendizagem e um entendimento teórico de aprendizagem está começando a surgir.

Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Embed Size (px)

Citation preview

Page 1: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Aprendizagem de Máquina

Introdução

Alessandro L. Koerich

2007Mestrado/Doutorado em Informática

Pontifícia Universidade Católica do Paraná (PUCPR)

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

Introdução

Desde que os computadores foram inventados temos nos perguntado:

“Eles são capazes de aprender?”

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

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

Introdução

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

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

Page 2: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

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

O que é Aprendizagem de Máquina?

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

O que é Aprendizagem de Máquina?

Aprendizagem é uma propriedade essencialmente humana

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/Doutorado em Informática Aprendizagem de Máquina 7Alessandro L. Koerich ([email protected])

Generalizar?

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

Generalizar?

Page 3: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

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

Duas Fases da Aprendizagem

Treinamento (supervisionado)Apresentamos exemplos ao sistema

O sistema “aprende” a partir dos exemplos

O sistema modifica gradualmente seus parâmetros ajustáveis para que a saída se aproxime da saída desejada.

UtilizaçãoNovos exemplos jamais visto aparecem

Desejamos que o sistema generalize!

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

Tipos de Problemas

ClassificaçãoDiz se a "entrada" pertence a uma certa classe

Dada a imagem de uma face: de quem é esta face (dentre um número finito)

RegressãoFazer uma predição a partir de um exemplo

Predizer o valor da bolsa amanhã, dados os valores de dias e meses anteriores.

Estimação de DensidadeJá vimos este exemplo? (ou um exemplo similar)?

Quais são as K categorias principais dos dados?

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

Formas de Aprendizagem

SupervisionadaFornecemos a “boa resposta” durante o treinamentoÉ o mais eficiente porque fornece mais informações.Útil para classificação, regressão, estimação de probabilidade condicional (qual é a probabilidade que um cliente com tal perfil compre tal produto?)

Por ReforçoNão damos a “boa resposta. O sistema faz uma hipótese lhe dizemos “bom / ruim”Útil para o controle de robôs

Não SupervisionadaEx: Quais são as características principais dos clientes típicos? (segmentação do mercado)

Mestrado/Doutorado em Informática Aprendizagem de Máquina 12Alessandro 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 4: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 13Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 14Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 15Alessandro L. Koerich ([email protected])

Generalizar é Difícil

Não queremos aprender por memorização (decorar!)

Boa resposta sobre os exemplos de treinamento somenteFácil para um computador (um arquivo de dados)Difícil para os humanos

Aprender visando generalizarMais interessanteFundamentalmente mais difícil: diversas maneiras de generalizarDevemos extrair a essência, a estrutura dos dados e não somente aprender a boa resposta para alguns casos.

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

Exemplo: Selecionamos os Dados

2 4 6 8 10

0.5

1

1.5

2

2.5

3

a. Underlying Function

Entrada = perfil do caso

Saída =Valor àestimar

Pontilhado = a melhorresposta possível dados os pontos de entrada (desconhecido do aprendiz)Cada ponto =

um exemplo

Page 5: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

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

Sobreajuste (Overfitting)

2 4 6 8 10

0.5

1

1.5

2

2.5

3

b. Overfitting

Aprendemos por memorização, mais isso não generaliza bem novos casos.

Erro baixo sobre os exemplos de aprendizagem. Mais elevado para os de teste.

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

Subajuste (Underfitting)

2 4 6 8 10

0.5

1

1.5

2

2.5

3

c. Underfitting

Escolhemos um modelo muito simples (linear): erro elevado na aprendizagem e teste (pontilhado)

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

Um Bom Modelo

2 4 6 8 10

0.5

1

1.5

2

2.5

3

d. Good Fit

O modelo ésuficientemente flexível para capturar a forma curva mais não muito para obter um sobre ajuste.

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

Maldição da Dimensionalidade

Aprendizagem pode se tornar cada vez mais difícil a medida em que o número de características de cada caso aumenta.

Exemplo: perfil de clientes alvo

Número de Chamadas

Duração da Chamada

46

82

13 9

12

15

Cada posição contém o número de casos encontrados.

2

1

2

1

1

11

Número de casos =# categoria duração X# categoria chamadas= 6 x 5

63

2 2

Page 6: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

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

Maldição da Dimensionalidade

Se o número de características é 10 se cada característica puder assumir 10 valores diferentes, o número de casos casas (perfis diferentes) é

10 x 10 x 10 … x 10 = 10

Este número é astronômico. Mesmo uma grande base de dados representa uma ínfima fração deste número.

Para generalizar deve-se então descobrir uma estrutura mais ampla, o que muitos casos tem em comum.

100

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

Combate a Maldição

Alguns algoritmos de aprendizagem modernos tentam enfrentar este desafio:

Redes neurais artificiais

Máquina de suporte vetorial (SVM)

Adaboost

Idéia Principal: utilizar um modelo flexível mas que permita resumir as informações intrínseca nos dados. Si existe regularidade nos dados, este tipo de modelo tem grande chance de capturar.

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

Exemplo de Problema

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/Doutorado em Informática Aprendizagem de Máquina 24Alessandro 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 7: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 25Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 26Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a jogar damas

Mestrado/Doutorado em Informática Aprendizagem de Máquina 27Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 28Alessandro L. Koerich ([email protected])

Problemas Bem Definidos

Exemplo: Aprender a reconhecer manuscritos

Roubaix Cedex

HALLUIN CEDEX

Chiré em Montreuil

Roubaix Cedex

Page 8: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

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

Problemas Bem Definidos

Exemplo: Aprender a reconhecer manuscritos

Mestrado/Doutorado em Informática Aprendizagem de Máquina 30Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 31Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 32Alessandro 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 9: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 33Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 34Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 35Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 36Alessandro 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 10: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 37Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 38Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 39Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 40Alessandro 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 11: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 41Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 42Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 43Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 44Alessandro 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 12: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 45Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 46Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 47Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 48Alessandro 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 13: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 49Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 50Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 51Alessandro L. Koerich ([email protected])

Projeto Final

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

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

Exemplo

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

Page 14: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 53Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 54Alessandro L. Koerich ([email protected])

Exemplo

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

anterior?

Mestrado/Doutorado em Informática Aprendizagem de Máquina 55Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 56Alessandro 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 15: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 57Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 58Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 59Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 60Alessandro 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 16: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 61Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 62Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 63Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 64Alessandro 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 17: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 65Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 66Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 67Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 68Alessandro 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 18: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 69Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 70Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 71Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 72Alessandro 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 19: Aprendizagem de Máquina Desde que os computadores foram ...alekoe/AM/2007/1-Introducao-ApreMaq-2007.pdf · Aprendizagem de Máquina Introdução Alessandro L. Koerich 2007 Mestrado/Doutorado

Mestrado/Doutorado em Informática Aprendizagem de Máquina 73Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 74Alessandro 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/Doutorado em Informática Aprendizagem de Máquina 75Alessandro 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!