O que é seleção de recursos?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

O que é seleção de funcionalidades?

A seleção de funcionalidades é o processo de selecionar as funcionalidades mais relevantes de um conjunto de dados para usar ao criar e treinar um modelo de aprendizado de máquina (ML). Ao reduzir o espaço de funcionalidades para um subconjunto selecionado, a seleção de funcionalidades melhora o desempenho do modelo de IA e, ao mesmo tempo, reduz suas demandas computacionais.

Uma "funcionalidade" refere-se a uma propriedade mensurável individual ou característica de um ponto de dados: um atributo específico dos dados que ajuda a descrever o fenômeno observado. Um conjunto de dados sobre imóveis, por exemplo, pode ter funcionalidades como “número de quartos” e “ano de construção.” 

A seleção de funcionalidades faz parte do processo de engenharia de funcionalidades, no qual cientistas de dados preparam dados e selecionam um conjunto de funcionalidades para algoritmos de aprendizado de máquina. A seleção de funcionalidades é a parte da engenharia de funcionalidades que se preocupa em escolher as funcionalidades a serem usadas no modelo.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Os benefícios da seleção de recursos

O processo de seleção de funcionalidades otimiza um modelo ao identificar as funcionalidades mais importantes, impactantes e não redundantes do conjunto de dados. A redução do número de funcionalidades aumenta a eficiência do modelo e melhora seu desempenho. 

Os benefícios da seleção de funcionalidades incluem: 

  • Melhor desempenho do modelo: funcionalidades irrelevantes enfraquecem o desempenho do modelo. Por outro lado, escolher o conjunto certo de funcionalidades para um modelo o torna mais exato, mais preciso e oferece melhor capacidade de recuperação. As funcionalidades dos dados afetam como os modelos configuram seus pesos durante o treinamento, o que, por sua vez, impulsiona o desempenho. Isso difere do ajuste de hiperparâmetros, que ocorre antes do treinamento.  

  • Redução do overfitting: o overfitting ocorre quando um modelo não consegue generalizar além dos dados de treinamento. A remoção de funcionalidades redundantes diminui o overfitting e torna um modelo mais capaz de generalizar para novos dados. 

  • Tempos de treinamento mais curtos: ao focar em um subconjunto menor de funcionalidades, os algoritmos levam menos tempo para treinar. Os criadores de modelos podem testar, validar e implementar seus modelos mais rapidamente com um conjunto menor de funcionalidades selecionadas. 

  • Custos de computação mais baixos: um conjunto de dados menor composto pelas melhores funcionalidades contribui para modelos preditivos mais simples, que ocupam menos espaço de armazenamento. Seus requisitos computacionais são menores do que os de modelos mais complexos. 

  • Maior interpretabilidade: a IA explicável está focada na criação de modelos que os seres humanos possam entender. À medida que os modelos se tornam mais complexos, torna-se cada vez mais difícil interpretar seus resultados. Modelos mais simples são mais fáceis de monitorar e explicar. 

  • Implementação mais tranquila: modelos mais simples e menores são mais fáceis de trabalhar durante o desenvolvimento de aplicativos de IA, como aqueles usados em visualização de dados

  • Redução da dimensionalidade: com mais variáveis de entrada em jogo, os pontos de dados ficam mais distantes no espaço do modelo. Dados de alta dimensão têm mais espaço vazio, o que torna mais difícil para o algoritmo de aprendizado de máquina identificar padrões e fazer boas previsões. 

    Coletar mais dados pode mitigar a maldição da dimensionalidade, mas selecionar as funcionalidades mais importantes é uma abordagem mais viável e econômica. 

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

O que são funcionalidades?

Uma funcionalidade é uma qualidade definível dos itens de um conjunto de dados. Funcionalidades também são conhecidas como variáveis, pois seus valores podem mudar de um ponto de dados para outro e como atributos, pois caracterizam os pontos de dados no conjunto. Diferentes funcionalidades descrevem os dados de maneiras distintas. 

