Melhor seleção de subconjunto em aprendizado de máquina (explicação e exemplos)


No aprendizado de máquina, muitas vezes queremos construir modelos usando um conjunto de variáveis preditoras e uma variável de resposta . Nosso objetivo é construir um modelo que possa usar efetivamente as variáveis preditoras para prever o valor da variável resposta.

Dado um conjunto de p variáveis preditoras totais, existem muitos modelos que poderíamos construir. Um método que podemos usar para escolher o melhor modelo é conhecido como melhor seleção de subconjunto e funciona da seguinte maneira:

1. Seja M 0 o modelo nulo, que não contém nenhuma variável preditiva.

2. Para k = 1, 2,…p:

  • Ajuste todos os modelos p C k que contêm exatamente k preditores.
  • Escolha o melhor entre esses modelos de pCk e chame-o de Mk . Defina “melhor” como o modelo com o maior R 2 ou, equivalentemente, o menor RSS.

3. Selecione um único melhor modelo de M 0 … M p usando erro de predição de validação cruzada, Cp, BIC, AIC ou R 2 ajustado.

Observe que para um conjunto de p variáveis preditoras, existem 2 p modelos possíveis.

Exemplo de seleção do melhor subconjunto

Suponha que temos um conjunto de dados com p = 3 variáveis preditoras e uma variável de resposta, y. Para realizar a melhor seleção de subconjunto com este conjunto de dados, ajustaríamos os seguintes modelos 2 p = 2 3 = 8:

  • Um modelo sem preditores
  • Um modelo com preditor x 1
  • Um modelo com preditor x 2
  • Um modelo com preditor x 3
  • Um modelo com preditores x 1 , x 2
  • Um modelo com preditores x 1 , x 3
  • Um modelo com preditores x 2 , x 3
  • Um modelo com preditores x 1 , x 2 , x 3

Então escolheríamos o modelo com o maior R2 de cada conjunto de modelos com k preditores. Por exemplo, podemos acabar escolhendo:

  • Um modelo sem preditores
  • Um modelo com preditor x 2
  • Um modelo com preditores x 1 , x 2
  • Um modelo com preditores x 1 , x 2 , x 3

Em seguida, faríamos a validação cruzada e escolheríamos o melhor modelo como aquele que resulta no menor erro de predição, Cp, BIC, AIC ou R2 ajustado.

Por exemplo, podemos acabar escolhendo o seguinte modelo como o “melhor” modelo porque produziu o menor erro de previsão com validação cruzada:

  • Um modelo com preditores x 1 , x 2

Critérios para escolher o “melhor” modelo

A etapa final na seleção do melhor subconjunto é escolher o modelo com o menor erro de predição, menor Cp, menor BIC, menor AIC ou menor R2 ajustado. mais alto.

Aqui estão as fórmulas usadas para calcular cada uma dessas métricas:

Cp: (RSS+2dσ̂) /n

AIC: (RSS+2dσ̂ 2 ) / (nσ̂ 2 )

BIC: (RSS+log(n)dσ̂ 2 ) / n

R 2 ajustado: 1 – ( (RSS / (nd-1)) / (TSS / (n-1)) )

Ouro:

  • d: O número de preditores
  • n: Total de observações
  • σ̂: Estimativa da variância do erro associada a cada medida de resposta em um modelo de regressão
  • RSS: Soma residual dos quadrados do modelo de regressão
  • TSS: Soma total dos quadrados do modelo de regressão

Vantagens e desvantagens da seleção do melhor subconjunto

Selecionar o melhor subconjunto oferece os seguintes benefícios:

  • É uma abordagem simples de entender e interpretar.
  • Isso nos permite identificar o melhor modelo possível, uma vez que consideramos todas as combinações de variáveis preditoras.

No entanto, este método tem as seguintes desvantagens:

  • Isso pode ser computacionalmente intenso. Para um conjunto de p variáveis preditoras, existem 2 p modelos possíveis. Por exemplo, com 10 variáveis preditoras, existem 2 10 = 1.000 modelos possíveis a serem considerados.
  • Por considerar um número muito grande de modelos, ele poderia potencialmente encontrar um modelo com bom desempenho em dados de treinamento, mas não em dados futuros. Isso pode levar a um overfitting .

Conclusão

Embora a seleção do melhor subconjunto seja simples de implementar e entender, pode ser impraticável se você estiver trabalhando com um conjunto de dados contendo um grande número de preditores e pode levar a um ajuste excessivo.

Uma alternativa a este método é conhecida como seleção stepwise , que é mais eficiente computacionalmente.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *