Regressão Logística e Sigmoide¶
Diferente da Regressão Linear, que prevê um valor contínuo, a Regressão Logística prevê uma rótulo, que é então usada para classificar a entrada em uma de duas categorias. Portanto, a variável target é binária (ex: Sim/Não, Doente/Saudável, 0/1).
Na prática, uma forma eficiente de fazer isso é calcular qual a probabilidade do rótulo de determinada entrada assumir cada valor possível.
Vídeos
Assista os vídeos 31 e 32 do curso de Machine Learning do Andrew Ng antes de ler esse handout. Você criará facilmente a intuição necessária.
O Desafio: De Linha a Probabilidade¶
Lembrando a equação da regressão linear:
Para um problema de classificação, teríamos um problema: a saída pode ser qualquer número real (de \(-\infty\) a \(+\infty\)), e não uma probabilidade que deve, por definição, estar entre 0 e 1.
A solução da Regressão Logística é aplicar uma função "esmagadora" ao resultado da equação linear. Essa função é chamada de Função Sigmoide (ou Função Logística), que é um exemplo de função de ativação.
Função de Ativação¶
Uma função de ativação é uma função aplicada sobre a saída linear de um modelo. Em muitos contextos, ela pode introduzir não-linearidade no mapeamento entre entrada e saída (em breve você vai entender por quê isso é importante).
No caso específico da Regressão Logística, o papel principal da Função Sigmoide é pegar o score linear \(z\) e transformá-lo em um valor entre 0 e 1, para que ele possa ser interpretado como probabilidade.
Função Sigmoide¶
A Função de Ativação Sigmoide, denotada por \(\sigma(z)\), tem a seguinte fórmula:
Ela pega qualquer valor de entrada \(z\) e o transforma em um valor entre 0 e 1, que podemos interpretar como uma probabilidade.
A Equação Completa¶
A equação da Regressão Logística combina a equação linear com a função sigmoide:
- Primeiro, calcula-se uma pontuação linear (exatamente como na Regressão Linear):
- Em seguida, essa pontuação é passada pela função sigmoide para obter a probabilidade:
Onde:
- \(\hat{p}\): a probabilidade prevista de a amostra pertencer à classe positiva (classe 1).
- \(\mathbf{w}\) e \(b\): são os vetores de pesos e bias que o modelo precisa aprender.
O "aprendizado" aqui significa encontrar os melhores valores de \(\mathbf{w}\) e \(b\) que fazem o modelo prever probabilidades altas para as amostras da classe positiva e probabilidades baixas para as da classe negativa.
A previsão final do modelo é feita com base em um limiar (threshold), geralmente 0.5:
- Se \(\hat{p} \geq 0.5\), classifica como classe 1 (classe positiva).
- Se \(\hat{p} < 0.5\), classifica como classe 0 (classe negativa).
Se a grande mudança foi só transformar o score em probabilidade, o que faz o modelo aprender a ajustar \(w\) e \(b\) do jeito certo?
O que define o aprendizado não é só a forma do modelo, mas principalmente a função de custo usada no treino. É ela que diz ao algoritmo o que conta como erro.
Na Regressão Linear, o modelo aprende tentando minimizar o erro entre valores contínuos previstos e valores reais. Na Regressão Logística, a saída passa a ser interpretada como probabilidade, então o critério de erro também precisa mudar. Em vez de medir "quão perto" o modelo ficou de um número contínuo, precisamos medir quão boas são as probabilidades atribuídas às classes corretas.
Em outras palavras: a função de ativação muda a forma da saída, mas é a função de custo que diz ao modelo como essa saída deve ser avaliada e, portanto, como \(\mathbf{w}\) e \(b\) devem ser ajustados durante o treinamento.
A Função de Custo¶
Não podemos usar o Erro Quadrático Médio (MSE) da Regressão Linear, pois quando combinado com a função sigmoide, ele cria uma função de custo não-convexa, cheia de mínimos locais, dificultando a otimização.
Para a Regressão Logística, usamos uma função de custo chamada Log Loss, ou Entropia Cruzada Binária (Binary Cross-Entropy). A intuição por trás dela é simples: ela penaliza fortemente o modelo quando ele está "confiantemente errado".
- Se a classe real é 1, a função de custo penaliza o modelo à medida que a probabilidade prevista \(\hat{p}\) se aproxima de 0.
- Se a classe real é 0, a função de custo penaliza o modelo à medida que a probabilidade prevista \(\hat{p}\) se aproxima de 1.
A fórmula completa que combina os dois casos é:
Onde:
- \(m\): número de exemplos no conjunto de dados.
- \(y_i\): classe real do exemplo \(i\) (0 ou 1).
- \(\hat{y}_i\): probabilidade prevista pelo modelo para o exemplo \(i\).
Assim como antes, a função de custo depende dos parâmetros do modelo (\(\mathbf{w}\) e \(b\)). Treinar o modelo significa encontrar os valores ótimos de \(\mathbf{w}\) e \(b\) que minimizam essa função de custo, e isso também é feito através de algoritmos de otimização como o Gradiente Descendente (próxima aula!!!!).
Vídeos
Os vídeos 34 e 35 do curso de Machine Learning devem ajudar a entender a função de custo Log Loss.
Visualizando o Modelo: Fronteiras de Decisão¶
Até agora, avaliamos o modelo através de métricas numéricas. No entanto, uma das formas mais intuitivas de entender o comportamento de um classificador é visualizar sua fronteira de decisão.
O que é uma Fronteira de Decisão?¶
A fronteira de decisão é a linha ou superfície que separa as regiões do espaço onde o modelo prevê classes diferentes. Para um problema binário, é literalmente a "fronteira" onde o modelo está mais indeciso sobre classificar uma amostra como classe 0 ou classe 1.
No caso da Regressão Logística, que prevê uma probabilidade (\(\hat{p}\)), a fronteira de decisão é o conjunto de todos os pontos onde a probabilidade prevista é exatamente 0.5.
A Fronteira de Decisão na Regressão Logística¶
Lembre-se da equação do nosso modelo:
- Cálculo linear: \(z = \mathbf{w}^T \cdot \mathbf{x} + b\)
- Probabilidade: \(\hat{p} = \sigma(z) = \frac{1}{1 + e^{-z}}\)
A função sigmoide \(\sigma(z)\) resulta em 0.5 apenas quando sua entrada \(z\) é exatamente 0. Portanto, a fronteira de decisão para a Regressão Logística é o conjunto de todos os pontos \(\mathbf{x}\) que satisfazem a equação:
Para um problema com duas features (\(x_1, x_2\)), essa é a equação de uma linha reta: \(w_1x_1 + w_2x_2 + b = 0\). Para três features, é a equação de um plano, e assim por diante. É por isso que a Regressão Logística é conhecida como um classificador linear.
Vídeos
Assista o vídeo 33 do curso de Machine Learning. Você entenderá melhor as fronteiras de decisão.
Reflexão: o que acontece quando a relação entre as classes não pode ser separada por uma linha reta?
A grande vantagem e, ao mesmo tempo, a maior limitação da Regressão Logística é que sua fronteira de decisão é sempre linear.
Isso é suficiente para muitos problemas, mas e se a relação entre as classes for mais complexa, como um círculo ou uma curva sinuosa? Nenhuma linha reta conseguiria separar bem essas classes. Reflita sobre isso, será esclarecido no próximo encontro.