Week 2 · Lesson 2 · 45-55 minutos
Dados de treinamento contra dados de teste
Veja por que um modelo é ensinado com um conjunto de exemplos e conferido com outro, e como testar com exemplos nunca vistos mede se ele realmente aprendeu o padrão.
- Materials
- Esta aula em um navegador web · Papel e lápis, ou um aplicativo de notas · O conjunto de dados de animais já incluído que aparece nesta aula
- This lesson
- In progress
Auto-saves on this device
What you'll be able to do
- Explicar a diferença entre dados de treinamento e dados de teste.
- Descrever por que um modelo precisa ser testado com exemplos com que não aprendeu.
- Definir generalização e acurácia e ligá-las ao teste.
Think about it
Um professor entrega uma folha de exercícios e depois aplica uma prova com exatamente as mesmas perguntas e respostas. Se todo mundo tirar 100 por cento, isso prova que aprenderam a matéria, ou só que decoraram aquelas respostas?
Guarde essa ideia: um modelo conferido com os mesmos exemplos com que aprendeu tem o mesmo problema.
Make a prediction
Preveja: se você testar um modelo só com os mesmos exemplos com que ele treinou, a nota dele vai dizer o quanto ele lida bem com exemplos totalmente novos?
Vocabulary
See the full course vocabulary- Treinamento
- Mostrar a um modelo muitos exemplos rotulados para que ele aprenda o padrão que liga características a uma categoria.
- Teste
- Conferir um modelo com exemplos rotulados novos, com que ele não aprendeu, para ver o quanto ele realmente funciona.
- Dados de treinamento
- Os exemplos com que um modelo aprende durante o treinamento.
- Dados de teste
- Um conjunto separado de exemplos, guardado fora do treinamento, usado só para conferir o modelo.
- Generalização
- O quanto um modelo funciona bem com exemplos novos que nunca viu, e não só com aqueles com que aprendeu.
- Acurácia
- A proporção de exemplos de teste que um modelo rotula corretamente, muitas vezes escrita como fração ou porcentagem.
Treinamento: aprender o padrão a partir de exemplos
O treinamento é a etapa em que um modelo olha muitos exemplos rotulados e aprende um padrão que liga características a categorias. Os exemplos usados para isso são os dados de treinamento.
Durante o treinamento, o modelo pode ver tanto as características quanto o rótulo correto de cada exemplo, então ele consegue se ajustar até que os palpites dele passem a bater com os rótulos.
- Mostrar a um modelo 100 linhas rotuladas de animais para que ele aprenda que "ter asas geralmente quer dizer ave"
- Alimentar um filtro de spam com milhares de e-mails já marcados como spam ou não
Teste: uma conferência justa com exemplos nunca vistos
Se você só conferisse um modelo com os mesmos exemplos com que ele aprendeu, ele poderia simplesmente repetir respostas que já decorou, como um aluno que responde exatamente à folha de exercícios que estudou. Isso não provaria que ele aprendeu nada útil.
Por isso guardamos alguns exemplos como dados de teste. O modelo nunca treina com eles. Testar significa rodar o modelo nesse conjunto separado e nunca visto e comparar os palpites dele com os rótulos verdadeiros. Essa é uma conferência justa do que ele realmente aprendeu.
- Guardar 20 linhas de animais; treinar com as outras 80; depois testar com as 20 linhas guardadas
- Uma folha de exercícios para estudar e uma prova separada para ser avaliado
Generalização e acurácia
Generalização é o quanto um modelo se sai bem com exemplos novos que nunca viu. Um modelo que generaliza bem aprendeu o padrão de verdade, e não apenas as linhas exatas do treinamento. Testar com dados nunca vistos é como medimos a generalização.
Acurácia é uma nota simples dessa conferência: de todos os exemplos de teste, que proporção o modelo rotulou corretamente? Se ele rotula 18 de 20 animais de teste certo, a acurácia dele é 18/20, ou seja, 90 por cento. Acurácia alta em dados de teste nunca vistos é o sinal de que um modelo realmente generaliza.
- 16 de 20 exemplos de teste corretos → acurácia de 80 por cento
- Um modelo com nota alta nas linhas de treinamento mas baixa nas de teste não generalizou
Worked example
Dividindo 20 animais em treinamento e teste
- Comece com um conjunto de dados de 20 animais rotulados (cada linha tem características e um rótulo "ave" ou "não é ave").
- Divida: ponha 15 linhas no conjunto de treinamento e guarde 5 linhas como conjunto de teste.
- Treine: deixe o modelo aprender o padrão usando só as 15 linhas de treinamento.
- Teste: mostre ao modelo as 5 linhas guardadas sem os rótulos delas e anote os palpites dele.
- Calcule a acurácia: compare os 5 palpites dele com os rótulos verdadeiros. Se 4 estiverem certos, a acurácia é 4/5, ou seja, 80 por cento, uma medida do quanto ele generaliza.
Takeaway: Treine com uma parte dos dados, teste com uma parte guardada, e meça a acurácia na parte nunca vista para julgar a generalização.
Duas etapas. Etapa 1 (Treinamento): os dados de treinamento, a maior parte das linhas, entram no modelo, que aprende um padrão. Etapa 2 (Teste): entram os dados de teste guardados, que o modelo nunca viu; os palpites dele são comparados aos rótulos verdadeiros para obter uma nota de acurácia. O ponto central: as linhas de teste ficam completamente separadas do treinamento.
O modelo aprende com os dados de treinamento e é avaliado com dados de teste separados.
Values shown in % de acertos.
Um gráfico de barras comparando a acurácia de um mesmo modelo nos dados com que ele treinou e em dados de teste nunca vistos, medida em porcentagem. Barra 1, "Nos dados de treinamento", 98 por cento. Barra 2, "Em dados de teste nunca vistos", 82 por cento. A nota do teste é a medida honesta do quanto o modelo generaliza; uma barra de teste bem mais baixa avisa que o modelo em boa parte decorou.
Activity
Treine, teste e mude os dados
Dividir um conjunto de dados de frutas espaciais em treinamento e teste, rodar um modelo transparente e depois experimentar como dados equilibrados, desequilibrados e mal rotulados mudam os resultados.
- Split the 16 fruits into a training set (to learn from) and a testing set (held back to check the model).
- Every fruit goes in exactly one set. Keep some of each category in the test set.
- Run the model, read its accuracy, then try the three data experiments below.
Assign each fruit
Training set
12
Safe: 6 · Not safe: 6
Testing set (held back)
4
Safe: 2 · Not safe: 2
| Fruit | Correct label | In which set? |
|---|---|---|
| DawnberryA 10 cm crimson round fruit with smooth skin and 6 seeds, sweetness 8 of 10, glow level 0 of 5, growing in a canopy. | Safe | |
| SandplumA 8 cm amber oval fruit with bumpy skin and 4 seeds, sweetness 7 of 10, glow level 1 of 5, growing in a dune. | Safe | |
| TidefruitA 12 cm teal round fruit with fuzzy skin and 8 seeds, sweetness 9 of 10, glow level 0 of 5, growing in a reef. | Safe | |
| EmberpearA 9 cm crimson oval fruit with smooth skin and 5 seeds, sweetness 6 of 10, glow level 2 of 5, growing in a canopy. | Safe | |
| DunedropA 7 cm amber round fruit with bumpy skin and 3 seeds, sweetness 7 of 10, glow level 1 of 5, growing in a dune. | Safe | |
| CanopyfigA 11 cm teal oval fruit with fuzzy skin and 7 seeds, sweetness 8 of 10, glow level 0 of 5, growing in a canopy. | Safe | |
| RedgourdA 10 cm crimson round fruit with smooth skin and 6 seeds, sweetness 5 of 10, glow level 2 of 5, growing in a dune. | Safe | |
| ReefplumA 8 cm amber oval fruit with fuzzy skin and 4 seeds, sweetness 9 of 10, glow level 1 of 5, growing in a reef. | Safe | |
| StarflareA 5 cm violet star fruit with spiky skin and 2 seeds, sweetness 3 of 10, glow level 4 of 5, growing in a crater. | Not safe | |
| GlowcoilA 4 cm azure spiral fruit with bumpy skin and 1 seeds, sweetness 2 of 10, glow level 5 of 5, growing in a cavern. | Not safe | |
| BrightstarA 6 cm violet star fruit with smooth skin and 0 seeds, sweetness 4 of 10, glow level 3 of 5, growing in a crater. | Not safe | |
| ThornstarA 5 cm azure star fruit with spiky skin and 3 seeds, sweetness 2 of 10, glow level 2 of 5, growing in a cavern. | Not safe | |
| SpikecoilA 4 cm violet spiral fruit with spiky skin and 1 seeds, sweetness 3 of 10, glow level 1 of 5, growing in a crater. | Not safe | |
| CavernglowA 7 cm azure star fruit with bumpy skin and 2 seeds, sweetness 1 of 10, glow level 4 of 5, growing in a cavern. | Not safe | |
| VoidstarA 5 cm violet spiral fruit with smooth skin and 0 seeds, sweetness 3 of 10, glow level 5 of 5, growing in a crater. | Not safe | |
| BarbstarA 6 cm azure star fruit with spiky skin and 4 seeds, sweetness 2 of 10, glow level 3 of 5, growing in a cavern. | Not safe |
Experiment: change the data, keep the test the same
Each experiment trains on a different version of the data and is checked on the same 8 held-back test fruits. Predict what will happen, then run it.
A · Balanced, correct data
All 24 examples, evenly split between Safe and Not-safe, every label correct. This is the fair starting point.
Write a prediction first.
B · Unbalanced data
Every Safe example but only 2 Not-safe examples, so the model barely sees the Not-safe category.
Write a prediction first.
C · Data with incorrect labels
The same 24 examples, but 5 of them have their labels flipped to the wrong answer.
Write a prediction first.
This is a simplified classroom model (k-nearest neighbors). It compares a new fruit to the most similar training fruits and copies the most common label. Real AI systems are far larger — but the same ideas about good data still apply. The made-up rule is: A space fruit is Not safe to eat if it glows brightly (glow level 3 or more) OR it is spiky. Otherwise it is Safe to eat.
Check your understanding
Responda a estas perguntas para conferir se você entendeu treinamento, teste e acurácia.
Question 1. Por que testamos um modelo com exemplos com que ele não treinou?
Question 2. O resultado de quem é uma medida justa de aprendizado?
Ava estuda uma folha de exercícios e depois é avaliada com perguntas totalmente novas do mesmo tipo. Ben estuda uma folha de exercícios e depois é avaliado com exatamente as mesmas perguntas, com as respostas que ele já viu durante o estudo.
Question 3. Um modelo rotula corretamente 15 de 20 exemplos de teste. Qual é a acurácia dele?
0 of 3 answered
Try it yourself
Planeje um teste justo
Monte um plano justo de treinamento e teste para um modelo que separa mensagens em "pergunta" ou "não é pergunta".
- Decida quantas mensagens de exemplo você reuniria no total.
- Escolha como dividi-las em um conjunto de treinamento e um de teste, e diga por quê.
- Explique como você calcularia a acurácia a partir dos resultados do teste.
Success looks like
- Um número total claro de exemplos e uma divisão entre treinamento e teste.
- Um motivo para o conjunto de teste ficar separado do treinamento.
- Uma descrição correta de como a acurácia seria medida.
Reflection
Saved on this device as you type
Please don't include private information. Your answers are saved only in this browser and are never sent anywhere.
Recap
Os modelos treinam com um conjunto de exemplos e são testados com um conjunto separado e nunca visto; a acurácia nesses dados de teste mede o quanto o modelo generaliza.
- Os dados de treinamento ensinam o modelo; os dados de teste o conferem.
- As linhas de teste precisam ficar guardadas e nunca ser vistas durante o treinamento.
- Generalizar é ir bem com exemplos novos; acurácia é a proporção de exemplos de teste rotulados corretamente.
Grades 7–8 extension
Quando o treinamento parece ótimo mas o teste parece ruim
Às vezes um modelo tira uma nota quase perfeita nos dados de treinamento, mas vai mal nos dados de teste. Isso normalmente quer dizer que ele decorou as linhas exatas do treinamento em vez de aprender o padrão geral.
Descreva um caso em que isso poderia acontecer, por exemplo, um modelo que decorou frutas específicas pelo peso exato delas. O que você poderia mudar nos dados ou na divisão para ter um retrato mais honesto de como ele vai se sair?
Finish this lesson
- Attempt the knowledge check — not done
- Save a reflection (recommended) — not done
Attempt the knowledge check to finish this lesson.