Overfitting

Overfitting é um termo de aprendizagem de máquina usado para descrever um modelo que foi bem treinado demais em um determinado conjunto de dados. Isto frequentemente resulta em um modelo que tem um bom desempenho nos dados de treinamento, mas não generaliza bem para novos dados. O sobreajuste pode ser evitado usando um conjunto de validação para afinar o modelo, ou usando um modelo mais sofisticado que seja menos propenso ao sobreajuste. Como você acha que um modelo é sobreajustado? Existem algumas maneiras de saber se um modelo está sobreajustado:

- Se o modelo só é exato nos dados de treinamento, e não em nenhum dado novo, é sobreajustado.
- Se o modelo está a fazer previsões demasiado específicas para os dados de treino, está a sobreajustar.
- Se o modelo for excessivamente complexo, é provável que esteja a sobreajustar.

Como paro de sobreajustar e subajustar?

Existem duas formas principais de evitar o sobreajustamento e o subajustamento:

1) Usar um conjunto de treino maior. Isto ajudará o modelo a generalizar melhor e, portanto, reduzir o sobreajustamento.

2) Utilizar a regularização. Esta técnica impõe uma penalização ao modelo por ter muitos parâmetros (ou seja, overfitting) ou muito poucos parâmetros (ou seja, underfitting).

O que é sobreajustamento e subajustamento?

Overfitting ocorre quando um modelo de aprendizagem da máquina é excessivamente complexo, como ter muitos parâmetros em relação ao número de observações. Isto resulta num modelo que se ajusta demasiado aos dados de formação e não é capaz de generalizar a novos dados.

O subajuste ocorre quando um modelo de aprendizagem da máquina é demasiado simples, como por exemplo ter poucos parâmetros em relação ao número de observações. Isto resulta no modelo não ser capaz de captar a complexidade dos dados, e é incapaz de generalizar a novos dados.

Quais são os sinais de sobreajustamento?

Existem alguns sinais que podem indicar que um modelo de aprendizagem de máquina está sobreajustado:

- Se o desempenho do modelo nos dados de treinamento for muito melhor do que o desempenho nos dados de teste

- Se o modelo for muito complexo (por exemplo, tem muitos parâmetros)

- Se o modelo estiver fazendo previsões que são muito específicas para os dados de treinamento

Se algum desses sinais estiver presente, é provável que o modelo esteja se sobreajustando e deve ser simplificado.

O ensacamento reduz o sobreajustamento?

O ensacamento é uma técnica usada para reduzir o sobreajustamento na aprendizagem da máquina. Funciona combinando vários modelos para criar um modelo único e mais preciso. Os modelos usados no ensacamento podem ser de qualquer tipo, mas geralmente são árvores de decisão.

O ensacamento funciona através do treinamento de cada modelo em um subconjunto diferente dos dados. O modelo final é então criado através da média das previsões dos modelos individuais. Este processo de cálculo da média reduz a variância do modelo, o que, por sua vez, reduz o sobreajuste.

O ensacamento é eficaz para reduzir o sobreajuste porque obriga os modelos a serem diferentes uns dos outros. Esta diversidade evita que os modelos se sobreajustem aos dados de treinamento.

Há algumas coisas a ter em conta quando se utiliza o ensacamento para reduzir o sobreajustamento:

- Os modelos usados no ensacamento devem ser diferentes uns dos outros. Se os modelos forem demasiado semelhantes, então o ensacamento não será eficaz.

- O ensacamento é mais eficaz quando os modelos individuais não são demasiado complexos. Se os modelos forem demasiado complexos, então eles ajustar-se-ão demasiado aos dados de treino, mesmo quando são treinados em subconjuntos diferentes dos dados.

- O ensacamento pode ser usado com qualquer tipo de modelo, mas é mais comumente usado com árvores de decisão.