aprendizagem de máquina desde que os computadores foram...
TRANSCRIPT
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.
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?
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?
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
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
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).
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
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
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.
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
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 )
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 ))
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).
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?
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
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
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.
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.
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!