Desenvolvendo um Modelo - Introdução
Introdução
- Repartição dos dados em 3 conjuntos: treino/teste/validação
- Escolha do modelo
- Otimização hiperparâmetros do modelo (usa os dados de treino e validação)
- Treino do modelo usando a união dos conjuntos treino e validação
- Avaliação do modelo nos dados de teste
- Treino do modelo usando a união dos conjuntos treino, validação e teste
Repartição treino/teste/validação
Dados de treino
Dados de validação
Dados de teste
Interesse e motivação dessa repartição - Generalização
O motivo por trás dessa repartição vêm da necessidade do modelo ser capaz de generalizar um problema. O conceito é bem simples na realidade, nenhum mistério !
Essa capacidade de generalização é simplesmente o fato de o modelo ter uma boa performance mesmo em dados que ele nunca viu !
Um modelo que é muito bom em classificar pontos que ele já viu durante o treino mas que é péssimo com pontos que ele nunca viu significa que ele não é capaz de generalizar o problema !
Como nossa quantidade de dados é sempre limitada, nós sempre buscamos modelos bons nos dados que ele já viu e igualmente bons nos dados que ele nunca viu.
Esse problema de generalização é na realidade outro problema bem conhecido que tem até nome: Bias–variance tradeoff (Trade-off entre viés e variância).
Trade-off entre viés e variância
- Um modelo com Viés muito baixo (muito bom nos dados já vistos) terá provavelmente tem provavelmente uma variância muito elevada, o que implica que o modelo vai ser bem ruim nos dados nunca vistos.
- Um modelo com Viés muito alto (já muito ruim nos dados já vistos) terá provavelmente uma variância muito baixa, o que implica que o modelo também vai ser muito ruim nos dados nunca vistos, pois ele vai ter uma performance parecida à performance obtida nos dados já vistos (ele não "varia" muito).
O que nós buscamos é um modelo com Viés "razoavelmente baixo" e variância "razoavelmente baixa".
Tentei explicar esse trade-off de forma intuitiva, porém o uso do termo variância vem na realidade de um desenvolvimento matemático (posso aprofundar futuramente, mas se quiserem podem dar uma olhada no Wikipédia).
E, ainda, esse trade-off origina dois outros paradigmas BEM importantes: overfitting e underfitting.
Overfitting vs Underfitting
![]() |
| Trade-off viés-variância. Fonte: towardsdatascience.com |
Com essa imagem creio eu que fique fácil de entender:
- Overfitting: O modelo aprendeu muito bem (até demais) o dados de treino, ele é capaz de prever com exatidão cada um dos "pontos" de treino. Porém, se testarmos esse modelo com um ponto de teste que nunca foi visto, a previsão vai ser catastrófica.
- Underfitting: O modelo usado é simples demais e ele não é capaz de prever os dados de treino. Consequentemente, ele vai ser igualmente ruim na predição de pontos de treino que nunca foram vistos.
- Good balance: O modelo aqui não prevê com exatidão os pontos de treino (viés não nulo, mas ainda baixo), porém o modelo vai ter uma performance similar (i.e., boa) com pontos nunca vistos ! Esse é o grande objetivo.
Como chegar no "Good balance" ?
- Um modelo linear (2D) tem 2 parâmetros (a, b) à serem ajustados: y = a*x + b
- Um modelo quadrático (2d) tem 3 parâmetros (a, b, c) à serem ajustados: y = a*x^2 + b * x + c

Comentários
Postar um comentário