conselhos para a aplicação de aprendizagem de máquinas
TRANSCRIPT
![Page 1: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/1.jpg)
Conselhos para a aplicação de aprendizagem de máquinas
![Page 2: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/2.jpg)
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?
![Page 3: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/3.jpg)
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.
![Page 4: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/4.jpg)
Avaliando a hipótese
• Falha na generalização de novos exemplos que não estão no conjunto de treinamento
![Page 5: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/5.jpg)
Conjunto de Teste
Tamanho Preço2104 4001600 3302400 3691416 2323000 5401985 3001534 3151427 1991380 2121494 243
70%
30%
Treinamento
Teste
![Page 6: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/6.jpg)
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
Treina
mento
Validação cruzada
Teste
60%
20%
20%
![Page 7: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/7.jpg)
Bias/VariânciaPr
eço
Tamanho
Preç
o
Tamanho
Preç
o
Tamanho
Bias Alto (underfit) Alta Variância (overfit)
![Page 8: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/8.jpg)
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?
Jv
Jtreino
(Erro de validação)
(Erro de treino)
Erro
Grau do polinômio
Bias Variância Bias:Jt alto e Jv alto
Variância:Jt baixo e Jv alto
![Page 9: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/9.jpg)
Regularização e Bias/Variância
• Modelo:
Pric
e
Size
Pric
e
Size
Pric
e
Size
λ Alto – Bias Alto (underfit)
λ Intermediário – curva ideal
λ baixo – Alta variância(overfit)
![Page 10: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/10.jpg)
Regularização e Bias/VariânciaVariância
Bias
Melhor valor
JtreinoJteste
![Page 11: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/11.jpg)
Curvas de Aprendizagemer
ro
![Page 12: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/12.jpg)
Curvas de Aprendizagemer
ro
![Page 13: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/13.jpg)
Curvas de Aprendizagemer
ro
![Page 14: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/14.jpg)
Curvas de Aprendizagemer
ro
![Page 15: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/15.jpg)
Curvas de Aprendizagemer
ro
![Page 16: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/16.jpg)
Curvas de Aprendizagemer
ro
![Page 17: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/17.jpg)
Curvas de Aprendizagemer
ro Jvalidação
Jtreino
![Page 18: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/18.jpg)
Curvas de Aprendizagem – Bias Alto
• Se o algoritmo estiver com o bias alto, conseguir mais exemplos não vai ajudar.
Erro
size
pric
e
size
pric
e
Jvalidação
Jtreino
![Page 19: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/19.jpg)
Curvas de Aprendizagem – Alta Variância
• Se o algoritmo estiver com uma alta variância, conseguir mais exemplos deve ajudar.
tamanho
preç
o
tamanho
preç
o
erro Jvalidação
Jtreino
![Page 20: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/20.jpg)
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)
![Page 21: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/21.jpg)
Design de Sistema de Aprendizagem de Máquina
![Page 22: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/22.jpg)
Construindo um Classificador de Spam
From: [email protected]: [email protected]: Buy now!
Deal of the week! Buy now!Rolex w4tchs - $100Med1cine (any kind) - $50Also low cost M0rgages available.
From: Alfred NgTo: [email protected]: Christmas dates?
Hey Andrew,Was talking to Mom about plans for Xmas. When do you get off work. Meet Dec 22?Alf
![Page 23: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/23.jpg)
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)
![Page 24: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/24.jpg)
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.
![Page 25: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/25.jpg)
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: 12Replica/falso: 4Senhas roubadas: 53Outros: 31
Erros de escrita propositais: 5 (m0rgage, med1cine, etc.)Roteamento de e-mail estranho: 16Pontuação estranha: 32
![Page 26: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/26.jpg)
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
![Page 27: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/27.jpg)
Métricas de Erro para Classes Distorcidas
• Y = 1 é uma classe rara que queremos detectar!
Precisão:De todos os pacientes que foram classificadoscom 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?
![Page 28: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/28.jpg)
Métricas de Erro para Classes Distorcidas
Classe Prevista
Real (1) Classe (0)
1 VerdadeiroPositivo
Falso Positivo
0 Falso Negativo
Verdadeiro Negativo
![Page 29: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/29.jpg)
Precisão vs. Recall• Regressão logística:
– Prever 1 caso 0.7, 0.9, 0.3– Prever 0 caso 0.7, 0.9, 0.3
• Prever (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
1
0.5
0.5 1Recall
Prec
isão
Limiar = 0.99
Limiar = 0.01
• Prever 1 caso limiar
![Page 30: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/30.jpg)
Score (F Score)
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.4 0.175
Algoritmo 3 0.02 1.0 0.51 0.0392
Média = Score =
![Page 31: Conselhos para a aplicação de aprendizagem de máquinas](https://reader036.vdocuments.pub/reader036/viewer/2022062819/570638681a28abb82390376d/html5/thumbnails/31.jpg)
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)
Pre
cisã
o