Conselhos para a aplicação de aprendizagem de máquinas

Slides:



Advertisements
Apresentações semelhantes
Agenda Introdução Justificativa Objetivo Detecção de Spam
Advertisements

Inteligência Artificial
Aprendizado de Máquina
MÉTODOS QUANTITATIVOS
Aspectos de Implementação do Algoritmo Backpropagation
Mineração de Dados Avaliação de Classificadores
Araken de Medeiros Santos Anne Magály de Paula Canuto
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Redes Neurais Artificiais
Algoritmos Construtivos
Classificadores em Dados não Balanceados
MB751 – Modelos de previsão
Jacques Robin, Francisco Carvalho, Flávia Barros
Weka Coleção de algoritmos de aprendizado de máquina implementado em Java Tanto é API como aplicativo!!! Open source software Framework para o desenvolvimento.
1 Projeto Filtragem de Mensagens Eletrônicas Disciplina: Inteligência Artificial Simbólica Professores: Geber Ramalho e Jacques Robin.
Porto Alegre, 5 de Outubro de 2009
Testes de Hipóteses Forma mais clássica de inferência estatística
Paradigmas de programação
Avaliação de Testes Diagnósticos
Aprendizado de Máquina Aula 8
Análise da Regressão múltipla: Inferência Revisão da graduação
Tratamento de Dados Desbalanceados
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Mini testes A apresentar na aula da semana a seguir à data descrito em cada teste. As respostas não devem exceder mais do que duas páginas A4.
Programa de Pós-Graduação em Saúde Coletiva - UFMA
SÓ NÃO ERRA QUEM NÃO FAZ SÓ NÃO ERRA QUEM NÃO FAZ
Aprendizado de Máquina - Introdução
Redes Bayesianas - Aplicação em Risco Operacional
Como Programar? Dicas para começar a programar bem
Aula 5 - Método experimental ou de seleção aleatória
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
MEDIDAS DE DESEMPENHO Classificação SUPERVISIONADA
Classificação: avaliação de modelos
Redes Neurais Artificiais
Aula 11 - Teste de hipóteses, teste de uma proporção
WEKA Jacques Robin João Batista Marcelino Pereira junho/2001.
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
ANÁLISE ESTATÍSTICA II
Interpolação e Ajuste de Curvas
A Lexicon-Enhanced Method for Sentiment Classification: An Experiment on Online Product Reviews Bruno Andrade.
7. Mineração de Texto ("Text Mining")
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Combinação de Preditores utilizando o Coeficiente de Correlação aplicado aos Problemas de Regressão Resumo Este trabalho apresenta um algoritmo de Boosting.
Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan.
Implementação de uma arquitetura de Redes Neurais MLP utilizando FPGA
Fundamentos de linguagens de programação
Regressão e Previsão Numérica.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Universidade Federal Fluminense Faculdade de Medicina Mestrado Profissional em Saúde Materno-Infantil 2011 BIOESTATÍSTICA-aula 2 Prof. Cristina Ortiz Valete.
Classificação de Texto
Aprendizagem Automática Uma Introdução Cristina Mota Instituto Superior Técnico L2F Inesc-ID New York University.
TEORIA DOS ERROS PROF. HAUSER. CONCEITOS BÁSICOS Grandezas: Tudo que pode ser medido. Variável: Tudo que pode ser estimado. Quantitativa: medido ou estimado.
Classificação de Textos
Metodologia da Pesquisa em Ensino de Ciências I
DECOM – ICEB – UFOP Prof. Álvaro Guarda Aprendizado de Máquina - 0 Aprendizado Indutivo de Conceitos Conceito Conjunto de objetos com características comuns.
Erros sistemáticos – viés de aferição
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
PPGTI AULA 3 Prof. Dr. Márcio A. Fiori –
Regressão Linear Simples
ERROS E TRATAMENTO DE DADOS ANALÍTICOS
Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Técnicas.
A ULA 6 B IOESTATÍSTICA Inferência Pontual, Intervalar e Testes de Hipóteses.
Autor : Lênin Charqueiro. Pelotas,8 de março de
Medidas de validade de testes diagnósticos
Métodos Probabilísticos
CONCEITOS IMPORTANTES
Regressão Linear com Várias variáveis
Transcrição da apresentação:

