Padronização dos dados de entrada

Um passo muito importante em qualquer ajuste para modelos de aprendizado de máquinas é a padronização da base de dados antes de realizar o ajuste do modelo. Isso garante que as variáveis de entrada não estão em escalas diferentes o que facilita os processos de convergência utilizados nas estimativas dos parâmetros.

Cada observação de uma variável quantitativa da base, tanto das covariáveis \(X_1\), \(X_2\), \(\ldots\), \(X_M\), quanto observações da variável alvo \(Y\) devem passar por um dos processo descritos a seguir. Essa processo gera dados de entrada transformados, \(\tilde{X}_{i,j}\) e \(\tilde{Y}\). As constantes utilizadas nas transformações têm que ser guardadas pois serão usadas novamente quando desejarmos fazer uma nova mudança de escala em dados novos (base de teste) ou voltar para a escala original as previsões do modelo.

Z-score normalization

Ideia: transformar a variável para que tenha média 0 e desvio padrão 1.

\[ \tilde{X}_{i,j} = \dfrac{X_{i,j} - \bar{X}_j}{S_{X_j}} \qquad \hbox{ e } \qquad \tilde{Y}_{i} = \dfrac{Y_{i} - \bar{Y}}{S_Y} \] sendo \(\bar{X}_j\) e \(S_{X_j}\) a média amostral e o desvio padrão amostral da covariável \(X_j\) e \(\bar{Y}\) e \(S_{Y}\) a média amostral e o desvio padrão amostral da variável resposta \(Y\).

Normalização Min-Max

Ideia: transformar os valores para ficarem no intervalo 0 a 1 (ou outro intervalo desejado).

\[ \tilde{X}_{i,j} = \dfrac{X_{i,j} - \min{X}_j}{\max{X}_j - \min{X}_j} \qquad \hbox{ e } \qquad \tilde{Y}_{i} = \dfrac{Y_{i} - \min{Y}}{\max{Y} - \min{Y}} \]

Medidas de desempenho

As medidas de desempenho servem para avaliar a qualidade de um ajuste.

Regressão

Para os problemas de regressão a variável resposta \(Y\) é numérica, quantitativa e contínua. Suponha que um modelo de regressão realizou a previsão \(\hat{y}_i\) para a i-ésima observação da variável \(Y\), \(y_i\). Chamamos \(y_i\) de valor real e \(\hat{y}_i\) valor previsto. O melhor modelo será aquele que faz previsões mais parecidas, ou seja, aqueles tais que \(\hat{y}_i\) e \(y_i\) são mais parecidos. Para identificar os modelos com melhores regressões podemos usar as medidas de desempenho denominadas Soma dos Erros ao Qaudrado (SSE) ou o Erro Médio Quadrático (MSE), entre outras.

\[ SSE = \sum_{i=1}^N (\hat{y}_i - y_i)^2 \qquad MSE = \dfrac{1}{N} \sum_{i=1}^N (\hat{y}_i - y_i)^2 \]

Classificação

