Regressão com instâncias corrompidas: Uma abordagem robusta e suas aplicações

Trabalho interessante.

Multivariate Regression with Grossly Corrupted Observations: A Robust Approach and its Applications – Xiaowei Zhang, Chi Xu, Yu Zhang, Tingshao Zhu, Li Cheng

Abstract: This paper studies the problem of multivariate linear regression where a portion of the observations is grossly corrupted or is missing, and the magnitudes and locations of such occurrences are unknown in priori. To deal with this problem, we propose a new approach by explicitly consider the error source as well as its sparseness nature. An interesting property of our approach lies in its ability of allowing individual regression output elements or tasks to possess their unique noise levels. Moreover, despite working with a non-smooth optimization problem, our approach still guarantees to converge to its optimal solution. Experiments on synthetic data demonstrate the competitiveness of our approach compared with existing multivariate regression models. In addition, empirically our approach has been validated with very promising results on two exemplar real-world applications: The first concerns the prediction of \textit{Big-Five} personality based on user behaviors at social network sites (SNSs), while the second is 3D human hand pose estimation from depth images. The implementation of our approach and comparison methods as well as the involved datasets are made publicly available in support of the open-source and reproducible research initiatives.

Conclusions: We consider a new approach dedicating to the multivariate regression problem where some output labels are either corrupted or missing. The gross error is explicitly addressed in our model, while it allows the adaptation of distinct regression elements or tasks according to their own noise levels. We further propose and analyze the convergence and runtime properties of the proposed proximal ADMM algorithm which is globally convergent and efficient. The model combined with the specifically designed solver enable our approach to tackle a diverse range of applications. This is practically demonstrated on two distinct applications, that is, to predict personalities based on behaviors at SNSs, as well as to estimation 3D hand pose from single depth images. Empirical experiments on synthetic and real datasets have showcased the applicability of our approach in the presence of label noises. For future work, we plan to integrate with more advanced deep learning techniques to better address more practical problems, including 3D hand pose estimation and beyond.

Regressão com instâncias corrompidas: Uma abordagem robusta e suas aplicações

RLScore: Regularized Least-Squares Learners

Tapio Pahikkala, Antti Airola; 17(221):1−5, 2016.

RLScore is a Python open source module for kernel based machine learning. The library provides implementations of several regularized least-squares (RLS) type of learners. RLS methods for regression and classification, ranking, greedy feature selection, multi-task and zero-shot learning, and unsupervised classification are included. Matrix algebra based computational short-cuts are used to ensure efficiency of both training and cross-validation. A simple API and extensive tutorials allow for easy use of RLScore.

RLScore: Regularized Least-Squares Learners

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

 

Qual a diferença entre LASSO e Ridge Regression?

STR: A Seasonal-Trend Decomposition Procedure Based on Regression

Um dos maiores desafios em predição/decomposição de séries temporais (no espectro de aprendizado de máquina) é a inclusão de diversos efeitos sazonais ou até mesmo como saber quais efeitos cíclicos que estão contidos na série.

Esse paper do  Dokumentov e do Rob J Hyndman ataca essa questão com a criação do STR que é um procedimento para decomposição sazonal e de tendência baseado em regressão.

Abstract
We propose new generic methods for decomposing seasonal data: STR (a Seasonal-Trend decomposition procedure based on Regression) and Robust STR. In some ways, STR is similar to Ridge Regression and Robust STR can be related to LASSO. Our new methods are much more general than any alternative time series decomposition methods. They allow for multiple seasonal and cyclic components, and multiple linear regressors with constant, flexible, seasonal and cyclic influence. Seasonal patterns (for both seasonal components and seasonal regressors) can be fractional and flexible over time; moreover they can be either strictly periodic or have a more complex topology. We also provide confidence intervals for the estimated components, and discuss how STR can be used for forecasting.

wp13-15

STR: A Seasonal-Trend Decomposition Procedure Based on Regression

Comparação entre R e Python utilizando Florestas Aleatórias e Classificação

Neste post do blog do Yhat tem o código, os dados e os resultados.

Pessoalmente gosto muito da abordagem dos autores em comparação de classificadores usando as métricas de Acurácia, Erro Quadrático Médio e  para regressão e tempo de treinamento.

