Machine Learning — Introdução a Regressão Logística

Gabriel Melo Lucena
5 min readMay 26, 2023

Olá, tudo bom? Eu sou Gabriel Lucena, estudante de matemática aplicada e computacional na Unicamp e, no momento, estou explorando a área de ciência de dados com objetivo de aprofundar meus conhecimentos!

O objetivo desse material é levantar uma breve discussão sobre o algoritmo de regressão logística. Esse material é uma compilação dos meus estudos iniciais sobre o tema, então sintam-se convidados a me corrigirem em qualquer erro cometido por mim. Sem mais delongas, vamos iniciar a discussão sobre o material.

Em meus estudos, eu julguei necessário enfatizar alguns conceitos que fazem parte do contexto da regressão logística que são importantes para entender o que é, como funciona e o porquê de usá-la.

Primeiramente, vamos pensar que temos um conjunto de dados de um objeto e vamos dividi-lo em input e output, isto é, os dados de entrada e os dados de saída. Em outras palavras, dado um determinado conjunto de características (input) do objeto, qual é o rótulo (representação) desse objeto? Nós podemos simplificar essa ideia para esclarecer o conceito de dados rotulados. Nós temos um conjunto de características de um objeto que já sabemos o que esse objeto representa.

A partir dessa ideia, podemos avaliar problemas de Aprendizado de Máquina Supervisionado que é uma classe de modelos que utilizam dados rotulados para tentar identificar o padrão desses dados e criar previsões. Nós podemos brincar um pouco com a ideia e pensar que, após termos um modelo treinado, nós podemos pegar qualquer conjunto de características que ainda não sabemos o rótulo e utilizar o modelo para prevê-lo.

Agora que nós entendemos a ideia anterior, vamos discutir sobre problemas de classificação que é uma classe de problemas que categorizam (output) um determinado conjunto de entradas (input). Um problema clássico e mais simples de classificação é identificar, dado um conjunto de informações sobre um e-mail que você acabou de receber, se o e-mail recebido é um spam ou não. Esse é um problema de classificação binária, onde o rótulo é É um spam ou Não é um spam.

Bom, agora estamos entendendo melhor o contexto de onde estamos trabalhando, certo? Agora, vamos pensar em outro tipo: problemas de regressão. Em modelagens de problemas de regressão, normalmente nós queremos prever valores como preço de um produto, a expectativa de vida de uma pessoa, e por aí vai. Em um problema de classificação, acredito que não faz muito sentido esse raciocínio, vamos pensar numa modelagem usando uma regressão linear e você quer saber se um e-mail é um spam e a modelagem uma hora te dá um número -67, outra hora te dá um número 123, e por aí vai.

O que significaria essa métrica na classificação? Bom, claro que dependeria de como o problema fosse definido. Mas vamos pensar que há várias problemáticas na aplicação da regressão linear. Por exemplo, um conjunto de dados desbalanceado poderia tornar a modelagem muito inclinada para uma determinada categorização. Imagina um modelo que poderia classificar bastante dos próprios dados testes erroneamente… Não é muito bom, né? Bom, não vamos aprofundar no porquê da regressão linear ser um algoritmo não tão bom para classificação, pois não é o objetivo desse material.

Agora que entendemos um pouco mais da regressão, vamos definir um pouco mais formalmente o problema de classificação binária, .

Seja o espaço amostral com É um spam e Não é um spam em seu conjunto, então p é a probabilidade de um e-mail ser do tipo É um spam e (p-1) é a probabilidade de um e-mail ser do tipo Não é um spam.

Em seguida, vamos definir um problema de modelagem linear. Vamos usar a álgebra linear a nosso favor: Seja o vetor (x1, x2, …, xn) que é o input e o vetor de coeficientes (w1, w2, …, wn) da modelagem, então y é o vetor resultado da modelagem. A modelagem linear é a combinação linear dos dados dos inputs e dos coeficientes da seguinte forma:

Então, na modelagem linear, nós temos os coeficientes que são as características do modelo e fazemos essa combinação linear com as informações que temos, então obtemos o resultado que é a previsão do modelo.

Porém, nós já vimos que não vamos usar a regressão linear, então vamos adaptar a modelagem linear para atender uma característica interessante. Vamos observar a probabilidade relativa, isto é, a razão entre probabilidade de ser É um spam e Não é um spam.

Para o problema de regressão logística, assim como o nome diz, vamos aplicar o logaritmo natural ao problema e vamos definir esse resultado pela modelagem linear:

Observe que, o que queremos calcular é a probabilidade de ser um spam ou não, então vamos isolar a variável p para obtermos uma função do tipo:

Dessa forma, nós definimos que a regressão logística terá o comportamento anterior e as modelagem consistirá em determinar o vetor de coeficientes

Bom, e agora que trabalhamos toda essa matemática sem rumo, por que chegamos aqui? Primeiramente, vamos observar o comportamento da nossa função:

Exemplo de função sigmoide do problema produzida pelo Matplotlib

Observe que os valores da função SEMPRE ficam entre 0 e 1, como é o esperado da probabilidade de um evento. Qual é a sacada do problema? A função se adapta à distribuição dos dados, então podemos observar que dado um conjunto de dados, p(x) está mais próximo de 0 ou 1, que podemos classificar como É um spam (1) ou Não é um spam (0). Claro que o critério de escolha de proximidade pode ser definido a partir de um valor específico que dependerá da nossa escolha. Podemos escolher que temos confiança em dizer que p > 0.3 é suficiente para classificar o e-mail como spam ou sermos mais cautelosos com p > 0.8 é necessário para classificar o email como spam.

Bom, o tema pode ser mais desenvolvido, porém vamos encerrar essa introdução por hoje recapitulando a ideia da regressão logística:

A regressão logística é um tipo de modelagem por Aprendizado de Máquina Supervisionado que pode resolver problemas de classificação, no caso do artigo é uma classificação binária, a partir da estimativa da probabilidade de cada conjunto de dados (input) ser de uma categoria (output).

Redes sociais:

https://www.linkedin.com/in/gabrielmelolucena/

https://github.com/drazyn

Os materiais de referência foram:

Modelos de Classificação: Regressão Logística — BRAINS

Regressão Logística: Conceitos Essenciais e Modelo — ESTATSITE.COM.BR

O que é regressão logística? | IBM

--

--