Quando um modelo é mal equipado?


56

A lógica geralmente declara que, ao desajustar um modelo, sua capacidade de generalizar aumenta. Dito isto, claramente em algum momento a falta de ajuste de um modelo faz com que os modelos piorem, independentemente da complexidade dos dados.

Como você sabe quando seu modelo alcançou o equilíbrio certo e não está adaptando os dados que procura modelar?


Nota: Este é um seguimento da minha pergunta, " Por que o excesso de ajuste é ruim? "


Eu acho que você quis dizer, " Logic afirma frequentemente que por (mais) underfitting um modelo, é a capacidade de generalizar é aumentada. "
Rubens

Respostas:


43

Um modelo é inadequado quando é muito simples com relação aos dados que está tentando modelar.

Uma maneira de detectar essa situação é usar a abordagem de viés e variância , que pode ser representada assim:

insira a descrição da imagem aqui

Seu modelo fica com pouca roupa quando você tem um viés alto.


Para saber se você tem um viés muito alto ou uma variação muito alta, visualiza o fenômeno em termos de erros de treinamento e teste:

Viés alto: essa curva de aprendizado mostra um alto erro nos conjuntos de treinamento e teste, portanto, o algoritmo sofre um viés alto:

insira a descrição da imagem aqui

Alta variação: essa curva de aprendizado mostra uma grande lacuna entre os erros de treinamento e de conjunto de testes, de modo que o algoritmo sofre de alta variação.

insira a descrição da imagem aqui

Se um algoritmo está sofrendo de alta variação:

  • mais dados provavelmente ajudarão
  • caso contrário, reduza a complexidade do modelo

Se um algoritmo está sofrendo de alto viés:

  • aumentar a complexidade do modelo

Eu recomendaria assistir ao curso de aprendizado de máquina do Coursera , seção "10: Conselhos para aplicar o aprendizado de máquina", do qual tirei os gráficos acima.


Você quis dizer "aumentar reduzir a complexidade do modelo" no último ponto? Eu acho que apenas "aumenta a complexidade do modelo". . . BTW good timing Estou matriculado nesse curso e tinha acabado de assistir ao vídeo que você está se referindo.
Neil Slater

Graças @NeilSlater, boa captura, houve de fato um erro de digitação :)
Franck Dernoncourt

11
Você parece assumir que o erro de treinamento é uma estimativa decente do viés. O viés (para o caso simples da função de perda MSE) é definido como o erro esperado que você comete nos novos dados , quando calcula a média de sua previsão em todos os diferentes conjuntos de treinamento . O que faz do J_train (não calculado a média entre os conjuntos de treinamento e sem o uso de novos dados) uma estimativa decente do viés?
Max

@FranckDernoncourt, podemos associar a sobreajuste e a falta de adequação ao tamanho do treinamento versus dados de teste? Podemos dizer que o modelo treinado em conjuntos de treinamento menores é insuficiente?
Sudip Bhandari

10

Para responder à sua pergunta, é importante entender o quadro de referência que você está procurando. Se você está procurando o que filosoficamente está tentando alcançar na adaptação do modelo, confira a resposta de Rubens, ele faz um bom trabalho ao explicar esse contexto.

No entanto, na prática, sua pergunta é quase inteiramente definida pelos objetivos de negócios.

Para dar um exemplo concreto, digamos que você seja um oficial de crédito, você emitiu empréstimos no valor de US $ 3.000 e quando as pessoas pagam você recebe US $ 50. Naturalmente, você está tentando criar um modelo que preveja como se uma pessoa deixar de cumprir suas obrigações. empréstimo. Vamos manter isso simples e dizer que os resultados são pagamento integral ou padrão.

Da perspectiva do negócio, você pode resumir o desempenho de um modelo com uma matriz de contingência:

insira a descrição da imagem aqui

Quando o modelo prevê que alguém está indo para o padrão, não é? Para determinar as desvantagens do ajuste excessivo e insuficiente, acho útil pensar nele como um problema de otimização, porque em cada seção dos versos previstos do desempenho real do modelo há um custo ou lucro a ser obtido:

insira a descrição da imagem aqui

Neste exemplo, prever um padrão que é um padrão significa evitar qualquer risco e prever um não padrão que não seja o padrão fará US $ 50 por empréstimo emitido. Onde as coisas ficam complicadas é quando você está errado, se você adota o padrão de inadimplência, perde todo o principal do empréstimo e se prediz o padrão quando um cliente não deseja que você sofra US $ 50 de oportunidade perdida. Os números aqui não são importantes, apenas a abordagem.

Com essa estrutura, agora podemos começar a entender as dificuldades associadas ao excesso e ao mal encaixe.

