Suponha que um modelo tenha 100% de precisão nos dados de treinamento, mas 70% de precisão nos dados de teste. O argumento a seguir é verdadeiro sobre esse modelo?
É óbvio que este é um modelo com excesso de ajuste. A precisão do teste pode ser aprimorada, reduzindo o sobreajuste. Mas, esse modelo ainda pode ser um modelo útil, pois possui uma precisão aceitável para os dados de teste.
model
accuracy
overfitting
Hossein
fonte
fonte
Respostas:
Eu acho que o argumento está correto. Se 70% for aceitável em uma aplicação específica, o modelo será útil mesmo que esteja sobreajustado (em geral, independentemente de estar sobreajustado ou não).
Embora o equilíbrio entre super ajuste e baixo ajuste preocupe com a otimização (procurar uma solução ótima), ter um desempenho satisfatório é sobre suficiência (o modelo está executando o suficiente para a tarefa?). Um modelo pode ser suficientemente bom sem ser o ideal.
Edit: após os comentários de Firebug e Matthew Drury no âmbito do OP, acrescentarei que para julgar se o modelo está sobreajustado sem saber que o desempenho da validação pode ser problemático. O Firebug sugere comparar a validação versus o desempenho do teste para medir a quantidade de sobreajuste. No entanto, quando o modelo fornece 100% de precisão no conjunto de treinamento sem fornecer 100% de precisão no conjunto de teste, é um indicador de possível superajuste (especialmente no caso de regressão, mas não necessariamente na classificação).
fonte
set.seed(100)
uma ilustração como o fenômeno descrito aqui eset.seed(15)
pelo contrário. Talvez melhor dizer "um indicador de possível overfitting"No meu projeto anterior com detecção de fraude no cartão de crédito, intencionalmente queremos ajustar demais os dados / código codificado para lembrar casos de fraude. (Observe que a super adaptação de uma classe não é exatamente o problema geral de superajuste mencionado pelo OP.) Esse sistema possui falsos positivos relativamente baixos e satisfaz nossas necessidades.
Então, eu diria que o modelo com excesso de ajuste pode ser útil em alguns casos.
fonte
Talvez: cuidado. Quando você diz que a precisão de 70% (independentemente da medida) é boa o suficiente para você, parece que você está assumindo que os erros são distribuídos aleatoriamente ou uniformemente.
Mas uma das maneiras de observar o sobreajuste é que isso acontece quando uma técnica de modelo permite (e seu processo de treinamento incentiva) prestar muita atenção às peculiaridades no conjunto de treinamento. Indivíduos da população em geral que compartilham essas peculiaridades podem ter resultados altamente desequilibrados.
Então, talvez você acabe com um modelo que diz que todos os cães vermelhos têm câncer - por causa dessa peculiaridade particular nos seus dados de treinamento. Ou que as pessoas casadas entre 24 e 26 anos têm quase a garantia de registrar reivindicações de seguro fraudulentas. Sua precisão de 70% deixa muito espaço para bolsos de assuntos estarem 100% errados porque seu modelo está super ajustado.
(Não estar com excesso de ajuste não é uma garantia de que você não terá muitas previsões erradas. Na verdade, um modelo insuficiente terá várias previsões ruins, mas com o excesso de ajuste você sabe que está aumentando o efeito de peculiaridades nos dados de treinamento. .)
fonte
Não, eles podem ser úteis, mas depende do seu objetivo. Várias coisas vêm à mente:
Esse classificador pode ser realmente útil em um conjunto . Poderíamos ter um classificador com pesos normais, um que superexpanda o TPR, um que superexponha o FNR. Então, mesmo a simples votação de uma regra de três, ou a média, proporcionará uma AUC melhor do que qualquer melhor classificador. Se cada modelo usar hiperparâmetros diferentes (ou conjuntos de treinamento ou arquiteturas de modelo subamostra), isso comprará ao conjunto alguma imunidade de super ajuste.
Da mesma forma, para antispam, antifraude ou pontuação de crédito em tempo real , é aceitável e desejável usar uma hierarquia de classificadores. Os classificadores de nível 1 devem avaliar muito rápido (ms) e não há problema em ter uma alta taxa de retorno de retorno ; quaisquer erros que cometam serão detectados por classificadores de nível superior mais precisos, com mais recursos e mais lentos ou, por fim, por revisores humanos. Exemplo óbvio: evite manchetes de notícias falsas de aquisições de contas no Twitter como o "ataque a bomba da Casa Branca mata três" de 2013, afetando US $ bilhões em negociações dentro de ms após a publicação. Não há problema em o classificador de nível 1 sinalizar isso como positivo para spam; vamos permitir que demore um pouco para determinar (automaticamente) a verdade / falsidade dos noticiários sensacionais, mas não verificados.
fonte
Não estou negando que um modelo com excesso de ajuste ainda possa ser útil. Mas lembre-se de que esses 70% podem ser uma informação enganosa. O que você precisa para julgar se um modelo é útil ou não é o erro fora da amostra , não o erro de teste (o erro fora da amostra não é conhecido, portanto, precisamos calculá-lo usando um conjunto de testes oculto ) e esses 70% são apenas a boa aproximação.
Para garantir que estamos na mesma página na terminologia após o comentário de @RichardHardy, vamos definir o erro de teste como o erro obtido ao aplicar o modelo no conjunto de testes cegos. E o erro fora da amostra é o erro ao aplicar o modelo a toda a população.
A aproximação do erro fora da amostra depende de duas coisas: o próprio modelo e os dados.
Um modelo "ideal" gera uma precisão (teste) que dificilmente depende dos dados; nesse caso, seria uma boa aproximação. "Independentemente" dos dados, o erro de previsão seria estável.
Porém, a precisão de um modelo com excesso de ajustes depende muito dos dados (como você mencionou 100% no conjunto de treinamento e 70% no outro conjunto). Portanto, ao aplicar a outro conjunto de dados, a precisão pode estar em algum lugar abaixo de 70% (ou superior) e podemos ter más surpresas. Em outras palavras, esses 70% estão dizendo o que você acredita que seja, mas não é.
fonte