Quais algoritmos precisam de redimensionamento de recursos, além do SVM?

17

Estou trabalhando com muitos algoritmos: RandomForest, DecisionTrees, NaiveBayes, SVM (kernel = linear e rbf), KNN, LDA e XGBoost. Todos eles foram bem rápidos, exceto o SVM. Foi quando soube que ele precisa de redimensionamento de recursos para funcionar mais rapidamente. Então comecei a me perguntar se eu deveria fazer o mesmo com os outros algoritmos.

Aizzaac
fonte

Respostas:

21

Em geral, algoritmos que exploram distâncias ou similaridades (por exemplo, na forma de produto escalar) entre amostras de dados, como k-NN e SVM, são sensíveis a transformações de recursos.

Classificadores baseados em modelo gráfico, como Fisher LDA ou Naive Bayes, bem como árvores de decisão e métodos de conjunto baseado em árvore (RF, XGB) são invariantes ao dimensionamento de recursos, mas ainda assim pode ser uma boa ideia redimensionar / padronizar seus dados .

grito
fonte
3
+1. Observe que o XGBoost também implementa um segundo algoritmo, com base no aumento linear. A escala fará a diferença lá.
usεr11852 diz Reinstate Monic
1
Você poderia elaborar mais sobre o redimensionamento / padronização de dados para RF e XGB? Não vejo como isso pode influenciar a qualidade do modelo.
Tomek Tarczynski
17

Aqui está uma lista que encontrei em http://www.dataschool.io/comparing-supervised-learning-algorithms/ indicando qual classificador precisa de dimensionamento de recursos :

insira a descrição da imagem aqui

Tabela completa:

insira a descrição da imagem aqui

No cluster k-means, você também precisa normalizar sua entrada .

Além de considerar se o classificador explora distâncias ou semelhanças como Yell Bond mencionou, a Descentralização Estocástica de Gradiente também é sensível ao dimensionamento de recursos (uma vez que a taxa de aprendizado na equação de atualização da Descentração Estocástica de Gradiente é a mesma para todos os parâmetros {1}):

insira a descrição da imagem aqui


Referências:

Franck Dernoncourt
fonte
O que falta nesta resposta é alguma explicação do porquê !! Veja minha resposta para isso.
Kjetil b halvorsen
2
@kjetilbhalvorsen bem eu expliquei para k-means e SGD, mas existem muitos outros algoritmos e modelos. Há um limite de 30k-char na pilha troca :)
Franck Dernoncourt
Algo relacionado: stats.stackexchange.com/questions/231285/...
b Kjetil Halvorsen
@FranckDernoncourt Posso fazer uma pergunta com base nisso? Eu tenho um conjunto de dados de dados categóricos e contínuos, para o qual estou construindo um SVM. Os dados contínuos são altamente inclinados (cauda longa). Para transformação contínua, devo fazer um log transformation / Box-Coxe depois também normalise the resultant data to get limits between 0 and 1? Então, eu vou estar normalizando os valores do log. Então calcule o SVM nos dados contínuos e categóricos (0-1) juntos? Felicidades por qualquer ajuda que você possa fornecer.
Chuck
7

Yi=β0+β1xi+β2zi+ϵi
i=1,,n
xi=(xix¯)/sd(x)zi=(ziz¯)/sd(z)
Yi=β0+β1xi+β2zi+ϵi
β1,2β^1,2
β0=β0β1x¯sd(x)β2z¯sd(z),β1=β1sd(x),β2=β2sd(z)

E essa discussão para o caso de regressão linear diz o que você deve cuidar em outros casos: existe invariância ou não? Geralmente, métodos que dependem de medidas de distância entre os preditores não apresentam invariância , portanto a padronização é importante. Outro exemplo será o agrupamento.

kjetil b halvorsen
fonte
1
Você pode mostrar explicitamente como um calcula um conjunto de betas do outro neste exemplo específico de dimensionamento que você aplicou?
precisa saber é o seguinte
@kjetil Posso fazer uma pergunta com base nisso? Eu tenho um conjunto de dados de dados categóricos e contínuos, para o qual estou construindo um SVM. Os dados contínuos são altamente inclinados (cauda longa). Para transformação contínua, devo fazer uma transformação de log / Box-Cox e também normalizar os dados resultantes para obter limites entre 0 e 1? Então, eu vou estar normalizando os valores do log. Então calcule o SVM nos dados contínuos e categóricos (0-1) juntos? Felicidades para qualquer ajuda que você pode fornecer
Chuck
1
Você pode adicionar isso como uma nova pergunta? com referência de volta aqui!
Kjetil b halvorsen