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 é possível usar a probabilidade retornada em uma das opções duas maneiras:

  • Aplicação "tal qual". Por exemplo, se um modelo de previsão de spam usa um e-mail como entrada e gera um valor de 0.932, isso implica uma probabilidade 93.2% de que o e-mail é spam.

  • Convertida a 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. Como acontece, há uma família de funções chamadas funções logísticas cujas saídas têm as mesmas características. A função logística padrão, também conhecida como função sigmoide (sigmoide significa "em forma de s"), tem a fórmula:

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

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

Curva sigmoide (em forma de s) plotada no plano de coordenadas cartesiana,
         ser centralizadas na origem.
Figura 1. Gráfico da função sigmoide. A curva se aproxima de 0 à medida que os valores de x diminuem para um infinito negativo, e 1 como x os valores aumentam em direção ao infinito.

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

Clique aqui para saber mais sobre 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 a rapidez com que o sigmoide se aproxima 0 para diminuir valores de entrada negativos e a rapidez com que o sigmoide se aproxima 1 para aumentar os valores de entrada positivos.

No entanto, não importa o tamanho do valor de entrada, a saída será sempre 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

Como transformar a saída linear usando a função sigmoide

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

\[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 log probabilidades.
  • b é a polaridade.
  • 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 receber a previsão de regressão logística, o valor z é transmitido para a 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.
  • z é a saída linear (conforme calculado na equação anterior).

Clique aqui para saber mais sobre odds lógicas

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 o seguinte função sigmoide (em que $y$ é a saída de um valor modelo de regressão, que representa uma probabilidade):

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

E resolva para z:

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

Então, z é definido como o registro 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 regressão logística saída usando esses cálculos.

À esquerda: linha com os pontos (-7,5, -10), (-2,5, 0) e (0, 5)
         em destaque. Direita: curva sigmoide com o respectivo transformado
         pontos (-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. Direita: curva sigmoide com os mesmos três pontos destacada após ser transformada pela função sigmoide.

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

Exercício: testar seu conhecimento

Um modelo de regressão logística com três atributos tem os seguintes vieses 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 viés é z = 1 + 2x1 – x2 + 5 x3. Conectar o valores inseridos na equação produz 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, a razão de chances logarítmica para os valores de entrada é 1. Inserindo 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
A saída da função sigmoid sempre será maior que 0 e menor que 1.