Anda di halaman 1dari 7

Referncias

Aprendizado de Mquina
Aula 1
http://www.ic.uff.br/~bianca/aa/

Slides das aulas: na pgina


http://www.ic.uff.br/~bianca/aa/

Livro-texto:
Machine Learning Tom M. Mitchell McGraw-Hill, 1997 http://www.cs.cmu.edu/~tom/mlbook.html (Pasta 524, xerox do Bloco E)

Artigos que sero citados ao longo do curso.


Aula 1 - 16/03/10 1 Aula 1 - 16/03/10 2

Tpicos
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Introduo Cap. 1 (16/03) Classificao Indutiva Cap. 2 (23/03) rvores de Deciso Cap. 3 (30/03) Ensembles - Artigo (06/04) Avaliao Experimental Cap. 5 (13/04) Teoria do Aprendizado Cap. 7 (20/04) Aprendizado de Regras Cap. 10 (27/04) Redes Neurais Cap. 4 (04/05) Mquinas de Vetor de Suporte Artigo (11/05) Aprendizado Bayesiano Cap. 6 e novo cap. online (18/05) Aprendizado Baseado em Instncias Cap. 8 (25/05) Classificao de Textos Artigo (01/06) Aprendizado No-Supervisionado Artigo (08/06)

Avaliao
Trabalhos Terico (TT) Trabalho Prtico (TP) Listas de Exerccio (LE) = mdia das notas das listas que sero dadas ao longo do curso M = (TT + TP + LE)/3
3 Aula 1 - 16/03/10 4

Aula 1 - 16/03/10

Trabalhos
Trabalho Prtico
Cada aluno dever propr e executar um projeto de aprendizado automtico especificando o tipo de problema, base de dados, metodologia de avaliao e algoritmo(s) a serem utilizados. Desenvolvido ao longo do semestre. Apresentao de 20 minutos no final do curso.

O que aprendizado automtico?


Sub-rea da inteligncia artificial, tambm conhecida como machine learning ou aprendizado de mquina. Surgiu da idia de criar programas que aprendam um determinado comportamento ou padro automaticamente a partir de exemplos ou observaes. Guarda alguma relao com o aprendizado humano.
Seres humanos (e outros animais) so capazes de generalizar a partir de exemplos.
Aula 1 - 16/03/10 6

Trabalho Terico
Apresentao de um artigo da rea de aprendizado automtico, escolhido pela professora de acordo com o interesse do aluno. Cada apresentao ter durao de 45 minutos.
Aula 1 - 16/03/10 5

Qual a relao com a minerao de dados?


A minerao de dados o processo de extrao automtica de conhecimento a partir de grandes bases de dados. Algoritmos de aprendizado automtico podem ser vistos como algoritmos que extraem um padro de comportamento a partir de dados (exemplos).
Logo, podem ser utilizados como algoritmos de minerao de dados.

O que aprendizado automtico?


Herbert Simon: Aprendizado qualquer processo no qual um sistema melhora seu desempenho atravs da experincia. Qual a tarefa?
Classificao Resoluo de problemas / planejamento / controle

Porm, algoritmos de aprendizado nem sempre utilizam bases de dados.


Podem aprender diretamente a partir da interao com o ambiente ou com um simulador.

Ambas as reas emprestam muitos mtodos da rea de estatstica.


Aula 1 - 16/03/10 7 Aula 1 - 16/03/10 8

Classificao
Atribuir um objeto/evento a uma categoria, pertencente a um conjunto finito de categorias)
Diagnstico mdico Deteco de fraude em cartes de crdito Deteco de vrus em redes de computadores Filtragem de spam em e-mails Recomendao de produtos em e-commerce Investimentos financeiros Bioinformtica (sequncias de DNA) Reconhecimento de voz Reconhecimento de caracteres Reconhecimento de imagens
Aula 1 - 16/03/10 9

Resoluo de problemas / planejamento / controle


Executar aes em um ambiente para atingir um determinado objetivo.
Resolver problemas de matemtica Jogar xadrez, damas ou gamo Dirigir um carro Pilotar um avio, helicptero ou foguete Controlar um elevador Controlar um personagem em um jogo Controlar um rob mvel
Aula 1 - 16/03/10 10

Medindo o desempenho
Acurcia da classificao Corretude da soluo encontrada Qualidade da soluo (comprimento, eficincia) Tempo de execuo

Por que estudar aprendizado de mquina?


