Dicas e truques de aprendizado de máquina
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:
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:
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).
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 |
$...+\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 | |||
Exemplo de classificação | |||
Exemplo de 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.