MO432 -capitulo 5 e 6

Jacques Wainer

5.1

importante saber o que é RMSE e o MSE (RMSE é a raiz quadrada do MSE)

o R^2 é bem menos importante

o capitulo não cobre outras medidas de erro em particular o MAE (Mean absolute error)

\frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|

veja outras funções de error em https://scikit-learn.org/stable/modules/model_evaluation.html#regression-metrics (implementadas no SKlearn)

a função Mean squared logarithmic erro é tambem usada para dados que normalmente sao pequenos mas que alguns podem ser explosivamente grandes (tempo de permanência em UTI por exemplo)

5.2 leia apenas por cima

De uma lida por cima. O ponto importante dessa seção é dar nome para alguns conceito:

O \sigma^2 que é um “ruído dos dados” que não é capturado por nenhum modelo.

O viés de modelo é o erro que o modelo insere por não poder modelar bem os dados, ou pelo modelo ser “pouco complexo”.

A variância do modelo é quando o modelo muda (depois de ajusta-lo aos dados) quando os dados mudam. Modelos com alta variância são “muito complexos” pois eles se ajustam bem aos dados (e portanto se os dados mudam o resultado muda muito).

6.2 Leia

em sklearn https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html?highlight=linear%20regression#sklearn.linear_model.LinearRegression

fig 6.6 introduz o conceito de loss que é igual ao conceito de medida do erro (de uma regressão)

6.3 Leia por cima

PCR é basicamente uma regressão linear nos dados transformados usando PCA.

Mas o PCA reduz as dimensões dos dados olhando apenas para os dados (as variâncias) - e pode perder muita informação de como o y varia!

PLS é uma especie de PCA que usar informação tambem sobre a variação do y ( e não so a variância do X). PLSRegression faz a regressão linear nos dados transformados usando o PLS

Nos vamos ver algo parecido em classificadores chamado linear discriminant analysis (cap 12)

Como no PCA, o numero de dimensões que ficam é um hiperparametro.

Pule as variações algorítmicas

sklearn : https://scikit-learn.org/stable/modules/generated/sklearn.cross_decomposition.PLSRegression.html?highlight=pls#sklearn.cross_decomposition.PLSRegression

6.4 Importante

Penalized models = regularized models

Uma forma de como acontece overfitting é que os valores dos coeficientes passam a ser grandes em modulo (muito positivos e muito negativos).

Para reduzir o overfiting voce pode penalizar o tamanho desses coeficientes.

Regularização L2 ou Ridge inclui um termo na otimizaçao com o quadrado dos coeficientes

min_w \sum (y_i - \hat{y}_i)^2 + \alpha \sum w_i^2

\alpha é um hiperparametro.

Pule a figura 6.15 e discussões sobre path

Regularização L1 ou LASSO minimize tambem a soma dos modulos dos coeficientes

min_w \sum (y_i - \hat{y}_i)^2 + \alpha \sum |w_i|

regularização L1 tende a zerar alguns coeficientes enquanto que L2 só deixa todos eles baixos. https://stats.stackexchange.com/questions/45643/why-l1-norm-for-sparse-models

L1 faz um tipo de feaature selection - os atributos com coeficientes 0 não são usados e “foram removidos”

Regularização L1 e essa direção de remover atributos (coeficente = 0) pode ser aplicado para PCA e PLS entre outros. LARS é um nome usado para algumas dessas aplicações de L1 em outras funcões e otimizações.

Elastic net é a combinação de tanto regularização L1 com L2.

Sklearn L1: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge

L2 https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Lasso

elastic net https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html#sklearn.linear_model.ElasticNet