Desenvolver sistemas que so muito difceis/caros de construir manualmente porque requerem conhecimentos detalhados de uma determinada tarefa. Desenvolver sistemas que possam se adaptar a usurios individualmente.
Filtro de notcias ou e-mail personalizado. Sistemas de educao personalizados.

Extrair conhecimento de grandes bases de dados (minerao de dados).


Anlise de cestas de compras (ex:. fraldas e cerveja)
Aula 1 - 16/03/10 11 Aula 1 - 16/03/10 12

Qual a relao com a minerao de dados?


A minerao de dados o processo de extrao automtica de conhecimento a partir de grandes bases de dados. Algoritmos de aprendizado automtico podem ser vistos como algoritmos que extraem um padro de comportamento a partir de dados (exemplos).
Logo, podem ser utilizados como algoritmos de minerao de dados.

Por que estudar aprendizado de mquina?


Estudos computacionais do aprendizado podem ajudar a entender o aprendizado em humanos e outros organismos.
Aprendizado neural Hebbiano
Neurnios que disparam juntos se conectam.

Podem aprender diretamente a partir da interao com o ambiente ou com um simulador.

Ambas as reas emprestam muitos mtodos da rea de estatstica.


Aula 1 - 16/03/10 13 Aula 1 - 16/03/10

log(tempo)

Porm, algoritmos de aprendizado nem sempre utilizam bases de dados.

A dificuldade relativa de humanos em aprender conceitos disjuntivos em relao a conceitos conjuntivos. Lei da prtica

log(# treinamento)
14

Por que estudar aprendizado de mquina?


Grande quantidade de algoritmos efetivos e eficientes. Grande quantidade de dados disponveis (principalmente online). Grande quantidade de recursos computacionais disponveis.

Melhorar na tarefa, T, com respeito mtrica de desempenho, D, baseado na experincia, E.


T: Jogar Damas D: Percentagem de jogos ganhos contra um adversrio arbitrrio E: Jogar jogos contra ele prprio T: Reconhecer palavras escritas a mo D: Percentagem de palavras corretamente reconhecidas E: Base de dados de imagens com as palavras correspondentes T: Dirigir em estradas usando sensores de viso D: Distncia mdia dirigida antes de um erro E: Sequncia de imagens e comandos de direo gravados de uma pessoa dirigindo T: Categoriza mensagens de e-mail como spam ou legtimas. D: Percentagem de mensagens de e-mail corretamente classificadas E: Base de dados de mensagens, algumas classificados por humanos

Definindo a tarefa de aprendizado

Aula 1 - 16/03/10

15

Aula 1 - 16/03/10

16

Projetando um Sistema de Aprendizado


Definir a experincia de treinamento. Definir exatamente o que ser aprendido, i.e., a funo alvo. Escolher como representar a funo alvo. Escolher um algoritmo de aprendizado para inferir a funo alvo a partir da experincia.
Algoritmo de aprendizado Ambiente/ Experincia Conhecimento Medidor de Desempenho
Aula 1 - 16/03/10 17

Exemplo de Problema de Aprendizado


Aprender a jogar damas jogando contra si mesmo. Veremos uma abordagem similar a usada no primeiro sistema de aprendizado automtico desenvolvido por Arthur Samuels na IBM em 1959.

Aula 1 - 16/03/10

18

Experincia para Treinamento


Experincia direta: Dar alguns exemplos de pares de entrada e sada da funo alvo.
Tabuleiros de damas identificados com a jogada correta, por exemplo extrados do jogo de um especialista.

Fonte dos dados de treinamento


Exemplos aleatrios.
Exemplos negativos tambm ou s positivos?

Exemplos de treinamento escolhidos por um professor benevolente.


Exemplos didticos.

Experincia indireta: Dar feedback que no um par de E/S para a funo alvo.
Sequencias potencialmente arbitrrias de jogadas e o resultado final do jogo.

Problema da atribuio de crdito: Como atribuir crdito a jogadas individuais quando a experincia indireta?
Aula 1 - 16/03/10 19

Algoritmo pode pedir o rtulo de um exemplo qualquer no ambiente. Algoritmo pode construir um exemplo e pedir o rtulo desse exemplo. Algoritmo pode conduzir experimentos no ambiente sem ajuda humana.
Aula 1 - 16/03/10 20

Distribuio de Treinamento vs. Distribuio de Teste


Generalmente supomos que os exemplos de treinamento e de teste so derivados independentemente da mesma distribuio
IID: Independentemente e identicamente distribudos.

Escolhendo uma funo alvo


Que funo deve ser aprendida e como ela ser usada pelo sistema? Para damas, supomos que dada uma funo para gerar jogadas possveis a partir de uma dada posio do tabuleiro e queremos decidir qual a melhor jogada.
Podemos aprender a funo: Escolher jogada(tabuleiro, jogadas) melhor jogada Ou podemos aprender uma funo de avaliao, V(tabuleiro) R, que d para cada posio do tabuleiro um score do quo favorvel ela . V pode ser usada para escolher uma jogada.

Se os exemplos no so independentes, precisamos de classificao coletiva. Se a distribuio de teste diferente, precisamos de aprendizado de transferncia.

Aula 1 - 16/03/10

21

Aula 1 - 16/03/10

22

Definio ideal de V(b)


Se b um tabuleiro final ganhador, ento V(b) = 100 Se b um tabuleiro final perdedor, ento V(b) = 100 Se b um tabuleiro final de empate, ento V(b) = 0 Seno, V(b) = V(b), onde b a posio final do tabuleiro com maior score possvel que atingida comeando de b e jogando de forma tima at o fim do jogo (supondo que o oponente joga de forma tima tambm).
Pode ser computado usando a rvore de busca minimax.

Aproximando V(b)
Calcular V(b) no tratvel porque envolve buscar em uma rvore completa exponencial. Logo essa definio no-operacional. Uma definio operacional pode ser calculada em tempo razovel (polinomial). Precisamos aprender uma aproximao operacional da funo de avaliao ideal.
Aula 1 - 16/03/10 24

Aula 1 - 16/03/10

23

Representando a funo alvo


A funo alvo pode ser representada de muitas formas: tabela, regras simblicas, funo numrica, rede neural. Existe um trade-off entre a expressividade da representao e a facilidade de aprendizado. Quanto mais expressiva for a representao, melhor ela ser em representar uma funo arbitrria; porm, mais exemplos sero necessrios pra aprender a funo corretamente.
Aula 1 - 16/03/10 25

Funo linear para representar V(b)


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

Em damas, usamos uma aproximao linear da funo de avaliao.


bp(b): nmero de peas pretas no tabuleiro b rp(b): nmero de peas vermelhas no tabuleiro b bk(b): nmero de reis pretos no tabuleiro b rk(b): nmero de reis vermelhos no tabuleiro b bt(b): nmero de peas ameaadas (i.e. que sero pegas pelo vermelhor na prxima joga) rt(b): nmero de peas vermelhas ameaadas
Aula 1 - 16/03/10 26

Obtendo valores de treinamento


Superviso direta pode existeir para a funo alvo.
< <bp=3,rp=0,bk=1,rk=0,bt=0,rt=0>, 100> (preto ganhou)

Aprendizado de Diferenas Temporais


Estimar valores de treinamento para posies de tabuleiro no-terminais usando o valor estimado do seu sucessor em um jogo real.
) Vtrain (b ) = V (successor( b ))

