Aula 4

Aprendizado supervisionado: modelos lineares

Introdução

Nesta aula, aplicaremos os frameworks que começamos a ver mais detidamente para problemas de regressão, isto é, problemas nos quais o objetivo é predizer variáveis contínuas. Também precisaremos definir novas métricas de validação, entender um pouco de regularização e lidar com alguns problemas comuns como o de diferentes distribuições nos nossos preditores.

Problemas de regressão

Como deve ser familiar para todo mundo neste curso, modelos de regressão normalmente são apresentados da seguinte forma:

\[ Y_{i} = \alpha + \beta x_{i} + \epsilon_{i} \] onde \(Y_{i}\) indica alguma variável dependente contínua, numérica, como votos obtidos em uma eleição; o preço de um produto; a nota em uma prova. Tipicamente, esse modelo é estimado por OLS e, a partir dos coeficientes como \(\beta\), se fazem inferências. O modelo também tem uma série de pressupostos, mas não nos deteremos nisso aqui – em aprendizado de máquina, isso não é tão relevante porque o objetivo não é inferência.

Do ponto de vista de predição, OLS minimiza uma métrica simples:

\[ \sum_{i=1}^{n} (\hat{y_{i}} - y_{i})^{2} \] isto é, a soma das diferenças entre predição e valores reais ao quadrado. Há diferentes formas de se obter o melhor modelo usando OLS e, de forma prática, eles resultam em uma função \(f(x_{i})\) que faz novas predições a partir dos coeficientes estimados.

Importante

Em regressão, não buscamos acurácia, mas sim minimizar erro

Métricas

Problemas de regressão envolvem usar métricas apropriadas para variáveis contínuas. No geral, queremos saber se um dado modelo faz predições numéricas próximas de determinados valores, caso de um modelo OLS. No entanto, há mais do que isso: em algumas aplicações, também precisaremos obter modelos que reduzam a variação na distanção entre \(\hat{Y_i}\) e \(Y_{i}\); em outras, precisaremos lidar com outliers. Para essas e outras tarefas, há métricas de validação mais indicadas.

Para resumir, segue um quadro com exemplos:

Métricas de validação para problemas de regressão
Métrica Indicação
Erro médio (ou MAE) Dá o mesmo peso para quaisquer erros, isto é, outliers; mesma unidade de \(Y\)
Erro quadrático médio (MSE) Leva em conta variação nos erros, penalizando outliers
Raiz do erro quadrático médio (RMSE) Transforma o MSE trazendo ele de volta para a unidade de \(Y\), que pode ser interpretado na escala de desvios-padrão

Exemplos: para predizer o total de vendas diárias de um item baseado em seu preço, o melhor talvez seja usar MAE, uma vez que é possível que valores reais de vendas não tenham variações extremas; ao contrário, para predizer a renda de uma pessoa em função de características demográficas, RMSE ou MSE podem ser mais indicadas. No geral, RMSE é preferido em relação a MSE.

E o R^2 (ou r-quared)? O R^2, apesar de ser uma métrica de ajuste muito comum em aplicações de inferência por indicar a variação explicada em \(Y\) a partir dos preditores, não mensura erro diretamente – o que é mais importante para o caso de unseen data. Isso significa que, em alguns casos, RMSE ou outras podem divergir do R^2, dado que são medidas que buscam mensurar coisas diferentes.

Regularização

Como vimos, regressão por OLS encontra sempre o modelo modelo minimizando a soma dos erros quadráticos. Embora essa seja uma métrica razoável, caso queiramos usar outras, ou ainda ajustar o nível de complexidade ou reduzir o peso de variáveis que não ajudam nosso modelo, precisaremos de outras soluções. Para esses e outros casos, regularização é a chave.

Em termos simples, regularização nada mais é do que um conjunto de métodos utilizados para melhorar o poder preditivo de modelos e/ou evitar overffiting e complexidade. Quando usamos regularização, portanto, estamos mirando em ter modelos melhores e, ao mesmo tempo, menos complexos. Lembrem-se do trade-off entre variânecia e viés: queremos um modelo que evite viéses, isto é, que consiga captar bem sinais evitando ruídos, mas queremos evitar overfitting que pode levar a erros de predição em unseen data.

Há diversas formas de regularização (veremos isso detidamente em aulas futuras), mas algumas mais comuns incluem cross-validation, que tem a ver com o método de validação utilizado; usar subsets dos preditores; ou penalizar coeficientes (L1, L2 e ElasticNet). Aqui, vamos focar no último cenário, que pode ser implementado com ridge ou LASSO. As variações são simples de se entender:

\[ LASSO = \sum_{i=1}^{n} (y_{i} - \sum_{j=1}^{m} x_{ij} \beta_{j})^{2} + \lambda \sum_{j=0}^{m} |\beta_{j}| \]

\[ RIDGE = \sum_{i=1}^{n} (y_{i} - \sum_{j=1}^{m} x_{ij} \beta_{j})^{2} + \lambda \sum_{j=0}^{m} \beta^{2}_{j} \] Popularmente, essas funções são conhecidas por outros nomes:

  • Regularização por L1, implementada por meio de regressão LASSO, que é útil quando temos muitos preditores e queremos que o modelo encontre as mais úteis (i.e., até mesmo eliminando as menos relevantes)

  • Regularização por L2, implementada por meio de regressão Ridge, que é útil quando temos muitos preditores potencialmente importantes (mas queremos reduzir overffiting)

Como deve ser possível perceber, os dois tipos são sensíveis à escala dos preditores – se usamos escalas muito diferentes, especialmente L2, a estimação de \(\beta\) e o valor de \(\lambda\) é impactado. Isso nos leva, portanto, a ter que lidar com outro tipo de problema.

Transformações

Para evitar que regularização não funcione adequadamente em problemas de regressão (mas isso também é válido para outros tipos de problemas e para um amplo leque de algoritmos), o ideal é sempre transformas, ou estandarizar, variáveis contínuas para que fiquem em escalas próximas. Bom exemplos incluem:

  • Manter variáveis em proporção, variando de 0 a 1
  • Usar z-valores, que nada mais é do que subtrair a média de \(X\) para cada unidade \(i\) e, depois, dividir cada valor pelo desvio-padrão de \(X\)