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.