Li em algum lugar que, se tivermos recursos muito correlacionados, precisaremos remover um, pois isso pode piorar o modelo. É claro que recursos correlatos significam que eles trazem as mesmas informações; portanto, é lógico remover um deles. Mas não consigo entender por que isso pode piorar o modelo.
machine-learning
correlation
Aranha
fonte
fonte
Respostas:
Os recursos correlacionados em geral não melhoram os modelos (embora dependa das especificidades do problema, como o número de variáveis e o grau de correlação), mas afetam modelos específicos de maneiras diferentes e em diferentes graus:
Para modelos lineares (por exemplo, regressão linear ou regressão logística), a multicolinearidade pode produzir soluções muito variadas e possivelmente numericamente instáveis .
Florestas aleatórias podem ser boas em detectar interações entre diferentes recursos, mas recursos altamente correlacionados podem mascarar essas interações.
De maneira mais geral, isso pode ser visto como um caso especial da navalha de Occam . Um modelo mais simples é preferível e, em certo sentido, um modelo com menos recursos é mais simples. O conceito de tamanho mínimo da descrição torna isso mais preciso.
fonte
(Supondo que você esteja falando sobre aprendizado supervisionado)
Recursos correlatos nem sempre pioram seu modelo, mas também nem sempre o aprimoram.
Há três razões principais pelas quais você remove os recursos correlatos:
Devido à maldição da dimensionalidade, menos recursos geralmente significam alta melhoria em termos de velocidade.
Se a velocidade não for um problema, talvez não remova esses recursos imediatamente (consulte o próximo ponto)
A palavra-chave é prejudicial. Se você possui recursos correlatos, mas eles também estão correlacionados ao destino, você deseja mantê-los. Você pode visualizar os recursos como dicas para fazer um bom palpite; se você tiver duas dicas essencialmente iguais, mas são boas, talvez seja prudente mantê-las.
Alguns algoritmos como o Naive Bayes realmente se beneficiam diretamente dos recursos correlatos "positivos". E outros, como florestas aleatórias, podem se beneficiar indiretamente deles.
Imagine ter três recursos A, B e C. A e B estão altamente correlacionados com o destino e entre si, e C não é de todo. Se você experimentar um dos três recursos, terá 2/3 de chance de obter um recurso "bom", enquanto que, se você remover B, por exemplo, essa chance cairá para 1/2
Obviamente, se os recursos correlacionados não forem super informativos, o algoritmo pode não sofrer muito.
Portanto, moral da história, a remoção desses recursos pode ser necessária devido à velocidade, mas lembre-se de que você pode piorar seu algoritmo no processo. Além disso, alguns algoritmos, como as árvores de decisão, possuem seleção de recursos incorporada.
Uma boa maneira de lidar com isso é usar um método de invólucro para a seleção de recursos. Ele removerá recursos redundantes apenas se eles não contribuírem diretamente para o desempenho. Se forem úteis como em bayes ingênuos, serão mantidos. (Lembre-se de que os métodos do invólucro são caros e podem levar ao sobreajuste)
Se o seu modelo precisar ser interpretável, você poderá ser forçado a simplificá-lo. Lembre-se também de lembrar da navalha de Occam. Se o seu modelo não é "muito" pior com menos recursos, provavelmente você deve usar menos recursos.
fonte
Às vezes, recursos correlatos - e a duplicação de informações que fornecem - não prejudicam um sistema preditivo. Considere um conjunto de árvores de decisão, cada uma das quais considera uma amostra de linhas e uma amostra de colunas. Se duas colunas estiverem altamente correlacionadas, é possível que uma delas não seja selecionada na amostra de coluna de uma árvore específica e essa árvore dependerá da coluna restante. Recursos correlatos significam que você pode reduzir o ajuste excessivo (por meio de amostragem de coluna) sem abrir mão de muita qualidade preditiva.
fonte
A tomada de decisão deve ser feita sobre as variáveis mínimas necessárias para isso. Isso é, como mencionado acima, a formalização da lâmina de Occam com o comprimento mínimo de descrição acima. Gosto dessa.
Eu tenderia a caracterizar esse fenômeno em algo como um HDDT para significar a árvore mais eficiente que não toma decisões espúrias com base nos dados disponíveis e evitar todas as instâncias de decisões que poderiam ter sido tomadas em vários pontos de dados sem entender que eles estavam correlacionados .
fonte
Na perspectiva de armazenamento de dados em bancos de dados, o armazenamento de recursos correlatos é de alguma forma semelhante ao armazenamento de informações redundantes que podem causar desperdício de armazenamento e também podem causar dados inconsistentes após a atualização ou edição das tuplas.
Se adicionarmos tantos recursos correlatos ao modelo, podemos fazer com que o modelo considere recursos desnecessários e possamos ter um problema de alta dimensionalidade , acho que essa é a razão para piorar o modelo construído.
No contexto do aprendizado de máquina, geralmente usamos
PCA
para reduzir a dimensão dos padrões de entrada. Essa abordagem considera remover os recursos correlacionados de alguma maneira (usandoSVD
) e é uma abordagem não supervisionada. Isso é feito para alcançar os seguintes objetivos:Embora isso possa não parecer bom, vi pessoas que usam a remoção de recursos correlatos para evitar o excesso de ajustes, mas não acho que seja uma boa prática. Para mais informações, recomendo que você veja aqui .
Outro motivo é que, nos modelos de aprendizado profundo, como
MLPs
se você adicionar recursos correlatos, basta adicionar informações desnecessárias que adicionam mais cálculos e parâmetros ao modelo.fonte
A resposta a esta pergunta depende muito do objetivo do modelo. Por inferência, recursos altamente correlacionados são um problema bem conhecido. Por exemplo, duas características altamente correlacionadas entre si e com y podem aparecer como insignificantes em um modelo de inferência, possivelmente perdendo um sinal explicativo importante. Portanto, em inferência, geralmente é recomendado afiná-los.
Se o seu aprendizado supervisionado é para previsão, a resposta - contrária à sabedoria convencional - é geralmente o oposto. O único motivo para remover recursos altamente correlacionados são as preocupações com armazenamento e velocidade. Fora isso, o que importa sobre os recursos é se eles contribuem para a previsão e se a qualidade dos dados é suficiente.
Características dominadas por ruído tendem a ser menos correlacionadas com outras características, do que características correlacionadas com y. Portanto, como mencionado acima no exemplo de Valentin, afinar o último aumentará a proporção do primeiro.
Em particular, métodos como florestas aleatórias e KNN tratam todos os recursos da mesma forma, reduzindo o detalhamento dos recursos correlacionados, reduzindo diretamente sua relação sinal / ruído.
Métodos que selecionam automaticamente recursos como árvores únicas, laço "puro" ou redes neurais podem ser menos afetados. Mas, mesmo assim, além do tempo de computação mais longo, raramente há algo a perder em termos de previsão ao manter os recursos correlatos na mistura.
fonte