Com feedback indireto, valores de treinamento podem ser estimados usando aprendizado de diferena temporal (usado em aprendizado por reforo).
Aula 1 - 16/03/10 27

onde successor(b) a prxima posio do jogo. Valores mais para o final do jogo so inicialmente mais corretos e o treinamento continuado faz com que eles sejam trazidos lentamente para as posies mais do incio.
Aula 1 - 16/03/10 28

Algoritmo de Aprendizado
Usa valores de treinamento da funo alvo para induzir uma definio que esteja de acordo com esses exemplos e que esperamos que generalize para exemplos no vistos. Em estatstica, aprender a aproximar uma funo contnua chamado de regresso. Tenta minimizar uma medida de erro tal ) como: [Vtrain (b) V (b)]2 E = bB B
Aula 1 - 16/03/10 29

Algoritmo Least Mean Squares (LMS)


Um algoritmo de descida de gradiente que muda os pesos de uma funo linear tentando minimizar o erro mdio quadrtico.
At que os pesos convirjam: Para cada exemplo de treinamento b faa : 1) Calcule o erro absoluto : )

error (b ) = Vtrain (b ) V (b )

2) Para cada caracterstica do tabuleiro, fi, mude seu peso, wi :

wi = wi + c f i error (b)
para alguma constante pequena c
Aula 1 - 16/03/10 30

Discusso do LMS
Intuitivamente, LMS executa as seguintes regras:
Se a sada de um exemplo for correta, no faa modificaes. Se a sada for muito alta, diminua os pesos proporcionalmente aos valores das suas caractersticas correspondentes, de tal forma que a sada diminua. Se a sada for muito baixa, aumente os pesos proporcionalmente aos valores das suas caractersticas correspondentes, de tal forma que a sada aumente.

