Conselhos para a aplicao de aprendizagem de mquinas

  • Slides: 31
Download presentation
Conselhos para a aplicação de aprendizagem de máquinas

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

O que fazer em seguida? • Suponha que você tenha implementado regressão linear regularizada

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: -

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.

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

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

Conjunto de Teste 70% 30% Tamanho Preço 2104 1600 2400 1416 3000 1985 1534

Conjunto de Teste 70% 30% Tamanho Preço 2104 1600 2400 1416 3000 1985 1534 1427 1380 1494 400 330 369 232 540 300 315 199 212 243 Treinamento Teste

20% 400 1600 330 2400 369 1416 232 3000 540 1985 300 1534 315

20% 400 1600 330 2400 369 1416 232 3000 540 1985 300 1534 315 1427 199 1380 212 1494 243 m 2104 ein a Preço Tr 60% Tamanho en to Seleção de modelos u da a z r c o çã a d ali V Teste

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

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

Diagnosticando Bias vs. Variância • Suponha que seu algoritmo esteja apresentando erro de validação

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: Erro Jv (Erro de validação) Jt alto e Jv alto Variância: Jt baixo e Jv alto Jtreino (Erro de treino) Grau do polinômio

Regularização e Bias/Variância Price • Modelo: Size λ Alto – Bias Alto (underfit) λ

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

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

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

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 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 Jvalidação Jtreino

erro Curvas de Aprendizagem Jvalidação Jtreino

Erro Jvalidação Jtreino price Curvas de Aprendizagem – Bias Alto • Se o algoritmo

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

Jvalidação preço erro Curvas de Aprendizagem – Alta Variância Jtreino • Se o algoritmo

Jvalidação preço erro Curvas de Aprendizagem – Alta Variância Jtreino • 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) -

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)

Design de Sistema de Aprendizagem de Máquina

Design de Sistema de Aprendizagem de Máquina

Construindo um Classificador de Spam From: cheapsales@buystufffromme. com To: ang@cs. stanford. edu Subject: Buy

Construindo um Classificador de Spam From: cheapsales@buystufffromme. com To: ang@cs. stanford. edu Subject: Buy now! From: Alfred Ng To: ang@cs. stanford. edu Subject: Christmas dates? Deal of the week! Buy now! Rolex w 4 tchs - $100 Med 1 cine (any kind) - $50 Also low cost M 0 rgages available. 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

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 (w 4 tachs, med 1 cine, m 0 rgages)

Análise de Erro • Abordagem recomendada: – Comece com um algoritmo simples, que possa

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

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? Farmácia: 12 Replica/falso: 4 Senhas roubadas: 53 Outros: 31 Erros de escrita propositais: 5 (m 0 rgage, med 1 cine, etc. ) Roteamento de e-mail estranho: 16 Pontuação estranha: 32

Métricas de Erro para Classes Distorcidas • Exemplo de classificação de câncer – É

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 = predict. Cancer(x) y = 0; %ignore x! return

Métricas de Erro para Classes Distorcidas • Y = 1 é uma classe rara

Métricas de Erro para Classes Distorcidas • Y = 1 é uma classe rara queremos detectar!

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

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

Precisão vs. Recall Limiar = 0. 99 • Precisão 1 Limiar = 0. 01

Precisão vs. Recall Limiar = 0. 99 • Precisão 1 Limiar = 0. 01 0. 5 Recall 1

 Precisão(P) Recall (R) Média F 1 Score Algoritmo 1 0. 5 0. 45

Precisão(P) Recall (R) Média F 1 Score Algoritmo 1 0. 5 0. 45 0. 444 Algoritmo 2 0. 7 0. 1 0. 4 0. 175 Algoritmo 3 0. 02 1. 0 0. 51 0. 0392

 • Ex: Classificação entre palavras confundíveis (to, two, too; than, then) • Algoritmos:

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