Seleção de recursos no aprendizado de máquina: motivação

Nov 24 2022
Este pequeno artigo é o primeiro de uma série que explica as técnicas de seleção de recursos. Comecei com uma introdução amigável e apresentei as poderosas razões por trás do processo de seleção de recursos.

Este pequeno artigo é o primeiro de uma série que explica as técnicas de seleção de recursos. Comecei com uma introdução amigável e apresentei as poderosas razões por trás do processo de seleção de recursos. Nos próximos artigos, mencionarei cada método de seleção de recurso em detalhes.

A seleção de recursos é o processo de selecionar um subconjunto de recursos relevantes (variáveis, preditores) do total de recursos de um nível em um conjunto de dados para criar algoritmos de aprendizado de máquina. Dado um conjunto de dados inicial que normalmente contém um grande número de variáveis, o que podemos fazer para selecionar o pool de recursos que são importantes no momento de fazer previsões? Há uma variedade de procedimentos ou técnicas que podemos aplicar como parte do processo de seleção de recursos.

Antes de mergulhar nas técnicas de seleção de recursos, por que selecionamos recursos, para começar? Aqui estão algumas razões.

  • Modelos mais simples são mais fáceis de interpretar. É mais fácil para os usuários do modelo entender a saída de um modelo que usa 10 variáveis ​​do que a saída de um modelo que usa 100 variáveis.
  • Tempos de treinamento mais curtos. Reduzir o número de variáveis ​​usadas para construir os modelos de aprendizado de máquina reduz o custo computacional e, portanto, acelera a construção do modelo. Porém, o mais importante, modelos mais simples também pontuam mais rapidamente do que os aplicativos, o que é particularmente importante se o modelo estiver em um ambiente ativo em que as decisões precisam ser tomadas em segundos.
  • Generalização aprimorada reduzindo o overfitting. Muitas vezes, muitas das variáveis ​​são ruído com pouco ou nenhum valor preditivo. Os modelos de aprendizado de máquina, no entanto, aprendem com esse ruído, causando overfitting e reduzindo a generalização. Ao eliminar recursos ruidosos irrelevantes, podemos melhorar substancialmente a generalização de um modelo de aprendizado de máquina.
  • Mais fácil de implementar por desenvolvedores de software. Quando o modelo de aprendizado de máquina é implantado, geralmente os desenvolvedores de software precisam escrever código para chamar as variáveis ​​que precisam ser inseridas no modelo para produzir a saída. É muito mais rápido escrever código para 10 a 50 variáveis ​​do que para 400 variáveis. Além disso, menos código é menos propenso a bugs e, portanto, fornece um ambiente mais seguro.
  • Risco reduzido de erros de dados durante o uso do modelo. Muitas vezes, as empresas dependem de chamadas para dados de terceiros, a partir das quais selecionarão variáveis ​​para passar pelo modelo de aprendizado de máquina. Reduzir o uso do número de variáveis ​​usadas no modelo de aprendizado de máquina reduz a exposição do negócio a erros na coleta e armazenamento de dados de terceiros e também os possíveis erros na coleta de dados que podem surgir dentro do mesmo negócio.
  • Redundância variável. Muitas vezes, os recursos dentro de um conjunto de dados são altamente correlacionados. Recursos altamente correlacionados fornecem a essência da mesma informação. Portanto, eles são meio redundantes. Poderíamos manter um e remover todo o resto sem perder informações.
  • Mau comportamento de aprendizagem em espaços de alta dimensão. O desempenho do modelo de aprendizado de máquina em algoritmos baseados em árvore específicos é favorecido por espaços de recursos reduzidos. Isso significa, em outras palavras, que altas dimensões causam baixo desempenho em métodos baseados em árvore e, portanto, reduzir o espaço de recursos ajuda a construir modelos mais robustos e preditivos.

Um algoritmo de seleção de recursos pode ser visto como a combinação de uma técnica de busca para propor novos subconjuntos de recursos, juntamente com uma medida de evolução que pontua os diferentes subconjuntos de recursos. Idealmente, um método de seleção de recursos pesquisará todos os subconjuntos possíveis de combinações de recursos que podem ser obtidos de um determinado conjunto de dados e encontrará a combinação de recursos que produz o melhor desempenho do modelo de aprendizado de máquina. Na prática, isso normalmente não é uma opção devido ao custo computacional. Além disso, diferentes subconjuntos de recursos podem produzir um desempenho ideal para diferentes algoritmos de aprendizado de máquina. Isso significa que não há apenas um subconjunto de recursos, mas potencialmente muitos subconjuntos de recursos ideais, dependendo do algoritmo de aprendizado de máquina que pretendemos usar. Assim, ao longo dos anos, muitos métodos diferentes para selecionar recursos foram desenvolvidos para tentar acomodar o maior número possível de ressalvas e limitações. Ao longo desta série de artigos, descreverei muitos métodos diferentes para seleção de recursos, quais são as vantagens e desvantagens e como implementá-los na prática usando exemplos de conjuntos de dados de negócios.