Para projetos curtos de avaliação de uma série de classificadores essas medidas são suficientes para dar uma linha de base. Essas medidas podem auxiliar na escolha de quais modelos estão com melhor convergência e podem indicar um melhor tratamento dos dados em termos de quais variáveis são pertinentes ao modelo escolhido.

 

 

Comparação entre R e Python utilizando Florestas Aleatórias e Classificação

Introdução às Técnicas Modernas de Regressão

Por mais que as técnicas de aprendizado de máquina tenham evoluído muito nos últimos tempos, é inegável que as técnicas de regressão ainda têm uma aderência muito grande por parte dos Data Miners, estatísticos, e demais analistas de dados; seja devido à versatilidade ou mesmo por permitir uma abordagem semi-White Box (sic.).

Neste webnar da Salford Systems, há dois vídeos que vale a pena ter no HD sobre a aplicação das técnicas modernas de regressão.

Para quem não conseguir baixar o material no site, basta clicar no link no final do post que o download será iniciado automaticamente.

2014_Modern_Regression_CTW_web

Introdução às Técnicas Modernas de Regressão

Lição de Aprendizado de Máquina do Dia – Classificação e Regressão

Uma explicação que cabe uma reflexão:

“[…]Thus, regression in statistics is different from regression in supervised learning.
In statistics,
• regression is used to model relationships between predictors and targets, and the targets could be continuous or categorical.
• a regression model usually includes 2 components to describe such relationships:
o a systematic component
o a random component. The random component of this relationship is mathematically described by some probability distribution.
• most regression models in statistics also have assumptions about thestatistical independence or dependence between the predictors and/or between the observations.
• many statistical models also aim to provide interpretable relationships between the predictors and targets.
o For example, in simple linear regression, the slope parameter, , predicts the change in the target, , for every unit increase in the predictor, .
In supervised learning,
• target variables in regression must be continuous
• regression has less or even no emphasis on using probability to describe the random variation between the predictor and the target
o Random forests are powerful tools for both classification and regression, but they do not use probability to describe the relationship between the predictors and the target.
• regression has less or even no emphasis on providing interpretable relationships between the predictors and targets.
o Neural networks are powerful tools for both classification and regression, but they do not provide interpretable relationships between the predictors and the target.
[…]”

Lição de Aprendizado de Máquina do Dia – Classificação e Regressão

Máquinas de Vetor de Suporte para Regressão

Este artigo apresenta uma proposta bem interessante para o assunto, especialmente nos kernels para problemas de regressão.

 

http://arxiv.org/abs/1303.2184

Máquinas de Vetor de Suporte para Regressão

Truques Estúpidos em Mineração de Dados – Overfitting no índice S&P500

Neste artigo do David Leinweber (o qual já foi tema do site aqui e aqui) ele coloca algumas considerações a respeito do fato de que muito do que se fala sobre Mineração de Dados está fartamente relacionado a relações absurdas que podem acontecer pelo fato de “torturar os dados” como a predição do índice Standard & Poor’s 500 através de correlações (estúpidas) como o modelo de regressão no qual a produção de manteiga em Bangladesh (Coeficiente de Determinação R2 de 0.75); produção de manteiga em Bangladesh e produção de queijo nos EUA (R2 = 0.95) e a fantástica correlação entre a produção de manteiga em Bangladesh, a produção de queijo nos EUA e a população de ovelhas em Bangladesh que apresenta o coeficiente de determinação de incríveis 99%.

É claro que o artigo escorrega um pouco ao radicalizar a questão, no qual o autor confunde quase que de maneira primária os conceitos de correlação (relação conjunta de uma ou mais váriaveis dentro de um contexto de análise) e casualidade (fatos que acontecem de acordo com um dado grau de sincronissidade, enretanto isolados em contextos distintos) para dar substância ao que está sendo defendido em sua tese; mas isso de nenhuma forma invalida o estudo no qual deixa claro que a “técnica de torturar os dados até que eles falem” é uma péssima abordagem e que pode gerar aberrações em análise de dados iguais aos casos citados.

De maneira geral o autor apresenta uma boa prática na qual sempre que haja esse tipo de análise, deve-se realizar testes sobre dados fora da amostragem para que sejam produzidos resultados mais fidedignos.

Stupid Data Miner Tricks – Overfitting The S&P 500

Truques Estúpidos em Mineração de Dados – Overfitting no índice S&P500