Aprendizado de máquina

860 views

Published on

Practical Machine Learning

Published in: Data & Analytics
  • Be the first to comment

Aprendizado de máquina

  1. 1. Aprendizado de Máquina Data Science 09 de maio de 2014 Ricardo Lima Feitosa de Ávila
  2. 2. Agenda Introdução Conceitos e Definição Formas de Aprendizado Fases de Aprendizagem Exemplos
  3. 3. Introdução • Computadores realmente são capazes de aprender? • Infelizmente ainda não sabemos exatamente como fazer computadores aprender de uma maneira similar a maneira como os humanos aprendem. • Entretanto, existem algoritmos que são eficientes em certos tipos de tarefas de aprendizagem.
  4. 4. O que é Aprendizagem de Máquina?
  5. 5. • 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 está em generalizar um comportamento para uma nova situação. O que é Aprendizagem de Máquina?
  6. 6. Redes Neurais Lógica Fuzzy Computação Evolucionária Agentes Inteligentes Linguagem Natural RobóticaRaciocínio Baseado em Casos Raciocínio Baseado em Regras Aprendizado de Máquina Subáreas da Inteligência Artificial
  7. 7. Um programa aprende a partir da experiência E, em relação a uma classe de tarefas T, com medida de desempenho P, se seu desempenho em T, medido por P, melhora com E. Mitchell, 1997 Também chamado de Aprendizado Indutivo. Aprendizado de Máquina ‐ Uma Definição
  8. 8. • Detecção de bons clientes para um cartão de crédito – Tarefa T: classificar potenciais novos clientes como bons ou maus pagadores – Medida de Desempenho P: porcentagem de clientes classificados corretamente – Experiência de Treinamento E: uma base de dados histórica em que os clientes já conhecidos são previamente classificados como bons ou maus pagadores Aprendizado de Máquina ‐ Exemplo (1/2)
  9. 9. • Reconhecimento de caracteres manuscritos – Tarefa T: reconhecer e classificar caracteres manuscritos – Medida de Desempenho P: percentagem de caracteres classificados corretamente – Experiência de Treinamento E: base de dados de caracteres manuscritos com a respectiva classificação Aprendizado de Máquina ‐ Exemplo (2/2)
  10. 10. Conceitos e Definições 
  11. 11. Conceitos e Definições 
  12. 12. Conceitos e Definições 
  13. 13. • Conjunto de exemplos: Um conjunto de exemplos é composto por exemplos contendo valores de atributos bem como a classe associada. Conceitos e Definições 
  14. 14. • Classificador ou Hipótese: Dado um conjunto de exemplos de treinamento, um indutor gera como saída um classificador (também denominado hipótese ou descrição de conceito) de forma que, dado um novo exemplo, ele possa predizer com a maior precisão possível sua classe. • Ruído: é comum no mundo real, trabalhar com dados imperfeitos. Eles podem ser derivados do próprio processo que gerou os dados, do processo de aquisição de dados, do processo de transformação ou mesmo devido a classes rotuladas incorretamente (por exemplo, exemplos com os mesmos valores de atributos mas com classes diferentes). Conceitos e Definições 
  15. 15. • Missing Values (Valores Perdidos): em geral, indicados por valores fora do escopo – Tipos: desconhecidos, não registrados, irrelevantes – Razões: • Mau‐funcionamento do equipamento • Mudanças na definição do experimento • Incapacidade de mesuração Conceitos e Definições 
  16. 16. • Modo de aprendizado: – Não‐incremental (batch): sempre que todo o conjunto de treinamento deva estar presente para o aprendizado. – Incremental: o indutor apenas tenta atualizar a hipótese antiga sempre que novos exemplos são adicionados ao conjunto de treinamento. • Taxa de Erro de um classificador h: – Compara a classe verdadeira de cada exemplo com o rótulo atribuído pelo classificador induzido. Conceitos e Definições 
  17. 17. • Precisão do Classificador: complemento da taxa de erro denotado por acc(h) Conceitos e Definições 
  18. 18. • Erro de Regressão: calcula‐se a distância entre o valor real com o atribuído pela hipótese induzida. Pode‐se usar: erro  médio quadrado ou a distância absoluta média. Conceitos e Definições 
  19. 19. • Por que é importante para um agente aprender? – Os programadores não podem antecipar todas as situações que o agente pode encontrar. Exemplo: Um robô programado para andar em um único labirinto pode não saber andar em outros. – Os programadores não podem antecipar todas as mudanças que podem acontecer com o passar do tempo. Exemplo: Agente programado para prever as melhores opção de bolsa para investir precisa se adaptar quando o ambiente muda. – Os programadores nem sempre sabem encontrar a solução dos problemas diretamente. Exemplo: Programar um sistema para reconhecer faces não é algo trivial. Importância do Aprendizado
  20. 20. Carro de Auto‐condução do Google
  21. 21. Laser scan Intensity model Elevation model Camera vision 2D stationary map Lane model Características do Carro
  22. 22. • Aprendizado Supervisionado  • Aprendizado Não‐Supervisionado Formas de Aprendizado
  23. 23. • Observa‐se alguns pares de exemplos de entrada e saída, de forma a aprender uma função que mapeia a entrada para a saída. • Damos ao sistema a “resposta correta” durante o processo de treinamento. • É eficiente pois o sistema pode trabalhar diretamente com informações corretas. • Útil para classificação, regressão, estimação de probabilidade condicional (qual é a probabilidade de um cliente com um determinado perfil comprar um determinado produto?) Aprendizado Supervisionado
  24. 24. • O agente reconhece padrões nos dados de entrada, mesmo sem nenhum feedback de saída. • Por exemplo, um agente aprendendo a dirigir pode gradualmente desenvolver um conceito de dias de bom trafego e dias de trafego congestionado mesmo sem nunca ter recebido exemplos rotulados por um professor. Aprendizado Não‐Supervisionado
  25. 25. Aprendizado de  Máquina Supervisionado Classificação Regressão k‐NN Árvores de Decisão Naive Bayes Perceptron/Adaline Multi‐Layer Perceptron k‐NN Adaline Multi‐Layer Perceptron k‐means Metódos Hierárquicos Self‐Organizing Map Tipos de Aprendizado de Máquina Não‐Supervisionado
  26. 26. • Simbólico – Expressão lógica, árvores de decisão, regras ou rede semântica. • Estatístico – Aprendizado Bayesiano • Baseado em Exemplos – Nearest Neighbours e raciocínio baseado em casos • Conexionista – Redes neurais • Evolutivo – Algoritmos genéticos Paradigmas de Aprendizado
  27. 27. • Treinamento – Apresenta‐se exemplos ao sistema. – O sistema “aprende” a partir dos exemplos. – O sistema modifica gradualmente os seus parâmetros para que a saída se aproxime da saída desejada. • Utilização – Novos exemplos jamais visto são apresentados ao sistema. – O sistema deve generalizar e reconhecê‐los. Fases da Aprendizagem
  28. 28. (Aprendizado Supervisionado) Atributos Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe X1 0.24829 0.49713 0.00692 ‐0.020360 0.429731 ‐0.2935 1 X2 0.24816 0.49729 0.00672 0.0065762 0.431444 ‐0.29384 1 X3 0.24884 0.49924 0.01047 ‐0.002901 0.423145 ‐0.28956 3 X4 0.24802 0.50013 0.01172 0.001992 0.422416 ‐0.29092 2 X5 0.24775 0.49343 0.01729 ‐0.014341 0.420937 ‐0.29244 2 Exemplos de Treinamento
  29. 29. Atributos Exemplo Atrib1 Atrib2 Atrib3 Atrib4 Atrib5 Atrib6 Classe X1 0.22829 0.48713 0.00592 ‐0.010360 0.419731 ‐0.2845 ? X2 0.21816 0.48729 0.00572 0.0045762 0.421444 ‐0.28484 ? X3 0.23884 0.49824 0.01447 ‐0.003901 0.433145 ‐0.24956 ? X4 0.23002 0.49013 0.02172 0.002992 0.412416 ‐0.28092 ? X5 0.24575 0.49243 0.01029 ‐0.015341 0.430937 ‐0.28244 ? Classificação de Exemplos  (Desconhecidos)
  30. 30. • Classificação: – Responde se uma determinada “entrada” pertence a uma certa classe. – Dada a imagem de uma face: de quem é esta face (dentre um número finito). • Regressão: – Faz uma predição a partir de exemplos. – Predizer o valor da bolsa amanhã, dados os valores de dias e meses anteriores. • Estimação de Densidade: – Estima quais são as N categorias presente nos dados. Tipos de Problemas
  31. 31. • Dado uma quantidade finita de dados para o treinamento, temos que derivar uma função h que se aproxime da verdadeira função f(x) (a qual gerou os dados e é desconhecida). • Existe um número infinito de funções h. Aprendizado Supervisionado
  32. 32. • Dado uma quantidade finita de dados para o treinamento, temos que derivar uma função h que se aproxime da verdadeira função f(x) (a qual gerou os dados e é desconhecida). • Existe um número infinito de funções h. Aprendizado Supervisionado
  33. 33. • Dado uma quantidade finita de dados para o treinamento, temos que derivar uma função h que se aproxime da verdadeira função f(x) (a qual gerou os dados e é desconhecida). • Existe um número infinito de funções h. Aprendizado Supervisionado
  34. 34. • Dado uma quantidade finita de dados para o treinamento, temos que derivar uma função h que se aproxime da verdadeira função f(x) (a qual gerou os dados e é desconhecida). • Existe um número infinito de funções h. Aprendizado Supervisionado
  35. 35. • Dado uma quantidade finita de dados para o treinamento, temos que derivar uma função h que se aproxime da verdadeira função f(x) (a qual gerou os dados e é desconhecida). • Existe um número infinito de funções h. Aprendizado Supervisionado
  36. 36. • Não queremos aprender por memorização – Boa resposta sobre os exemplos de treinamento somente. – Fácil para um computador. – Difícil para os humanos. • Aprender visando generalizar – Mais interessante. – Fundamentalmente mais difícil: diversas maneiras de generalizar. – Devemos extrair a essência, a estrutura dos dados e não somente aprender a boa resposta para alguns casos. Generalizar é Difícil
  37. 37. • Função‐alvo f (melhor resposta possível). Exemplo
  38. 38. • Erro baixo sobre os exemplos de aprendizagem. Mais elevado para os de teste. Exemplo ‐ Overfitting
  39. 39. • Escolhemos um modelo muito simples (linear): erro elevado na aprendizagem. Exemplo ‐ Underfitting
  40. 40. Overfitting X Underfitting
  41. 41. • O modelo é suficientemente flexível para capturar a forma curva da função f mais não é suficiente para ser exatamente igual a função f. Exemplo – Um Bom Modelo
  42. 42. • Como sabemos se a hipótese h está próxima da função‐alvo f, se não conhecemos o que é f? • Este é um aspecto de uma questão mais abrangente: como saber se um algoritmo de aprendizado produziu uma teoria que preverá corretamente o futuro? • Qualquer hipótese que é consistente com um conjunto suficientemente grande de exemplos é pouco provável de estar seriamente errada. Teoria de Aprendizado Computacional
  43. 43. ? circunferência peso Características são Importantes
  44. 44. forma cor Características são Importantes
  45. 45. Características são Importantes
  46. 46. no aSer 10  pm?  yes call friend  got  electricity?  read book  got new  dvd?  play  computer  watch tv  Árvore de Decisão
  47. 47. E B  C  A  A  B  C  D E D Bishop, “Pa4ern Recogni%on and Machine Learning”, Springer, 2006   Árvore de Decisão – Ideia
  48. 48. 10        7     E 3        5     7        2     3        2     A  A  B  C  D E B  C  D Árvore de Decisão – Ideia
  49. 49. •  •  •  •  Interpretação Facilidade em lidar com diversos tipos de informação Adaptável também a problemas de regressão Escolha automática dos atributos mais relevantes em cada caso Árvore de Decisão – Vantagens
  50. 50. •  Sensibilidade a pequenas perturbações no conjunto de treino (geram redes muito diferentes) •  Overfiting Árvore de Decisão – Desvantagens •  Fronteiras lineares e perpendiculares aos eixos 
  51. 51. • Russell, S. and Novig, P. Artificial  Intelligence: a Modern Approach,  2nd Edition, Prentice‐Hall, 2003. – Capítulo 18: Learning from  Observations Leitura Complementar

×