Conselhos para a aplicação de aprendizagem de máquinas

O que fazer em seguida? Suponha que você tenha implementado regressão linear regularizada para a previsão do preço de moradias: No entanto, ao testar sua hipótese num novo conjunto de moradias, o algoritmo apresenta erros inaceitáveis de previsão. O que você deve fazer para melhorá-lo?

O que fazer em seguida? Rodar diagnósticos para descobrir o que fazer: Conseguir mais exemplos de treinamento Tentar com um conjunto menor de características Tentar conseguir novas características Tentar adicionar características polinomiais Tentar aumentar λ Tentar diminuir λ Diagnósticos podem levar tempo para implementar, mas geralmente é um bom uso do seu tempo. Caso o algoritmo tenha altas taxas de erro, restam algumas alternativas para conseguir aumentar o desempenho do mesmo. Mas, quais alternativas escolher? A maiorias das pessoas tenta esses métodos aleatoriamente, mas seria essa a maneira correta?

Avaliando a hipótese Falha na generalização de novos exemplos que não estão no conjunto de treinamento

Conjunto de Teste Tamanho Preço 2104 400 1600 330 2400 369 1416 232 3000 540 1985 300 1534 315 1427 199 1380 212 1494 243 70% Treinamento Divisão aleatória dos dados. 30% Teste

Seleção de modelos Tamanho Preço 2104 400 1600 330 2400 369 1416 232 3000 540 1985 300 1534 315 1427 199 1380 212 1494 243 Treinamento 60% Validação cruzada Divisão aleatória dos dados. 20% Teste 20%

Bias/Variância Bias Alto (underfit) Alta Variância (overfit) Preço Tamanho Preço Tamanho Preço Tamanho Bias Alto (underfit) Alta Variância (overfit)

Diagnosticando Bias vs. Variância Suponha que seu algoritmo esteja apresentando erro de validação ou teste mais alto que o esperado. O problema é de bias ou de variância? Bias Variância Bias: Jt alto e Jv alto Jv (Erro de validação) Erro Variância: Jt baixo e Jv alto Jtreino (Erro de treino) Grau do polinômio

Regularização e Bias/Variância Modelo: Price Size Price Size Price Size λ Alto – Bias Alto (underfit) λ Intermediário – curva ideal λ baixo – Alta variância (overfit)

Regularização e Bias/Variância Melhor valor Jteste Jtreino

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro

Curvas de Aprendizagem erro Jvalidação Jtreino

Curvas de Aprendizagem – Bias Alto Jvalidação price Erro Jtreino size price Se o algoritmo estiver com o bias alto, conseguir mais exemplos não vai ajudar. size

Curvas de Aprendizagem – Alta Variância erro Jvalidação preço Jtreino tamanho Se o algoritmo estiver com uma alta variância, conseguir mais exemplos deve ajudar. preço tamanho

O que fazer em seguida? Conseguir mais exemplos de treinamento (alta variância) Tentar com um conjunto menor de características (alta variância) Tentar conseguir novas características (bias) Tentar adicionar características polinomiais (bias) Tentar aumentar λ (alta variância) Tentar diminuir λ (bias) Caso o algoritmo tenha altas taxas de erro, restam algumas alternativas para conseguir aumentar o desempenho do mesmo. Mas, quais alternativas escolher? A maiorias das pessoas tenta esses métodos aleatoriamente, mas seria essa a maneira correta?

Design de Sistema de Aprendizagem de Máquina

Construindo um Classificador de Spam From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subject: Buy now! Deal of the week! Buy now! Rolex w4tchs - $100 Med1cine (any kind) - $50 Also low cost M0rgages available. From: Alfred Ng To: ang@cs.stanford.edu Subject: Christmas dates? Hey Andrew, Was talking to Mom about plans for Xmas. When do you get off work. Meet Dec 22? Alf