Concluses sobre o aprendizado


O aprendizado pode ser visto como o uso de experincia direta ou indireta pra aproximar uma funo. Aproximao de funes pode ser vista como uma busca num espao de hipteses (representaes de funes) por uma que melhor se adapta ao conjunto de treinamento. Mtodos de aprendizado diferentes usam espaos de hipteses diferentes (linguagens de representao) e/ou usam tcnicas de busca diferentes.
31 Aula 1 - 16/03/10 32

Sob suposies fracas, podemos provar que o LMS ir convergir a um conjunto de pesos que minimiza o erro mdio quadrtico.

Aula 1 - 16/03/10

Funes de Representao
Funes numricas
Regresso linear Redes neurais Mquinas de vetor de suporte (SVMs)

Algoritmos de Busca
Descida de gradiente
Perceptron Backpropagation

Funes simblicas
rvores de deciso Regras em lgica proposicional Regras em lgica de primeira ordem

Programo dinmica
Aprendizado de HMM Aprendizado de PCFG

Funes baseadas em instncia


Vizinho mais prximo Baseadas em casos

Diviso e conquista
Induo de rvores de deciso Aprendizado de regras

Modelos grficos probabilsticos


Nave Bayes Redes Bayesianas Modelos de Markov Ocultos (HMMs) Gramticas Probabilsticas Livres de Contexto (PCFGs) Redes de Markov
Aula 1 - 16/03/10 33

Computao evolucionria
Algoritmos genticos (GAs) Programao gentica (GP)
Aula 1 - 16/03/10 34

Avaliao de Sistemas de Aprendizado


Experimental
Conduzir experimentos controlados com validao cruzada para comparar mtodos em uma variedade de bases de dados. Coletar dados sobre o seu desempenho, ex.: acurcia de teste, tempo de treinamento, tempo de teste. Analisar diferenas quanto a significncia estatstica.

1950s

Histrico do Aprendizado de Mquina

Jogador de damas de Samuel Pandemonium de Selfridge

1960s:
Redes neurais: Perceptron Reconhecimento de padres Teoria do aprendizado no limite Minsky e Papert provam limitaes do Perceptron Induo de conceitos simblicos Algoritmo de Winston Sistemas especialistas e gargalo da aquisio de conhecimento Algoritmo de rvore de deciso ID3 Michalskis AQ e diagnstico de soja Descoberta cientfica com BACON Descoberta matemtica com AM
Aula 1 - 16/03/10 36

Terica
Analisar algoritmos matematicamente e provar teoremas sobre sua:
Complexidade computacional Abilidade de se adaptar aos dados de treinamento Nmero de exemplos de treinamento necessrios para se aprender uma funo correta

1970s:

Aula 1 - 16/03/10

35

Histrico do Aprendizado de Mquina


1980s:
Aprendizado de regras e rvores de deciso avanado Aprendizado em planejando e resoluo de problemas Analogia Arquiteturas cognitivas Ressurgimento de redes neurais Teoria do Aprendizado PAC Foco na metodologia experimental Minerao de dados Agentes de software adaptativos e minerao web Aprendizado de textos Aprendizado por reforo (RL) Programao lgica indutiva (ILP) Ensembles: Bagging, Boosting e Stacking Aprendizado de redes neurais
Aula 1 - 16/03/10 37

Histrico do Aprendizado de Mquina


2000s
Mquinas de Vetor de Suporte Mtodos de Kernel Modelos Grficos Aprendizado Relacional Aprendizado de Transferncia Rotulao de Sequncias Classificao Coletiva Aplicaes a Sistemas de Computao
Compiladores Debugging Computao Grfica Segurana

1990s

Gerenciamento de e-mail Assistentes personalizados que aprendem Aprendizado em viso e robtica


Aula 1 - 16/03/10 38

Recursos
Bases de Dados
UCI Repository: http://www.ics.uci.edu/~mlearn/MLRepository.html UCI KDD Archive: http://kdd.ics.uci.edu/summary.data.application.html Statlib: http://lib.stat.cmu.edu/ Delve: http://www.cs.utoronto.ca/~delve/ LETOR: http://research.microsoft.com/enus/um/beijing/projects/letor/index.html

Ferramenta
WEKA: http://www.cs.waikato.ac.nz/ml/weka/
Aula 1 - 16/03/10 39

Anda mungkin juga menyukai