Modelos Lineares Generalizados: Regressão logística

Anteriormente exploramos diversos algoritmos de regressão linear. Analogamente, a Regressão Logística é uma técnica fundamental para problemas de classificação, apesar do nome sugerir regressão. Decerto, ela modela a probabilidade de uma observação pertencer a uma determinada classe.

Conceito Fundamental da Regressão Logística

Primordialmente, a regressão logística utiliza uma função sigmoide para mapear saídas lineares em probabilidades entre 0 e 1. Similarmente aos modelos lineares, ela encontra uma combinação linear das features, mas aplica uma transformação não-linear para produzir probabilidades.

Conforme a documentação do scikit-learn, a regressão logística é particularmente útil para problemas de classificação binária, mas também suporta classificação multiclasse através das abordagens “one-vs-rest” (OvR) e “multinomial”.

Formulação Matemática

Para classificação binária, a probabilidade é modelada como:

\(P(y=1|X) = \frac{1}{1 + e^{-(w^T X + b)}}\)

Onde:

  • X é o vetor de features
  • w são os coeficientes do modelo
  • b é o termo de intercept (bias)
  • e é a base do logaritmo natural

A função de custo (log loss) é definida como:

\(J(w) = -\frac{1}{n}\sum_{i=1}^n [y_i\log(p_i) + (1-y_i)\log(1-p_i)]\)

Implementações no Scikit-learn

Atualmente, o scikit-learn oferece implementações versáteis da regressão logística:

  • LogisticRegression: Implementação principal com vários solvers
  • LogisticRegressionCV: Versão com validação cruzada embutida

Solvers Disponíveis

Diferentes algoritmos de otimização estão disponíveis:

  1. liblinear: Recomendado para datasets pequenos
  2. lbfgs: Bom para problemas com muitas features
  3. newton-cg: Usa método de Newton
  4. sag: Gradiente descendente estocástico médio
  5. saga: Extensão do SAG com suporte a L1

Exemplo Prático: Regressão Logística em Ação

Ademais, vejamos um exemplo completo demonstrando o uso da regressão logística:

Vantagens da Regressão Logística

Embora existam algoritmos mais complexos, a regressão logística mantém popularidade devido a:

Vantagens Principais

  • Interpretabilidade: Coeficientes fornecem insights sobre importância das features
  • Probabilidades calibradas: Saídas são probabilidades bem calibradas
  • Eficiência computacional: Treinamento rápido mesmo com muitas features
  • Regularização: Suporte nativo a L1 e L2 para evitar overfitting

Casos de Uso Recomendados

A regressão logística é particularmente eficaz em:

  1. Problemas de classificação binária: Como detecção de spam, diagnóstico médico
  2. Quando interpretabilidade é importante: Aplicações onde precisa explicar decisões
  3. Baseline para classificação: Ponto de partida para modelos mais complexos
  4. Dados tabulares: Com features numéricas e categóricas

Considerações Práticas

Algumas recomendações importantes para uso eficaz:

  • Normalize os dados para melhor performance e convergência
  • Use LogisticRegressionCV para seleção automática do parâmetro C
  • Escolha o solver apropriado baseado no tamanho do dataset e tipo de regularização
  • Para problemas desbalanceados, use class_weight=’balanced’

Enfim, a regressão logística representa uma ferramenta fundamental no arsenal de machine learning, combinando simplicidade, interpretabilidade e performance robusta para uma ampla gama de problemas de classificação.

Referência: https://scikit-learn.org/0.21/modules/linear_model.html#logistic-regression

Modelos Lineares Generalizados: Busca por correspondência ortogonal

Anteriormente exploramos algoritmos como LARS e Lasso para problemas de regressão esparsa. Analogamente, a Busca por Correspondência Ortogonal (OMP) é outro algoritmo eficiente para aproximação esparsa que seleciona iterativamente as features mais correlacionadas com o resíduo atual.

Conceito Fundamental do OMP

Primordialmente, o OMP é um algoritmo guloso que resolve problemas de aproximação esparsa. Decerto, ele busca encontrar uma representação esparsa dos dados usando um número limitado de features (átomos) de um dicionário.

Conforme a documentação do scikit-learn, o OMP é particularmente útil quando sabemos antecipadamente o número de features que desejamos selecionar. Similarmente ao LARS, ele constrói a solução de forma incremental, mas com uma abordagem de projeção ortogonal.

Algoritmo OMP

O algoritmo opera através dos seguintes passos iterativos:

  1. Inicializar o resíduo com o target original
  2. Encontrar a feature mais correlacionada com o resíduo atual
  3. Adicionar essa feature ao conjunto ativo
  4. Resolver o problema de mínimos quadrados usando apenas as features ativas
  5. Atualizar o resíduo subtraindo a contribuição das features selecionadas
  6. Repetir até atingir o critério de parada

Formulação Matemática

O objetivo do OMP é resolver:

\(\min_{w} ||Xw – y||_2^2\)

Sujeito a:

\(||w||_0 \leq k\)

Onde:

  • X é a matriz de features
  • y é o vetor target
  • w são os coeficientes esparsos
  • k é o número máximo de features não-zero
  • ||w||₀ é a norma L0 (número de elementos não-zero)

Implementações no Scikit-learn

Atualmente, o scikit-learn oferece duas implementações principais:

  • OrthogonalMatchingPursuit: Implementação padrão do OMP
  • OrthogonalMatchingPursuitCV: Versão com validação cruzada para seleção automática do parâmetro n_nonzero_coefs

Parâmetros Principais

Os principais parâmetros para ajuste no OMP são:

  1. n_nonzero_coefs: Número máximo de coeficientes não-zero
  2. tol: Tolerância para erro de aproximação
  3. fit_intercept: Se deve calcular intercept
  4. normalize: Se deve normalizar as features

Exemplo Prático: OMP em Ação

Ademais, vejamos um exemplo completo demonstrando o uso do Orthogonal Matching Pursuit:

Vantagens do OMP

Embora existam vários algoritmos para regressão esparsa, o OMP oferece vantagens específicas:

Vantagens Principais

  • Controle direto: Especificação explícita do número de features
  • Eficiência computacional: Algoritmo guloso com complexidade controlada
  • Garantias teóricas: Boas propriedades de recuperação sob condições específicas
  • Interpretabilidade: Ordem de seleção fornece insights sobre importância

Casos de Uso Recomendados

O Orthogonal Matching Pursuit é particularmente eficaz em:

  1. Compressed sensing: Recuperação de sinais esparsos
  2. Seleção de features com orçamento fixo: Quando há limite no número de features
  3. Problemas com dicionários grandes: Onde apenas poucos átomos são relevantes
  4. Aplicações em tempo real: Onde eficiência computacional é crucial

Considerações Práticas

Algumas recomendações importantes para uso eficaz:

  • Use OrthogonalMatchingPursuitCV quando não souber o número ideal de features
  • Normalize os dados antes de aplicar OMP para melhor performance
  • Considere a correlação entre features, pois pode afetar a ordem de seleção
  • Para problemas muito grandes, verifique a escalabilidade do algoritmo

Enfim, o Orthogonal Matching Pursuit representa uma abordagem elegante e eficiente para problemas de aproximação esparsa, oferecendo controle direto sobre a esparsidade da solução e boas propriedades teóricas de recuperação.

Referência: https://scikit-learn.org/0.21/modules/linear_model.html#orthogonal-matching-pursuit-omp