Para os problemas de classificação (duas classes) a variável resposta \(Y\) é categórica e será transformada em uma variável indicadora de acordo com uma classe de referência, isto é, \[Y_i = \left\{ \begin{array}{ll} 1 & \text{, se } Y_i \text{ é da classe de referência;}\\ 0 & \text{, caso contrário.}\\ \end{array} \right. \]

Os métodos de classificação fornecem estimativas \(\hat{y}_i\) tais que \(0 < \hat{y}_i < 1\), isto é, não fornecem a classe prevista e sim um número entre \(0\) e \(1\) que indica maior chance de estar na classe prevista ou não. Um bom classificador é aquele que retorna \(\hat{y}_i \approx 0\) quando \({y}_i = 0\) e \(\hat{y}_i \approx 1\) quando \({y}_i = 1\).

Após o método de classificação retornar \(\hat{y}_i\), \(0 < \hat{y}_i < 1\), cabe ao pesquisador decidir a classe prevista \(\hat{c}_i\). Essa decisão será definida da seguinte maneira:

\[ \hat{c}_i = \left\{ \begin{array}{ll} 0 & \hbox{, se } \hat{y}_i < q\\ 1 & \hbox{, se } \hat{y}_i \ge q\\ \end{array} \right. \]

E o valor de \(q\) pode ser definido de algumas maneiras, que serão apresentadas mais pora frente.

Entropia Cruzada

A Entropia Cruzada é uma medida de desempenho de modelos de classificação que avalia o quanto bom está o valor previsto \(\hat{y}_i\), antes mesmo do pesquisador ter defiido a classe prevista.

\[ \begin{array}{ll} EC &= - \sum_{i=1}^N \left( y_i\ln(\hat{y}_i) + (1-y_i)\ln(1-\hat{y}_i) \right) \\ &= - \sum_{i=1}^N EC_i \quad \text{, sendo } EC_i = y_i\ln(\hat{y}_i) + (1-y_i)\ln(1-\hat{y}_i). \end{array} \]

Se \(\hat{y}_i \approx 0\) quando \({y}_i = 0\) ou se \(\hat{y}_i \approx 1\) quando \({y}_i = 1\) o valor da parcela \(EC_i = y_i\ln(\hat{y}_i) + (1-y_i)\ln(1-\hat{y}_i)\) fica bem pequena em módulo, próximo de zero, e com valores negativos. Se ocorre o contrário, \(\hat{y}_i \approx 1\) quando \({y}_i = 0\) ou \(\hat{y}_i \approx 0\) quando \({y}_i = 1\), teremos uma parcela bem grande em módulo e com valor negativo.

Isso nos faz concluir que \(0 < EC < \infty\) e quanto menor for o valor de \(EC\), melhor é o desempenho do método de classificação.

Uma desvantagem desta medida de desempenho é que ela penaliza fortemente erros muito confiantes e, em casos extremos, pode retornar infinito, por exemplo, se \(\hat{y}_i = 0\) quando \({y}_i = 1\) ou se \(\hat{y}_i = 1\) quando \({y}_i = 0\).

Medidas a partir da Matriz de Confusão

Suponha que o pesquisador usou a saída do método de classificação para definir previsões de classe: chamamos \(c_i\) de classe real e \(\hat{c}_i\) classe prevista. Para identificar os modelos com melhores classificações podemos usar a matriz de confusão e as medidas que naturalmente são retiradas dela.

A matriz de confusão é formada pela contagem de classes reais e classes previstas.

Real 0 Real 1
Prevista 0 VN FN
Prevista 1 FP VP

VN = verdadeiro negativo = número de observações iguais a 0 que foram previstas como 0.

FN = falso negativo = número de observações iguais a 1 que foram previstas como 0.

FP = falso positivo = número de observações iguais a 0 que foram previstas como 1.

VP = verdadeiro positivo = número de observações iguais a 1 que foram previstas como 1.

Quanto maior o número de observações na diagonal principal da matriz de confusão melhor. A partir desta tabela podemos calcular algumas medidas de desempenho para os modelos de classificação.

Acurácia

A acurácia é a taxa de acerto do classificador. Ela é a proporção de predições corretas dentre todas as predições. \[ Acurácia = \dfrac{V P + V N}{V P + V N + FP + FN} \]

Sensibilidade (ou Recall)

A sensibilidade é a taxa de acerto dos casos positivos. Ela é a proporção de casos positivos que foram corretamente classificados como positivos. \[ Sensibilidade = \dfrac{VP}{V P + FN} \]

Especificidade

A especificidade é a taxa de acerto dos casos negativos. Ela é a proporção dos casos negativos que foram corretamente classificados como negativos. \[ Especificidade = \dfrac{V N}{V N + FP} \]

Precisão

A precisão é a taxa de acerto dentras previsões positivas. Ela é a proporção dos acertos entre os casos classificados como positivos. \[ Precisão = \dfrac{VP}{V P + FP} \]

F1-Score

É uma combinação da Precisão e do Recall que na prática é a média harmônica entre a Precisão e o Recall. \[ F1-score = 2 \dfrac{Precisão \times Recall}{Precisão + Recall} \]

Conglomerados

Para os problemas de conglomerados não existe uma variável alvo \(Y\), são os chamados problemas não supervisionados. Temos apenas as covariáveis e cada observação é representada por um ponto (vetor) no \(\mathbb{R}^M\), que é um vetor linha da base de dados.

A saída dos métodos é a definição de grupos (conglomerados ou clusters) para as observações. Um bom método de conglomerado é aquele que define grupos tais que os elementos de cada grupo estão próximos um dos outros (medida intracluster) e os grupos estão distantes um dos outros (medida intercluster).

Uma medida intracluster quantifica o quão próximos entre si estão os elementos dentro de um mesmo grupo. Existem diferentes maneiras de definir medidas intraclusters, a mais comum é o diâmetro do grupo: \[ diam(C_k) = \max_{\forall \mathbf{x}_i, \mathbf{x}_j \in C_k} d(\mathbf{x}_i,\mathbf{x}_j) \] sendo \(d(\mathbf{x}_i,\mathbf{x}_j)\) uma medida de distância entre as observações \(i\) e \(j\).

Uma medida intercluster quantifica a distantes entre dois clusters diferentes. Existem diferentes maneiras de definir medidas interclusters, como por exemplo, a distância mínima, conhecida também como single linkage, (\(dmin(C_k,C_l)\)), ou a distância entre os centróides ().

\[ dmin(C_k,C_l) = \min_{\mathbf{x} \in C_k, \mathbf{y} \in C_l} d(\mathbf{x},\mathbf{y}) \]

\[ dcen(C_k,C_l) = d(\mathbf{m}_k,\mathbf{m}_l), \quad \mathbf{m}_k = \dfrac{\sum_{\forall \mathbf{x_i} \in C_k} \mathbf{x}_i}{|C_k|}. \]

Índice de Dunn

O índice de Dunn faz uma combinação das medidas intracluster e intercluster para criar uma métrica de comparação da qualidade dos métodos de agrupamento.

\[ Dunn = \dfrac {\min_{\forall k \neq l} dmin(C_k,C_l)} {\max_{\forall k} diam(C_k)} = \dfrac {\min_{\forall k \neq l} intra(C_k,C_l)} {\max_{\forall k} inter(C_k)} \] Se o conjunto de dados contiver clusters compactos e bem separados, o diâmetro dos clusters (denominador) deverá ser pequeno e a distância entre os clusters (numerador) deverá ser grande. Portanto, índices próximos de 0 indicam que o agrupamento não é bom e quanto maior o valor deste índice melhor o agrupamento.

Índice de Silhueta

O índice de silhueta é uma medida de validação interna de agrupamentos que avalia, simultaneamente, a compactação dos clusters e a separação entre clusters. Para cada observação \(i\), definem-se:

  • \(a(i)\): distância média entre a observação \(i\) e os demais elementos do mesmo grupo;

  • \(b(i)\): menor distância entre a observação \(i\) e os elementos de outro grupo.

O coeficiente de silhueta da observação \(i\) é dado por: \[ s(i) = \dfrac{b(i) - a(i)}{\max\{a(i),b(i)\}} \]

Essa valor varia entre \(-1\) e \(1\) e quanto mais perto de 1 melhor é a alocação da observação \(i\) no seu grupo.

O índice de silhueta do agrupamento é a média dos coeficientes de silhueta de todas as observações.