Um ajuste excessivo nesse caso significaria que seu modelo funciona muito melhor nos dados de desenvolvimento / teste do que na produção. Ou, em outras palavras, seu modelo de produção terá um desempenho muito inferior ao que você viu no desenvolvimento; essa falsa confiança provavelmente fará com que você tome empréstimos muito mais arriscados do que você faria e o deixa muito vulnerável a perder dinheiro.

Por outro lado, a adaptação nesse contexto deixará você com um modelo que apenas faz um péssimo trabalho ao corresponder à realidade. Embora os resultados disso possam ser totalmente imprevisíveis (a palavra oposta que você deseja descrever seus modelos preditivos), geralmente o que acontece é que os padrões são mais rígidos para compensar isso, levando a menos clientes em geral, levando à perda de bons clientes.

O ajuste insuficiente sofre um tipo de dificuldade oposta à do ajuste excessivo, que está abaixo do ajuste, proporciona menor confiança. Insidiosamente, a falta de previsibilidade ainda o leva a assumir riscos inesperados, todos os quais são más notícias.

Na minha experiência, a melhor maneira de evitar essas duas situações é validar seu modelo em dados que estão completamente fora do escopo de seus dados de treinamento, para que você possa ter certeza de que possui uma amostra representativa do que verá 'na natureza. '

Além disso, é sempre uma boa prática revalidar seus modelos periodicamente, determinar com que rapidez seu modelo está se degradando e se ainda está cumprindo seus objetivos.

Para algumas coisas, seu modelo está mal ajustado quando faz um mau trabalho ao prever os dados de desenvolvimento e produção.


6

Modelos são apenas abstrações do que é visto na vida real. Eles são projetados para abstrair os detalhes do sistema real em observação, mantendo informações suficientes para apoiar a análise desejada.

Se um modelo estiver super ajustado, ele leva em conta muitos detalhes sobre o que está sendo observado, e pequenas alterações nesse objeto podem fazer com que o modelo perca precisão. Por outro lado, se um modelo está desajustado, ele avalia tão poucos atributos que mudanças notáveis ​​no objeto podem ser ignoradas.

Observe também que o desajuste pode ser visto como um desajuste , dependendo do conjunto de dados. Se a sua entrada pode ser de 99% -correctly classificadas com um único atributo, você overfit o modelo aos dados, simplificando a abstração a uma única característica. E, nesse caso, você generalizaria demais 1% da base na classe de 99% - ou também especificaria tanto o modelo que ele poderá ver apenas uma classe.

Uma maneira razoável de dizer que um modelo não está acima ou abaixo do necessário é executando validações cruzadas. Você divide seu conjunto de dados em k partes e diz, escolha um deles para executar sua análise, enquanto usa as outras partes k-1 para treinar seu modelo. Considerando que a entrada em si não é tendenciosa, você deve ter tanta variação de dados para treinar e avaliar quanto teria ao usar o modelo no processamento da vida real.


5

Simplesmente, uma abordagem comum é aumentar a complexidade do modelo, tornando-o simples e, provavelmente, o ajuste insuficiente no início, e aumentando a complexidade do modelo até que os primeiros sinais de ajuste excessivo sejam testemunhados usando uma técnica de reamostragem, como validação cruzada, autoinicialização, etc.

Você aumenta a complexidade adicionando parâmetros (número de neurônios ocultos para redes neurais artificiais, número de árvores em uma floresta aleatória) ou relaxando o termo de regularização (geralmente chamado lambda ou C para máquinas de vetores de suporte) em seu modelo.


3

O CAPM (Capital Asset Pricing Model) em Finanças é um exemplo clássico de um modelo de underfit. Foi construído com base na bela teoria de que "os investidores pagam apenas pelo risco que não podem diversificar", de modo que os retornos em excesso esperados são iguais à correlação com os retornos do mercado.

Como fórmula [0] Ra = Rf + B (Rm - Rf) em que Ra é o retorno esperado do ativo, Rf é a taxa livre de risco, Rm é a taxa de retorno do mercado e Beta é a correlação com o prêmio de capital próprio. (Rm - Rf)

Isso é bonito, elegante e errado. Os investidores parecem exigir uma taxa mais alta de pequenas ações e ações de valor (definidas pelo livro a mercado, ou dividend yield).

Fama e French [1] apresentaram uma atualização para o modelo, que adiciona Betas adicionais por tamanho e valor.

Então, como você sabe em um sentido geral? Quando as previsões que você está fazendo estão erradas, e outra variável com uma explicação lógica aumenta a qualidade da previsão. É fácil entender por que alguém pode pensar que pequenas ações são arriscadas, independentemente de riscos não diversificáveis. É uma boa história, apoiada pelos dados.

[0] http://www.investopedia.com/terms/c/capm.asp [1] http://en.wikipedia.org/wiki/Fama%E2%80%93French_three-factor_model

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.