CS 229 - Aprendizado de máquina

Dicas e truques de aprendizado de máquina
Star

Conteúdo original por Afshine Amidi e Shervine Amidi
Traduzido por Fernando Santos. Revisado por Leticia Portella e Gabriel Fonseca.

Métricas de classificação

Em um contexto de classificação binária, essas são as principais métricas que são importantes acompanhar para avaliar a desempenho do modelo.

Matriz de confusão A matriz de confusão (confusion matrix) é usada para termos uma cenário mais completa quando estamos avaliando o desempenho de um modelo. Ela é definida conforme a seguir:

Classe prevista
+ -
Classe real + TP
True Positives
FN
False Negatives
Type II error
- FP
False Positives
Type I error
TN
True Negatives

Principais métricas As seguintes métricas são comumente usadas para avaliar o desempenho de modelos de classificação:

Métrica Fórmula Interpretação
Acurácia $\displaystyle\frac{\textrm{TP}+\textrm{TN}}{\textrm{TP}+\textrm{TN}+\textrm{FP}+\textrm{FN}}$ Desempenho geral do modelo
Precisão $\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FP}}$ Quão precisas são as predições positivas
Revocação
Sensibilidade
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Cobertura da amostra positiva real
Specificity $\displaystyle\frac{\textrm{TN}}{\textrm{TN}+\textrm{FP}}$ Cobertura da amostra negativa real
F1 score $\displaystyle\frac{2\textrm{TP}}{2\textrm{TP}+\textrm{FP}+\textrm{FN}}$ Métrica híbrida útil para classes desequilibradas

ROC A curva de operação do receptor, também chamada ROC (Receiver Operating Characteristic), é a área de TPR versus FPR variando o limiar. Essa métricas estão resumidas na tabela abaixo:

Métrica Fórmula Equivalente
True Positive Rate
TPR
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Revocação, sensibilidade
False Positive Rate
FPR
$\displaystyle\frac{\textrm{FP}}{\textrm{TN}+\textrm{FP}}$ 1-specificity

AUC A área sob a curva de operação de recebimento, também chamado AUC ou AUROC, é a área abaixo da ROC como mostrada na figura a seguir:


ROC AUC

Métricas de regressão

Métricas básicas Dado um modelo de regresão $f$, as seguintes métricas são geralmente utilizadas para avaliar o desempenho do modelo:

Soma total dos quadrados Soma explicada dos quadrados Soma residual dos quadrados
$\displaystyle\textrm{SS}_{\textrm{tot}}=\sum_{i=1}^m(y_i-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{reg}}=\sum_{i=1}^m(f(x_i)-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{res}}=\sum_{i=1}^m(y_i-f(x_i))^2$

Coeficiente de determinação O coeficiente de determinação, frequentemente escrito como $R^2$ ou $r^2$, fornece uma medida de quão bem os resultados observados são replicados pelo modelo e é definido como se segue:

\[\boxed{R^2=1-\frac{\textrm{SS}_\textrm{res}}{\textrm{SS}_\textrm{tot}}}\]

Principais métricas As seguintes métricas são comumente utilizadas para avaliar o desempenho de modelos de regressão, levando em conta o número de variáveis $n$ que eles consideram:

Cp de Mallow AIC BIC $R^2$ ajustado
$\displaystyle\frac{\textrm{SS}_{\textrm{res}}+2(n+1)\widehat{\sigma}^2}{m}$ $\displaystyle2\Big[(n+2)-\log(L)\Big]$ $\displaystyle\log(m)(n+2)-2\log(L)$ $\displaystyle1-\frac{(1-R^2)(m-1)}{m-n-1}$

onde $L$ é a probabilidade e $\widehat{\sigma}^2$ é uma estimativa da variância associada com cada resposta.


Seleção de modelo

Vocabulário Ao selecionar um modelo, nós consideramos 3 diferentes partes dos dados que possuímos conforme a seguir:

Conjunto de treino Conjunto de validação Conjunto de teste
• Modelo é treinado
• Geralmente 80% do conjunto de dados
• Modelo é avaliado
• Geralmente 20% do conjunto de dados
• Também chamado de hold-out ou conjunto de desenvolvimento
• Modelo fornece previsões
• Dados não vistos

Uma vez que o modelo é escolhido, ele é treinado no conjunto inteiro de dados e testado no conjunto de dados de testes não vistos. São representados na figura abaixo:

Partition of the dataset

Validação cruzada Validação cruzada, também chamada de CV (Cross-Validation), é um método utilizado para selecionar um modelo que não depende muito do conjunto de treinamento inicial. Os diferente tipos estão resumidos na tabela abaixo:

$k$-fold Leave-$p$-out
• Treino em $k-1$ partes e teste sobre o restante
• Geralmente $k=5$ ou 10
• Treino em $n-p$ observações e teste sobre $p$ restantes
• Caso $p=1$ é chamado leave-one-out (deixe-um-fora)

O método mais comumente usado é chamado $k$-fold cross validation e divide os dados de treinamento em $k$ partes enquanto treina o modelo nas outras $k-1$ partes, todas estas em $k$ vezes. O erro é então calculado sobre as $k$ partes e é chamado erro de validação cruzada (cross-validation error).

Cross-validation

Regularização O procedimento de regularização (regularization) visa evitar que o modelo sobreajuste os dados e portanto lide com os problemas de alta variância. A tabela a seguir resume os diferentes tipos de técnicas de regularização comumente utilizadas:

LASSO Ridge Elastic Net
• Diminui coeficientes para 0
• Bom para seleção de variáveis
Faz o coeficiente menor Balanço entre seleção de variáveis e coeficientes pequenos
Lasso Ridge Elastic Net
$...+\lambda||\theta||_1$
$\lambda\in\mathbb{R}$
$...+\lambda||\theta||_2^2$
$\lambda\in\mathbb{R}$
$...+\lambda\Big[(1-\alpha)||\theta||_1+\alpha||\theta||_2^2\Big]$
$\lambda\in\mathbb{R},\alpha\in[0,1]$

Diagnóstico

Viés O viés (bias) de um modelo é a diferença entre a predição esperada e o modelo correto que nós tentamos prever para determinados pontos de dados.


Variância A variância (variance) de um modelo é a variabilidade da previsão do modelo para determinados pontos de dados.


Balanço viés/variância Quanto mais simples o modelo, maior o viés e, quanto mais complexo o modelo, maior a variância.


Underfitting Just right Overfitting
Sintomas • Erro de treinamento elevado
• Erro de treinamento próximo ao erro de teste
• Viés elevado
• Erro de treinamento ligeiramente menor que erro de teste • Erro de treinamento muito baixo
• Erro de treinamento muito menor que erro de teste
• Alta variância
Exemplo de regressão Underfit in regression Right fit in regression Overfit in regression
Exemplo de classificação Underfit in classification Right fit in classification Overfit in classification
Exemplo de Deep Learning Underfit in deep learning Right fit in deep learning Overfit in deep learning
Possíveis remédios • Modelo de complexificação
• Adicionar mais recursos
• Treinar mais
• Executar a regularização
• Obter mais dados

Análise de erro Análise de erro (error analysis) é a análise da causa raiz da diferença no desempenho entre o modelo atual e o modelo perfeito.


Análise ablativa Ablative analysis (ablative analysis) é a análise da causa raiz da diferença no desempenho entre o modelo atual e o modelo base.