Seleção de recursos em aprendizado de máquina

Oi, Habr!

Nós da Reksoft traduzimos o artigo para o russo Seleção de recursos em aprendizado de máquina. Esperamos que seja útil a todos os interessados ​​no tema.

No mundo real, os dados nem sempre são tão limpos como os clientes empresariais às vezes pensam. É por isso que a mineração e a disputa de dados são muito procuradas. Ajuda a identificar valores e padrões ausentes em dados estruturados de consulta que os humanos não conseguem identificar. Para encontrar e usar esses padrões para prever resultados usando relacionamentos descobertos nos dados, o aprendizado de máquina é útil.

Para entender qualquer algoritmo, você precisa observar todas as variáveis ​​nos dados e descobrir o que essas variáveis ​​representam. Isto é fundamental porque a lógica por trás dos resultados se baseia na compreensão dos dados. Se os dados contiverem 5 ou até 50 variáveis, você poderá examinar todas elas. E se houver 200 deles? Então simplesmente não haverá tempo suficiente para estudar cada variável. Além disso, alguns algoritmos não funcionam para dados categóricos e então você terá que converter todas as colunas categóricas em variáveis ​​quantitativas (elas podem parecer quantitativas, mas as métricas mostrarão que são categóricas) para adicioná-las ao modelo. Assim, o número de variáveis ​​aumenta, e são cerca de 500. O que fazer agora? Poderíamos pensar que a resposta seria reduzir a dimensionalidade. Algoritmos de redução de dimensionalidade reduzem o número de parâmetros, mas têm um impacto negativo na interpretabilidade. E se existirem outras técnicas que eliminem recursos e ao mesmo tempo tornem os restantes fáceis de entender e interpretar?

Dependendo se a análise é baseada em regressão ou classificação, os algoritmos de seleção de recursos podem ser diferentes, mas a ideia principal de sua implementação permanece a mesma.

Variáveis ​​Altamente Correlacionadas

Variáveis ​​altamente correlacionadas entre si fornecem as mesmas informações ao modelo, portanto não há necessidade de utilizar todas elas para análise. Por exemplo, se um conjunto de dados contém os recursos "Tempo Online" e "Tráfego Usado", podemos assumir que eles estarão de alguma forma correlacionados e veremos uma forte correlação mesmo se selecionarmos uma amostra de dados imparcial. Neste caso, apenas uma destas variáveis ​​é necessária no modelo. Se você usar ambos, o modelo será superajustado e tendencioso para um recurso específico.

Valores P

Em algoritmos como a regressão linear, um modelo estatístico inicial é sempre uma boa ideia. Ajuda a mostrar a importância das características através dos seus valores p que foram obtidos por este modelo. Tendo definido o nível de significância, verificamos os valores p resultantes, e se algum valor estiver abaixo do nível de significância especificado, então esta característica é declarada significativa, ou seja, uma mudança em seu valor provavelmente levará a uma mudança no valor de o alvo.

Seleção direta

A seleção direta é uma técnica que envolve a aplicação de regressão gradual. A construção do modelo começa com um zero completo, ou seja, um modelo vazio, e então cada iteração adiciona uma variável que melhora o modelo que está sendo construído. Qual variável é adicionada ao modelo é determinada por sua significância. Isso pode ser calculado usando várias métricas. A forma mais comum é utilizar os valores p obtidos no modelo estatístico original utilizando todas as variáveis. Às vezes, a seleção direta pode levar ao ajuste excessivo de um modelo porque pode haver variáveis ​​altamente correlacionadas no modelo, mesmo que forneçam as mesmas informações ao modelo (mas o modelo ainda mostra melhorias).

Seleção reversa

A seleção reversa também envolve a eliminação passo a passo de características, mas na direção oposta em comparação à seleção direta. Neste caso, o modelo inicial inclui todas as variáveis ​​independentes. As variáveis ​​são então eliminadas (uma por iteração) se não contribuírem com valor para o novo modelo de regressão em cada iteração. A exclusão de recursos é baseada nos valores p do modelo inicial. Este método também apresenta incerteza ao remover variáveis ​​altamente correlacionadas.

Eliminação de recursos recursivos

RFE é uma técnica/algoritmo amplamente utilizada para selecionar o número exato de recursos significativos. Às vezes, o método é usado para explicar uma série de características “mais importantes” que influenciam os resultados; e por vezes reduzir um número muito grande de variáveis ​​(cerca de 200-400), e apenas aquelas que dão pelo menos alguma contribuição para o modelo são retidas e todas as outras são excluídas. RFE usa um sistema de classificação. Os recursos no conjunto de dados recebem classificações. Essas classificações são então usadas para eliminar recursos recursivamente com base na colinearidade entre eles e na importância desses recursos no modelo. Além de classificar recursos, o RFE pode mostrar se esses recursos são importantes ou não, mesmo para um determinado número de recursos (porque é muito provável que o número selecionado de recursos possa não ser o ideal, e o número ideal de recursos possa ser mais ou menor que o número selecionado).

Diagrama de importância de recursos

Ao falar sobre a interpretabilidade de algoritmos de aprendizado de máquina, geralmente discutimos regressões lineares (que permitem analisar a importância dos recursos usando valores p) e árvores de decisão (mostrando literalmente a importância dos recursos na forma de uma árvore, e no ao mesmo tempo, sua hierarquia). Por outro lado, algoritmos como Random Forest, LightGBM e XG Boost costumam usar um diagrama de importância de recurso, ou seja, um diagrama de variáveis ​​e “seus números de importância” são plotados. Isto é especialmente útil quando você precisa fornecer uma justificativa estruturada para a importância dos atributos em termos de seu impacto nos negócios.

Regularização

A regularização é feita para controlar o equilíbrio entre viés e variância. O viés mostra o quanto o modelo se ajustou demais ao conjunto de dados de treinamento. O desvio mostra quão diferentes foram as previsões entre os conjuntos de dados de treinamento e teste. Idealmente, tanto o viés quanto a variância devem ser pequenos. É aqui que a regularização vem em socorro! Existem duas técnicas principais:

Regularização L1 - Lasso: Lasso penaliza os pesos do modelo para alterar sua importância para o modelo e pode até mesmo anulá-los (ou seja, remover essas variáveis ​​do modelo final). Normalmente, o Lasso é usado quando um conjunto de dados contém um grande número de variáveis ​​e você deseja excluir algumas delas para entender melhor como recursos importantes afetam o modelo (ou seja, aqueles recursos que foram selecionados pelo Lasso e receberam importância).

Regularização L2 - Método Ridge: A função de Ridge é armazenar todas as variáveis ​​e ao mesmo tempo atribuir importância a elas com base em sua contribuição para o desempenho do modelo. Ridge será uma boa escolha se o conjunto de dados contiver um pequeno número de variáveis ​​e todas elas forem necessárias para interpretar as descobertas e resultados obtidos.

Como Ridge mantém todas as variáveis ​​e Lasso estabelece melhor sua importância, foi desenvolvido um algoritmo que combina as melhores características de ambas as regularizações, conhecido como Elastic-Net.

Existem muitas outras maneiras de selecionar recursos para aprendizado de máquina, mas a ideia principal é sempre a mesma: demonstrar a importância das variáveis ​​e depois eliminar algumas delas com base na importância resultante. Importância é um termo muito subjetivo, pois não é apenas um, mas todo um conjunto de métricas e gráficos que podem ser usados ​​para encontrar atributos-chave.

Obrigado por ler! Feliz aprendizado!

Fonte: habr.com

Adicionar um comentário