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 é mecanismo extremamente eficiente para calcular probabilidades. Na prática é possível usar a probabilidade retornada em uma das opções duas maneiras:

  • Aplicado "no estado em que se encontra". Por exemplo, se um modelo de previsão de spam recebe 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.

O foco deste módulo é o uso da saída do modelo de regressão logística no estado em que se encontra. Na Módulo de classificação, você vai aprender 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 representa uma probabilidade, gerando sempre um valor entre 0 e 1. Como há uma família de funções chamada funções logísticas com saídas com as mesmas características. A função logística padrão, também conhecido como o Função sigmoide (sigmoide significa "em formato de s"), tem 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, o sigmoide de saída da função se aproxima, mas nunca atinge 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 -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 quão grande ou pequeno seja o valor de entrada, a saída sempre ser maior do que 0 e menor do 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 é 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 conseguir a previsão da regressão logística, o valor z é então passado para função sigmoide, produzindo 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 log-chance

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}}$$

Depois, resolva z:

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

Então, z é definido como o log da proporçã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 entrada para a função sigmoide, que dobra 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 laranja retângulo no gráfico à esquerda tem um valor z de -10, mas a função sigmoide na o gráfico à direita mapeia esse valor em -10 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 pelo 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 no item 1 acima, o log-chance dos valores de entrada é 1. Insira 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, o resultado da função sigmoide sempre será maior que 0 e menor que 1.