Construindo um Classificador de Spam Como gastar seu tempo para obter uma pequena taxa de erro? Coletar muitos dados. Desenvolver características sofisticadas baseadas em informações de roteamento de e-mail Desenvolver características sofisticadas para o corpo do texto. As palavras “discount” e “discounts” deveriam ser consideradas uma só? E a pontuação? Desenvolver algoritmo sofisticado para encontrar erros de grafia (w4tachs, med1cine, m0rgages)

Análise de Erro Abordagem recomendada: Comece com um algoritmo simples, que possa ser implementado rapidamente. Implemente-o e teste no conjunto de validação. Desenhe as curvas de aprendizado para decidir se mais dados ou novas características podem ajudar. Observe manualmente os exemplos do conjunto de validação nos quais seu algoritmo cometeu erros. Veja se existe algum padrão sistemático no tipo de exemplo em que ele está cometendo os erros.

Análise de Erro mv = 500 exemplos no conjunto de validação O Algoritmo erra 100 classificações Que tipo de e-mails foram estes? Que características poderiam ajudar o algoritmo a acertar a classificação? Erros de escrita propositais: 5 (m0rgage, med1cine, etc.) Roteamento de e-mail estranho: 16 Pontuação estranha: 32 Farmácia: 12 Replica/falso: 4 Senhas roubadas: 53 Outros: 31

Métricas de Erro para Classes Distorcidas Exemplo de classificação de câncer É treinado um modelo de regressão logística hθ(x). (y = 1 e caso de câncer e y = 0 caso contrário) É encontrado 1% de erro no conjunto de teste Apenas 0.5% dos pacientes tem câncer (classe distorcida) function y = predictCancer(x) y = 0; %ignore x! return

Métricas de Erro para Classes Distorcidas Y = 1 é uma classe rara que queremos detectar! Precisão: De todos os pacientes que foram classificados com y = 1, quais realmente têm câncer? 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠 𝑃𝑟𝑒𝑣𝑖𝑠𝑡𝑜𝑠 = 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜+𝐹𝑎𝑙𝑠𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜 Recall: De todos os pacientes que têm câncer, Que fração nós classificamos corretamente? 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠 𝑟𝑒𝑎𝑖𝑠 = 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜+𝐹𝑎𝑙𝑠𝑜 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑜

Métricas de Erro para Classes Distorcidas Classe Prevista Real (1) Classe (0) 1 Verdadeiro Positivo Falso Positivo Falso Negativo Verdadeiro Negativo

Precisão vs. Recall Regressão logística: 0 ≤ ℎ 𝜃 𝑥 ≤1 Prever 1 caso ℎ 𝜃 𝑥 ≥ 0.7, 0.9, 0.3 Prever 0 caso ℎ 𝜃 𝑥 < 0.7, 0.9, 0.3 Prever 𝑦=1(câncer) apenas se tivermos muita certeza. Alta precisão, baixo recall Evitar perder muitos casos de câncer (evitar falsos negativos). Alto recall, baixa precisão Limiar = 0.99 1 0.5 Recall Precisão Limiar = 0.01 Prever 1 caso ℎ 𝜃 𝑥 ≥ limiar

𝐹 1 Score (F Score) Média = 𝑃+𝑅 2 𝐹 1 Score = 2 𝑃𝑅 𝑃+𝑅 Precisão(P) Recall (R) Média F1 Score Algoritmo 1 0.5 0.4 0.45 0.444 Algoritmo 2 0.7 0.1 0.175 Algoritmo 3 0.02 1.0 0.51 0.0392 Média = 𝑃+𝑅 2 𝐹 1 Score = 2 𝑃𝑅 𝑃+𝑅

Criando um Sistema de Aprendizagem com Alta Precisão Ex: Classificação entre palavras confundíveis (to, two, too; than, then) Algoritmos: Perceptron (Logistic regression) Winnow Memory-based Naïve Bayes Conjunto de treinamento (milhões) Precisão