Dicas e truques de aprendizado de máquina

Star

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 las 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étricaFórmulaInterpretaçã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étricaFórmulaEquivalente
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 regresã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 quadradosSoma explicada dos quadradosSoma 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 MallowAICBIC$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.

Selección de modelo

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

Conjunto de treinoConjunto de validaçãoConjunto 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$-foldLeave-$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 los 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:

LASSORidgeElastic Net
• Diminui coeficientes para 0
• Bom para seleção de variáveis
Faz o coeficiente menorBalanço entre seleção de variáveis e coeficientes pequenos
LassoRidgeElastic 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.


UnderfittingJust rightOverfitting
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ãoUnderfit in regressionRight fit in regressionOverfit in regression
Exemplo de classificaçãoUnderfit in classificationRight fit in classificationOverfit in classification
Exemplo de Deep LearningUnderfit in deep learningRight fit in deep learningOverfit 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.