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 probabilidade93.2%
de que o e-mail é spam.Convertida a uma categoria binária como
True
ouFalse
,Spam
ouNot 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.
À 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.
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.
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\)