As funcionalidades podem ser variáveis independentes, variáveis dependentes que derivam seu valor de variáveis independentes ou atributos combinados compilados a partir de várias outras funcionalidades.

O objetivo da seleção de funcionalidades é identificar as variáveis de entrada mais importantes que o modelo pode usar para prever variáveis dependentes. A variável de destino é a variável dependente que o modelo está encarregado de prever. 

Por exemplo, em um banco de dados de funcionários, as funcionalidades de entrada podem incluir idade, localização, salário, cargo, métricas de desempenho e duração do emprego. Um empregador pode usar essas variáveis para gerar um atributo-alvo combinado que represente a probabilidade de um funcionário deixar a empresa por uma oferta melhor. Assim, o empregador pode determinar como incentivar esses funcionários a permanecer. 

As funcionalidades podem ser amplamente categorizadas como variáveis numéricas ou categóricas. 

  • Variáveis numéricas são quantificáveis, como comprimento, tamanho, idade e duração. 

  • Variáveis categóricas são tudo o que é não numérico, como nome, cargo e localização. 

Antes que a seleção de funcionalidades ocorra, o processo de extração de funcionalidades transforma dados brutos em funcionalidades numéricas que os modelos de aprendizado de máquina podem usar. A extração de funcionalidade simplifica os dados e reduz os requisitos de computação necessários para processá-los.

Métodos supervisionados de seleção de funcionalidades

A seleção de funcionalidades de aprendizado supervisionado usa a variável de destino para determinar as funcionalidades mais importantes. Como as funcionalidades de dados já estão identificadas, a tarefa consiste em identificar quais variáveis de entrada afetam mais diretamente a variável de destino. A correlação é o principal critério na avaliação das funcionalidades mais importantes. 

Os métodos de seleção de funcionalidades supervisionadas incluem: 

  • Métodos de filtro

  • Métodos wrapper 

  • Métodos incorporados

Métodos híbridos que combinam dois ou mais métodos de seleção de funcionalidades supervisionadas também são possíveis.

Métodos de filtro

Métodos de filtro são um grupo de técnicas de seleção de funcionalidades que se concentram exclusivamente nos dados, sem considerar diretamente a otimização do desempenho do modelo. As variáveis de entrada são avaliadas independentemente em relação à variável de destino para determinar qual apresenta maior correlação. Métodos que testam funcionalidades uma a uma são conhecidos como métodos de seleção de funcionalidades univariadas. 

Frequentemente usados como ferramenta de pré-processamento de dados, os métodos de filtro são algoritmos de seleção de funcionalidades rápidos e eficientes, que se destacam na redução de redundâncias e na remoção de funcionalidades irrelevantes do conjunto de dados. Diversos testes estatísticos são usados para atribuir uma pontuação de correlação a cada variável de entrada. No entanto, outros métodos são mais eficazes na previsão do desempenho do modelo. 

Disponíveis em bibliotecas populares de aprendizado de máquina, como a Scikit-Learn (Sklearn), alguns métodos de filtro comuns são: 

  • Ganho de informações: mede a importância da presença ou ausência de uma funcionalidade na determinação da variável de destino, com base no grau de redução da entropia. 

  • Informações mútuas: avalia a dependência entre variáveis, medindo a quantidade de informações obtidas sobre uma variável por meio da outra. 

  • Teste qui-quadrado: avalia a relação entre duas variáveis categóricas, comparando os valores observados com os valores esperados. 

  • Pontuação de Fisher: usa derivadas para calcular a importância relativa de cada funcionalidade para a classificação de dados. Uma pontuação mais alta indica maior influência. 

  • Coeficiente de correlação de Pearson: quantifica a relação entre duas variáveis contínuas, com uma pontuação que varia de -1 a 1. 

  • Limite de variância: remove todas as funcionalidades que se enquadram em um grau mínimo de variância porque as funcionalidades com mais variâncias provavelmente contêm informações mais úteis. Um método relacionado é a diferença absoluta média (MAD). 

  • Relação de valores ausentes: calcula os percentuais de instâncias em um conjunto de dados para as quais uma determinada funcionalidade está ausente ou tem um valor nulo. Se faltar uma funcionalidade em muitas instâncias, é provável que não seja útil. 

  • Taxa de dispersão: a razão entre a variância e o valor médio de uma funcionalidade. Uma maior dispersão indica mais informações. 

  • ANOVA (análise de variância): determina se diferentes valores de funcionalidades afetam o valor da variável de destino.

