Regressão logística: calcular uma probabilidade com a função sigmoide

Muitos problemas exigem uma estimativa de probabilidade como saída. A regressão logística é um mecanismo extremamente eficiente para calcular probabilidades. Na prática, você pode usar a probabilidade retornada de uma destas duas maneiras:

  • Aplicado "como está". Por exemplo, se um modelo de previsão de spam receber um e-mail como entrada e gerar um valor de 0.932, isso implica uma probabilidade de 93.2% de que o e-mail seja spam.

  • Convertido em uma categoria binária, como True ou False, Spam ou Not Spam.

Este módulo se concentra no uso da saída do modelo de regressão logística como está. No módulo de classificação, você vai aprender a converter essa saída em uma categoria binária.

Função sigmoide

Talvez você esteja se perguntando como um modelo de regressão logística pode garantir que a saída represente uma probabilidade, sempre gerando um valor entre 0 e 1. Existe uma família de funções chamada funções logísticas cuja saída tem essas mesmas características. A função logística padrão, também conhecida como função sigmoide (sigmoid significa "em forma de S"), tem a fórmula:

\[f(x) = \frac{1}{1 + e^{-x}}\]

em que:

  • f(x) é a saída da função sigmoide.
  • e é o número de Euler: uma constante matemática ≈ 2,71828.
  • x é a entrada da função sigmoide.

A Figura 1 mostra o gráfico correspondente da função sigmoide.

Curva sigmoide (em forma de S) representada no plano de coordenadas cartesianas, centralizada na origem.
Figura 1. Gráfico da função sigmoide. A curva se aproxima de 0 quando os valores de x diminuem para o infinito negativo e de 1 quando os valores de x aumentam para o infinito.

À medida que a entrada, x, aumenta, a saída da função sigmoide se aproxima de 1, mas nunca chega a esse valor. Da mesma forma, à medida que a entrada diminui, a saída da função sigmoide se aproxima, mas nunca atinge 0.

Clique aqui para saber mais sobre a matemática por trás da função sigmoide

A tabela abaixo mostra os valores de saída da função sigmoide para valores de entrada no intervalo de -7 a 7. Observe como a sigmoide se aproxima rapidamente de 0 para valores de entrada negativos decrescentes e de 1 para valores de entrada positivos crescentes.

No entanto, não importa o tamanho do valor de entrada, a saída sempre será maior que 0 e menor que 1.

Entrada Saída sigmoide
-7 0,001
-6 0,002
-5 0,007
-4 0,018
-3 0,047
-2 0,119
-1 0.269
0 0,50
1 0.731
2 0,881
3 0.952
4 0,982
5 0,993
6 0,997
7 0,999

Transformar a saída linear usando a função sigmoide

A equação a seguir representa o componente linear de um modelo de regressão logística:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

em que:

  • z é a saída da equação linear, também chamada de odds logarítmicas.
  • b é o viés.
  • Os valores w são os pesos aprendidos do modelo.
  • Os valores x são os valores de atributo de um exemplo específico.

Para obter a previsão de regressão logística, o valor z é transmitido à função sigmoide, gerando um valor (uma probabilidade) entre 0 e 1:

\[y' = \frac{1}{1 + e^{-z}}\]

em que:

  • y' é a saída do modelo de regressão logística.
  • e é o número de Euler: uma constante matemática ≈ 2,71828.
  • z é a saída linear (conforme calculado na equação anterior).

Clique aqui para saber mais sobre log-odds

Na equação $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z é chamado de log-odds porque, se você começar com a seguinte função sigmoide (em que $y$ é a saída de um modelo de regressão logística, representando uma probabilidade):

$$y = \frac{1}{1 + e^{-z}}$$

Em seguida, resolva para z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

Então, z é definido como o log da razão das probabilidades dos dois resultados possíveis: y e 1 – y.

A Figura 2 ilustra como a saída linear é transformada em saída de regressão logística usando esses cálculos.

Esquerda: linha com os pontos (-7,5, -10), (-2,5, 0) e (0, 5) destacados. Direita: curva sigmoide com os pontos transformados correspondentes (-10, 0,00004), (0, 0,5) e (5, 0,9933) destacados.
Figura 2. À esquerda: gráfico da função linear z = 2x + 5, com três pontos destacados. Certo: curva sigmoide com os mesmos três pontos destacados após serem transformados pela função sigmoide.

Na Figura 2, uma equação linear se torna entrada para a função sigmoide, que dobra a linha reta em uma forma de S. A equação linear pode gerar valores muito grandes ou muito pequenos de z, mas a saída da função sigmoide, y', está sempre entre 0 e 1, exclusivo. Por exemplo, o quadrado amarelo no gráfico à esquerda tem um valor z de -10, mas a função sigmoide no gráfico à direita mapeia esse -10 para um valor y' de 0,00004.

Exercício: teste de conhecimentos

Um modelo de regressão logística com três recursos tem o seguinte viés e pesos:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

Considerando os seguintes valores de entrada:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

Responda às duas perguntas a seguir.

1. Qual é o valor de z para esses valores de entrada?
–1
0
0.731
1
Correto. A equação linear definida pelos pesos e pelo bias é z = 1 + 2x1 – x2 + 5 x3. Substituindo os valores de entrada na equação, temos z = 1 + (2)(0) - (10) + (5)(2) = 1
2. Qual é a previsão de regressão logística para esses valores de entrada?
0,268
0,5
0.731

Conforme calculado em #1 acima, o logito dos valores de entrada é 1. Substituindo esse valor de z na função sigmoide:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
Lembre-se de que a saída da função sigmoide será sempre maior que 0 e menor que 1.