Introdução a Mineração de Dados
Transcript of Introdução a Mineração de Dados
![Page 1: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/1.jpg)
Introducao a Mineracao de Dados
Marcelo K. Albertini
17 de Abril de 2014
![Page 2: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/2.jpg)
Organizacao do curso
◮ Prof. Marcelo Keese Albertini
◮ Sala: Bloco 1A - sala 1A230
◮ Horario de atendimento: Sexta-feira 14h-17h ou comagendamento
◮ E-mail: marcelo.albertini arroba gmail
◮ Material da disciplina:http://www.facom.ufu.br/~albertini/md
2/1
![Page 3: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/3.jpg)
A disciplina
Objetivos
◮ apresentar principais tarefas e tecnicas de mineracao de dados
◮ habilitar o aluno implementar suas proprias ferramentas demineracao de dados
◮ habilitar o aluno aplicar mineracao de dados em problemaspraticos
Habilidades para bom aproveitamento
◮ saber programar
◮ bom conhecimento de estruturas de dados (arvores)
◮ um pouco de geometria, calculo e estatıstica
◮ leitura de textos em ingles
3/1
![Page 4: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/4.jpg)
Atividades previstas
◮ Tres trabalhos - 25 pontos◮ 3 semanas para fazer cada◮ mixto de
◮ implementacao de algoritmos◮ aplicacao a conjuntos de dados reais◮ exercıcios
◮ Tres provas - 80 pontos◮ Prova 1 - 25 - 22/05/2014◮ Prova 2 - 25 - 17/07/2014◮ Prova 3 - 30 - 21/08/2014
4/1
![Page 5: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/5.jpg)
Materiais de estudo
◮ Machine Learning, T. Mitchell.
◮ Pattern Classification (2nd ed.), R. Duda, P. Hart & D. Stork.
◮ Pattern recognition and machine learning, Christopher M.Bishop.
◮ Artigos cientıficos
5/1
![Page 6: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/6.jpg)
Mineracao de dados e aprendizado de maquina
Mineracao de dados
A maior parte de mineracao de dados hoje e realizada comalgoritmos de aprendizado de maquina.
◮ “Um avanco no paradigma de aprendizado de maquina valera10 Microsofts” (Bill Gates, Microsoft)
◮ “Aprendizado de maquina e a proxima Internet” (TonyTether, Ex-Diretor da DARPA)
◮ “Motores de busca atualmente sao uma questao deaprendizado de maquina” (Prabhakar Raghavan, Ex-Diretorde Pesquisa do Yahoo)
◮ “Machine Learning at Google raises deep scientific andengineering challenges.” (Google Research –http://goo.gl/EkPVH9)
◮ Google compra empresa de aprendizado de maquina“DeepMind NASA” por mais de US$500 milhoes –Janeiro/2014
6/1
![Page 7: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/7.jpg)
O que e Aprendizado de Maquina?
◮ Automatizar automacao
◮ Fazer computadores programarem eles mesmos
◮ A escrita de software e um gargalo para tratar dadosdisponıveis
◮ Permitir os dados fazerem o trabalho sozinhos
◮ Mineracao de dados!
7/1
![Page 8: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/8.jpg)
Mudanca de paradigma
Programacao tradicional
Dados + Programa → computador → saıda
Mineracao de dados
Dados + saıda → computador → programa
8/1
![Page 9: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/9.jpg)
Metafora: agricultura
Mineracao de dados nao e
magica, e como agricultura
◮ sementes = algoritmos
◮ nutrientes = dados
◮ agricultor = voce
◮ plantas = programas
9/1
![Page 10: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/10.jpg)
Exemplos de aplicacoes
◮ Motor de busca Web
◮ Financas
◮ E-comercio
◮ Robotica
◮ Redes sociais
◮ Extracao de informacao
◮ Biologia computacional (projeto de remedios)
◮ Depuracao de softwares
◮ Sua area favorita
10/1
![Page 11: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/11.jpg)
Aprendizado de maquina
◮ Mineracao de dados e feita por algoritmos de aprendizado demaquina
◮ Existem dezenas de milhares de algoritmos de aprendizado demaquina
◮ Todo algoritmo de aprendizado de maquina tem trescomponentes
◮ Representacao◮ Avaliacao◮ Otimizacao
11/1
![Page 12: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/12.jpg)
Representacao: “a linguagem”
Qual linguagem usar?
Componente mais estavel de aprendizado de maquina.
◮ Arvores de decisao
◮ Conjuntos de regras / programas logicos (Prolog)
◮ Aprendizado Baseado em Instancias
◮ Modelos baseados em grafos (Redes Bayesianas/Markovianas)
◮ Representacao de dependencias
◮ Redes neurais – “competicao” biologica
◮ Maquinas de vetores suporte (instancias + redes neurais)
◮ Mistura de modelos – “a melhor decisao e aquela maisvotada”
12/1
![Page 13: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/13.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
13/1
![Page 14: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/14.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
13/1
![Page 15: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/15.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
13/1
![Page 16: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/16.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
13/1
![Page 17: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/17.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
◮ Probabilidade a posteriori – verossimilhanca + conhecimentoprevio
13/1
![Page 18: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/18.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
◮ Probabilidade a posteriori – verossimilhanca + conhecimentoprevio
◮ Custo/Utilidade – na pratica, custos diferentes para acertos eerros
13/1
![Page 19: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/19.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
◮ Probabilidade a posteriori – verossimilhanca + conhecimentoprevio
◮ Custo/Utilidade – na pratica, custos diferentes para acertos eerros
◮ Margem – SVM: encontrar limite entre decisoes
13/1
![Page 20: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/20.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
◮ Probabilidade a posteriori – verossimilhanca + conhecimentoprevio
◮ Custo/Utilidade – na pratica, custos diferentes para acertos eerros
◮ Margem – SVM: encontrar limite entre decisoes
◮ Entropia – quantidade de informacao
13/1
![Page 21: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/21.jpg)
Avaliacao: medidas
Esta funcionando?Apos gerar um “programa candidato”, como saber se esta bom?
◮ Acuracia – quantos acertos das tentativas?
◮ Precisao e recuperacao – ORI
◮ Erro quadratico – quantidade numerica
◮ Verossimilhanca – o que esta acontecendo e provavel?
◮ Probabilidade a posteriori – verossimilhanca + conhecimentoprevio
◮ Custo/Utilidade – na pratica, custos diferentes para acertos eerros
◮ Margem – SVM: encontrar limite entre decisoes
◮ Entropia – quantidade de informacao
◮ Divergencia Kullback-Liebler – aumento relativo de informacao
13/1
![Page 22: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/22.jpg)
Otimizacao
Como usar a linguagem para fazer funcionar?
Formas de busca de solucoes. Depende da linguagem e daavaliacao.
◮ Otimizacao combinatorial◮ Exemplo: busca greedy (gananciosa)
◮ Otimizacao convexa◮ Gradiente descendente – “qual e a melhor direcao”
◮ Otimizacao com restricoes◮ Programacao linear
14/1
![Page 23: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/23.jpg)
Tipos de aprendizado
◮ Aprendizado supervisionado (indutivo)◮ Dados de treino incluem saıdas desejadas
15/1
![Page 24: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/24.jpg)
Tipos de aprendizado
◮ Aprendizado supervisionado (indutivo)◮ Dados de treino incluem saıdas desejadas
◮ Aprendizado nao-supervisionado◮ Supervisao pode custar caro◮ Mais difıcil avaliar◮ Dados de treino podem nao incluir saıdas desejadas◮ Uso de informacao “lateral”
15/1
![Page 25: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/25.jpg)
Tipos de aprendizado
◮ Aprendizado supervisionado (indutivo)◮ Dados de treino incluem saıdas desejadas
◮ Aprendizado nao-supervisionado◮ Supervisao pode custar caro◮ Mais difıcil avaliar◮ Dados de treino podem nao incluir saıdas desejadas◮ Uso de informacao “lateral”
◮ Aprendizado semi-supervisionado◮ Dados de treino incluem algumas saıdas desejadas◮ Pouca supervisao + maior parte nao supervisionada
15/1
![Page 26: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/26.jpg)
Tipos de aprendizado
◮ Aprendizado supervisionado (indutivo)◮ Dados de treino incluem saıdas desejadas
◮ Aprendizado nao-supervisionado◮ Supervisao pode custar caro◮ Mais difıcil avaliar◮ Dados de treino podem nao incluir saıdas desejadas◮ Uso de informacao “lateral”
◮ Aprendizado semi-supervisionado◮ Dados de treino incluem algumas saıdas desejadas◮ Pouca supervisao + maior parte nao supervisionada
◮ Aprendizado por reforco◮ Aprendizado de sequencia de acoes◮ Recompensa apos sequencia de acoes
15/1
![Page 27: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/27.jpg)
Aplicacoes Aprendizado Indutivo
◮ Detexify http://detexify.kirelabs.org/classify.html
16/1
![Page 28: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/28.jpg)
Aplicacoes Aprendizado Indutivo
◮ Akinator http://pt.akinator.com/personnages/
17/1
![Page 30: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/30.jpg)
Aplicacoes Aprendizado Indutivo
◮ Amazon - concurso de identificacao de credenciais deempregados (2013)
http://www.kaggle.com/c/amazon-employee-access-challenge
19/1
![Page 31: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/31.jpg)
Aprendizado indutivo
◮ Temos exemplos de uma funcao 〈~x, f (~x)〉
◮ Devemos predizer funcao f (~x) para exemplos ~xcompletamente novos
◮ f (~x) discreto: classificacao◮ Exemplo: spam vs. nao-spam
◮ f (~x) contınuo: regressao◮ Exemplo: predizer preco de imoveis
◮ f (~x) = Probabilidade(~x): Estimacao de probabilidades◮ Tipo especial de regressao◮ Exemplo: qual a probabilidade do Atletico Mineiro ganhar do
Corinthians?
20/1
![Page 32: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/32.jpg)
O que veremos
◮ Aprendizado supervisionado
1. Inducao de arvores de decisao2. Inducao de regras3. Aprendizado baseado em instancias4. Aprendizado bayesiano/estatıstico5. Redes neurais6. Teoria do aprendizado7. Maquina de vetores-suporte8. Mistura de modelos
◮ Aprendizado nao supervisionado◮ Agrupamento (reducao do numero de exemplos)◮ Reducao de dimensionalidade (reducao do numero de
atributos)
21/1
![Page 33: Introdução a Mineração de Dados](https://reader033.fdocumentos.tips/reader033/viewer/2022051402/627c6a6ad6ae53132863b367/html5/thumbnails/33.jpg)
Mineracao de dados na pratica
1. Entender o domınio, conhecimento a priori e objetivos◮ Exemplo: projeto de novos remedios◮ Duas pessoas: especialista no domınio e especialista em
mineracao
2. Integracao de dados, selecao, limpeza, pre-processamento, eoutros
◮ Consumo da maior parte do tempo
3. Modelos de aprendizado
4. Interpretacao de resultados – caixa preta vs. branca
5. Consolidacao e uso do conhecimento descoberto
6. Iterar para melhorar aprendizado de maquina
22/1