Métodos wrapper

Métodos wrapper treinam o algoritmo de aprendizado de máquina com vários subconjuntos de funcionalidades, adicionando ou removendo funcionalidades e testando os resultados a cada iteração. O objetivo de todos os métodos wrapper é encontrar o conjunto de funcionalidades que leva ao desempenho ideal do modelo. 

Métodos wrapper que testam todas as combinações possíveis de funcionalidades são conhecidos como algoritmos gananciosos. Essa busca pelo melhor conjunto possível tem um uso intenso de computação e é demorada, sendo, portanto, mais indicada para espaços com menos funcionalidades. 

Cientistas de dados podem configurar o algoritmo para interromper o processo quando o desempenho do modelo diminuir ou quando for atingido um número-alvo de funcionalidades. 

Os métodos wrapper incluem: 

  • Seleção avançada: começa com um conjunto de funcionalidades vazio e gradualmente adiciona novas funcionalidades até que o conjunto ideal seja encontrado. A seleção do modelo ocorre quando o desempenho do algoritmo não melhora após qualquer iteração específica. 

  • Seleção regressiva: treina um modelo com todas as funcionalidades originais e remove iterativamente a funcionalidade menos importante do conjunto. 

  • Seleção exaustiva de funcionalidades: testa todas as combinações possíveis de funcionalidades para encontrar a melhor delas otimizando uma métrica de desempenho específica. Um modelo de regressão logística que usa seleção exaustiva de funcionalidades testa todas as combinações possíveis de todos os números possíveis de funcionalidades. 

  • Eliminação recursiva de funcionalidades (RFE): um tipo de seleção regressiva que começa com o espaço inicial de funcionalidades e elimina ou adiciona funcionalidades a cada iteração com base na importância relativa delas. 

  • Eliminação recursiva de funcionalidades com validação cruzada: uma variação da eliminação recursiva que usa validação cruzada, que testa um modelo em dados não vistos, para selecionar o conjunto de funcionalidades com melhor desempenho. A validação cruzada é uma técnica comum de avaliação de grandes modelos de linguagem (LLMs).

Métodos incorporados

Métodos incorporados envolvem (ou incorporam) a seleção de funcionalidades no processo de treinamento do modelo. Durante o treinamento, o modelo detecta funcionalidades de baixo desempenho e as descarta em iterações futuras. 

Muitos métodos incorporados giram em torno da regularização, que penaliza as funcionalidades com base em um limite de coeficiente predefinido. Os modelos abrem mão de um grau de exatidão por uma maior precisão. O resultado é que os modelos têm um desempenho um pouco menor durante o treinamento, mas se tornam mais generalizáveis à medida que reduzem o overfitting. 

Os métodos incorporados incluem: 

  • Regressão LASSO (regressão L1): adiciona uma penalidade à função de perda para coeficientes correlacionados de alto valor, movendo-os em direção a um valor de 0. Os coeficientes com valor de 0 são removidos. Quanto maior a penalização, mais funcionalidades são removidas do espaço de funcionalidades. O uso eficaz do LASSO consiste em equilibrar a penalidade para remover funcionalidades irrelevantes suficientes e manter todas as importantes. 

  • Importância da floresta aleatória: cria centenas de decision trees, cada uma com uma seleção aleatória de pontos de dados e funcionalidades. Cada árvore é avaliada pela qualidade com a qual ela divide os pontos de dados. Quanto melhores os resultados, mais importante é(são) a(s) funcionalidade(s) nessa árvore. Classificadores medem a "impureza" dos agrupamentos por impureza Gini ou ganho de informações, enquanto os modelos de regressão usam variância. 

  • Reforço de gradiente: adiciona preditores em sequência a um conjunto com cada iteração corrigindo os erros da anterior. Dessa forma, pode identificar quais funcionalidades levam mais diretamente aos resultados ideais.

