Qual a diferença entre LASSO e Ridge Regression?

Eu sei que essa pergunta é velha, mas sempre que alguém não consegue entender alguma coisa é uma nova oportunidade de transmitir esse conhecimento de forma mais inteligente em um novo formato.

Essas duas técnicas derivadas da regressão são conhecidos com métodos regressores de Shrinkage, ou de encolhimento.

Isso torna-se necessário partindo do seguinte princípio: Uma regressão com diversos coeficientes regressores torna o modelo como um todo muito mais complexo e pode tirar características de interpretabilidade. Uma forma de eliminar esse problema, que pode absorver o ruído dos dados e causar o overfitting, esses métodos fazem a retenção de um subconjunto de coeficientes regressores o que não somente reduz a complexidade do modelo e a forma que o mesmo é calculado e construído, como reduz o erro e de quebra miimiza qualquer possibilidade do modelo ter overfitting.

Dentro desses métodos de encolhimento (Shirinkage Methods)  há dois que se destacam em se tratando de aprendizado de máquina que são a Ridge Regression e o LASSO (Least Absolute Shrinkage and Selection Operator).

A Ridge Regression é um método de regularização do modelo que tem como principal objetivo suavizar atributos que sejam relacionados uns aos outros e que aumentam o ruído no modelo (A.K.A multicolinearidade). Com isso com a retirada de determinados atributos do modelo, o mesmo converge para um resultado muito mais estável em que com a redução desses atributos, a redução em termos de acuácia do modelo se mantêm inalterada. O mecanismo algoritmico que faz isso é através de um mecanismo de penalização que coloca um viés e que vai reduzindo os valores os betas até não zero. Com isso os atributos que contribuem menos para o poder preditivo do modelo são levados para a irrelevância usando esse mecanismo de penalização do viés.

Já o LASSO tem o mesmo mecanismo de penalização dos coeficientes com um alto grau de correlação entre si, mas que usa o mecanismo de penalizar os coeficientes de acordo com o seu valor absoluto (soma dos valores dos estimadores) usando o mecanismo de minimizar o erro quadrático. Isso é feito através da penalização do coeficiente até que o mesmo convirja para zero; o que naturalmente vai eliminar o atributo e reduzir a dimensionalidade do modelo.

A pergunta que todo mundo vai fazer no final desse post: “Mas Flavio quando eu posso aplicar um ou outro?

A resposta é um grande depende.

Como heurística de trabalho, eu particularmente gosto do LASSO para validar um pré-processamento que foi feito usando alguma outra técnica como Rough Sets, ou mesmo quando eu tenho modelos que precisam em um primeiro momento ter o erro bem isolado (e.g. problemas relativos à precisão). Já a Ridge Regression é mais apropriada para problemas em que o erro deve estar contido como parte de uma solução (que nunca será a melhor) em que eu tenha que colocar um pouco mais de aleatoreidade no modelo (e.g. problemas de acurácia).

Abaixo os papers originais de LASSO e de Ridge Regression.

Regression Shrinkage and Selection via LASSO

Ridge Regression - Biased Estimation for Nonorthogonal Problems