Métodos de seleção de funcionalidades não supervisionados

Com o aprendizado não supervisionado, os modelos identificam sozinhos funcionalidades, padrões e relações nos dados. Não é possível adaptar variáveis de entrada a uma variável de destino conhecida. Métodos de seleção de funcionalidades não supervisionados utilizam outras técnicas para simplificar e agilizar o espaço de funcionalidades. 

Um método de seleção de funcionalidades não supervisionado é a análise de componentes principais (PCA). A PCA reduz a dimensionalidade de grandes conjuntos de dados ao transformar variáveis potencialmente correlacionadas em um conjunto menor de variáveis. Esses componentes principais retêm a maior parte das informações contidas no conjunto de dados original. A PCA contraria a maldição da dimensionalidade e também reduz o overfitting. 

Outros métodos incluem a análise de componentes independentes (ICA), que separa dados multivariados em componentes individuais estatisticamente independentes, e autocodificadores

Amplamente utilizado com arquiteturas de transformação, um autocodificador é um tipo de rede neural que aprende a comprimir e, depois, reconstruir dados. Ao fazer isso, os autocodificadores descobrem variáveis latentes — aquelas que não são diretamente observáveis, mas que afetam fortemente a distribuição de dados.

Escolhendo um método de seleção de funcionalidades

O tipo de seleção de funcionalidades utilizado depende da natureza das variáveis de entrada e de saída. Esses fatores também determinam a natureza do desafio de aprendizado de máquina — se é um problema de classificação ou uma tarefa de regressão.

  • Entrada numérica, saída numérica: quando as entradas e saídas são ambas numéricas, isso indica um problema de previsão de regressão. Os modelos lineares produzem previsões numéricas contínuas, gerando uma variável de destino que é um número em um intervalo de valores possíveis. Nesses casos, os coeficientes de correlação, como o coeficiente de correlação de Pearson, são um método ideal de seleção de funcionalidades. 

  • Entrada numérica, saída categórica: modelos de regressão logística classificam entradas em saídas categóricas discretas. Nesse problema de classificação, é possível usar métodos de seleção de funcionalidades baseados em correlação compatíveis com o uso de variáveis de destino categóricas. Eles inclui o ANOVA para modelos de regressão linear e o coeficiente de correlação de classificação de Kendall para tarefas não lineares. 

  • Entrada categórica, saída numérica: esse rato tipo de desafio também pode ser resolvido com métodos de correlação compatíveis com variáveis categóricas. 

  • Entrada categórica, saída categórica: problemas de classificação com variáveis de entrada e de destino categóricas são adequados para o método qui-quadrado ou técnicas de ganho de informações. 

Outros fatores a considerar incluem o tamanho do conjunto de dados e do espaço de funcionalidades, a complexidade das funcionalidades e o tipo de modelo. Métodos de filtro podem eliminar rapidamente uma grande parcela das funcionalidades irrelevantes, mas têm dificuldade para lidar com interações complexas entre funcionalidades. Nestes casos, métodos wrapper e incorporados podem ser mais adequados.

O que torna as funcionalidades importantes?

Saber em quais funcionalidades focar é o componente essencial da seleção de funcionalidades. Algumas funcionalidades são altamente desejáveis para modelagem, enquanto outras podem levar a resultados abaixo do esperado. Além do impacto na variáveis de destino, a importância das funcionalidades também é determinada por: 

  • Facilidade de modelagem: se uma funcionalidade é fácil de modelar, o processo geral de aprendizado de máquina é mais simples e rápido, com menos oportunidades de erro. 

  • Fácil de regularizar: funcionalidades que se adaptam bem à regularização serão mais eficientes de se trabalhar. 

  • Desvinculação da causalidade: desvincular fatores causais de uma funcionalidade observável significa identificar os fatores subjacentes que a influenciam.

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real