Minha IBM Efetue login Inscreva-se

O que é análise discriminante linear (LDA)?

27 de novembro de 2023

O que é LDA?

A análise discriminante linear (LDA) é uma abordagem usada no aprendizado de máquina supervisionado para resolver problemas de classificação multiclasse. A LDA separa múltiplas classes com múltiplas funcionalidades por meio da redução da dimensionalidade dos dados. Essa técnica é importante na ciência de dados, pois ajuda a otimizar modelos de aprendizado de máquina.

A análise discriminante linear, também conhecida como análise discriminante normal (NDA) ou análise de funções discriminantes (DFA), segue um modelo generativo. Isso significa que os algoritmos de LDA modelam a distribuição dos dados para cada classe e utilizam o teorema de Bayes1 para classificar novos pontos de dados. O teorema de Bayes calcula probabilidades condicionais, isto é, a probabilidade de um evento ocorrer dado que outro evento já ocorreu. Os algoritmos de LDA fazem previsões usando Bayes para calcular a probabilidade de que um conjunto de dados de input pertença a uma determinada saída. Para uma visão geral da estatística bayesiana e seu impacto nos algoritmos de aprendizado supervisionado, consulte classificadores Naïve Bayes.

A LDA funciona identificando uma combinação linear de funcionalidades que separa ou caracteriza duas ou mais classes de objetos ou eventos. A LDA faz isso projetando dados com duas ou mais dimensões em uma única dimensão para facilitar a classificação. Por isso, essa técnica às vezes é chamada de redução de dimensionalidade. Essa versatilidade permite que a LDA seja usada para problemas de classificação multiclasse, ao contrário da regressão logística, que se limita à classificação binária. Dessa forma, a LDA é frequentemente aplicada para aprimorar o funcionamento de outros algoritmos de classificação, como decision treerandom forest ou máquinas de vetor de suporte (SVM).

A origem da análise discriminante linear

A análise discriminante linear (LDA) baseia-se no discriminante linear de Fisher, um método estatístico desenvolvido por Sir Ronald Fisher na década de 1930 e posteriormente generalizado por C. R. Rao para múltiplas classes. O método de Fisher busca identificar uma combinação linear de funcionalidades que discrimina entre duas ou mais classes de objetos ou eventos rotulados.

O método de Fisher reduz dimensões ao separar classes nos dados projetados. A separação significa maximizar a distância entre as médias projetadas e minimizar a variância projetada dentro das classes.

Uma aplicação prática da LDA

Suponha que um banco esteja decidindo se aprova ou rejeita pedidos de empréstimo. O banco usa duas funcionalidades para tomar essa decisão: a pontuação de crédito do solicitante e a renda anual.

Aqui, as duas funcionalidades ou classes são plotadas em um plano bidimensional (2D) com um eixo X-Y. Se tentássemos classificar aprovações usando apenas uma funcionalidade, poderíamos observar sobreposição. Aplicando a LDA, conseguimos traçar uma linha reta que separa completamente esses dois conjuntos de dados. A LDA faz isso ao utilizar os eixos X–Y para criar um novo eixo, separando as diferentes classes com uma linha reta e projetando os dados nesse novo eixo.

Para criar esse novo eixo e reduzir a dimensionalidade, a LDA segue os seguintes critérios:

  • Maximizar a distância entre as médias de duas classes.
  • Minimizar a variância dentro de classes individuais.

Propriedades e suposições da LDA

Os modelos de LDA operam projetando um espaço de funcionalidades, ou seja, um conjunto de dados com n dimensões, em um espaço menor "k", onde k é menor ou igual a n – 1, sem perder informações sobre as classes. Um modelo de LDA compreende as propriedades estatísticas calculadas para os dados em cada classe. Quando há múltiplas funcionalidades ou variáveis, essas propriedades são calculadas com base na distribuição Gaussiana multivariada3.

As multivariáveis são:

  • Médias
  • Matriz de covariância, que mede como cada variável ou característica se relaciona com as outras dentro da classe

As propriedades estatísticas estimadas a partir do conjunto de dados são inseridas na função da LDA para fazer previsões e criar o modelo de LDA. No entanto, é importante considerar algumas restrições, pois o modelo assume o seguinte:

  • O conjunto de dados de entrada tem uma distribuição gaussiana, onde a plotagem dos pontos de dados resulta em uma curva em forma de sino.
  • O conjunto de dados é linearmente separável, o que significa que a LDA pode traçar uma linha reta ou uma fronteira de decisão que separa os pontos de dados.
  • Cada classe tem a mesma matriz de covariância.

Por essas razões, a LDA pode não apresentar um bom desempenho em espaços de funcionalidades de alta dimensionalidade.

Papel dos autovetores e autovalores

A redução de dimensionalidade envolve a separação de pontos de dados por meio de uma linha reta. Matematicamente, as transformações lineares são analisadas usando autovetores e autovalores. Imagine que você tenha mapeado um conjunto de dados com múltiplas funcionalidades, resultando em um gráfico de dispersão multidimensional. Os autovetores fornecem a direção dentro do gráfico de dispersão. Os autovalores indicam a importância desses dados direcionais. Um autovalor alto significa que o autovetor associado é mais relevante.

Durante a redução de dimensionalidade, os autovetores são calculados a partir do conjunto de dados e organizados em duas matrizes de dispersão:

  • Matriz de dispersão entre classes (informações sobre a dispersão dos dados dentro de cada classe)
  • Matriz de dispersão dentro da classe (como as classes estão espalhadas entre si).
Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Preparação para implementação da análise discriminante linear

Para usar a LDA de forma eficaz, é essencial preparar o conjunto de dados com antecedência. Estas são as etapas e as melhores práticas para implementar a LDA:

1. Pré-processar os dados para garantir que eles estejam normalizados e centralizados

Isso é conseguido passando o parâmetro n_component da LDA, que identifica o número de discriminantes lineares a serem recuperados.

2. Escolher um número apropriado de dimensões para o espaço de menor dimensão

Isso é conseguido passando o parâmetro n_component da LDA, que identifica o número de discriminantes lineares a serem recuperados.

3. Regularize o modelo

A regularização visa impedir o overfitting, onde o modelo estatístico se ajusta exatamente aos seus dados de treinamento e compromete sua precisão.

4. Usar a validação cruzada para avaliar o desempenho do modelo

Você pode avaliar classificadores, como o LDA, ao plotar uma matriz de confusão, com os valores reais das classes dispostos em linhas e os valores previstos em colunas. Uma matriz de confusão facilita identificar se um classificador está confundindo duas classes, isto é, rotulando uma classe erroneamente como outra. Por exemplo, considere uma matriz de confusão 10 x 10 que prevê imagens dos dígitos de 0 a 9. Os valores reais são plotados em linhas no eixo y, enquanto as previsões são distribuídas em colunas no eixo x. Para verificar quantas vezes um classificador confundiu as imagens dos números 4 e 9 no exemplo da matriz 10 x 10, confira a 4ª linha e a 9ª coluna.

Como funciona a função discriminante linear

A função discriminante linear ajuda a tomar decisões em problemas de classificação, separando os pontos de dados com base nas funcionalidades e classificando-os em diferentes classes ou categorias. O processo de cálculo pode ser resumido nos seguintes passos-chave:

Calcular a variância entre classes

A variância entre classes é a separabilidade entre as classes — a distância entre as médias das classes.

Calcular a variância dentro da classe

A variância dentro da classe é a distância entre as médias das classes e as amostras.

Projetar os dados em um espaço de dimensão inferior

Isso maximiza a variância entre classes e minimiza a variância dentro da classe. Podemos representar matematicamente a função discriminante linear para duas classes com o seguinte.

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

Onde:

  • δ(x) representa a função discriminante linear.
  • x representa o ponto de dados de entrada.
  • μ0 e μ1 são as médias das duas classes.
  • σ2 é a variância comum dentro da classe.
  • P(ω0) e P(ω1) são as probabilidades prévias das duas classes.

Como aplicar o LDA com um exemplo

Vamos usar a equação para exemplificar um caso de aprovação de empréstimo. Para recapitular, o banco está decidindo se aprova ou rejeita as solicitações de empréstimo. O banco utiliza duas funcionalidades para tomar essa decisão: a pontuação de crédito do solicitante (x) e a renda anual. O banco coletou dados históricos de solicitações anteriores e se os empréstimos foram aprovados.

  • A classe ω0 representa "Empréstimo rejeitado."
  • Aclasse ω 1 representa o "Empréstimo aprovado".

Utilizando a função discriminante linear, o banco pode calcular uma pontuação (δ(x)) para cada solicitação de empréstimo. 

A equação para a função discriminante linear pode ser semelhante a esta:

δ(x) = x * ( σ2 * (μ01) - 2 * σ2 * (μ0212) + ln(P(w0) / P(w1)))

  • x representa a pontuação de crédito e a renda anual do solicitante.
  • μ0 e μ1 são as médias dessas funcionalidades para as duas classes: "Empréstimo rejeitado" e "Empréstimo aprovado".
  • σ2 é a variância comum dentro da classe.
  • P(ω0) é a probabilidade anterior de "Empréstimo rejeitado" e P(ω1) é a probabilidade anterior de "Empréstimo aprovado".

O banco calcula a função discriminante linear para cada pedido de empréstimo.

  • Se δ(x) for positivo, indica que o pedido de empréstimo tem mais chances de ser aprovado.
  • Se δ(x) for negativo, indica que o pedido de empréstimo tem mais chances de ser rejeitado.

O banco pode, assim, automatizar seu processo de aprovação de empréstimo, tomando decisões mais rápidas e consistentes, minimizando o viés humano.

Aplicações da análise discriminante linear

Estes são cenários típicos onde a LDA pode ser aplicada para lidar com problemas complexos e ajudar as organizações a tomar melhores decisões.

Avaliação de risco de crédito em finanças

Para mitigar o risco, as instituições financeiras devem identificar e minimizar o inadimplemento de crédito. A LDA pode ajudar a identificar solicitantes que podem ter probabilidade de inadimplir empréstimos e aqueles que são dignos de crédito, examinando fatores financeiros e dados de comportamento.

Diagnóstico de doenças na área da saúde

Um diagnóstico rápido e preciso de doenças é fundamental para um tratamento eficaz. Hospitais e prestadores de serviços de saúde precisam interpretar uma grande quantidade de dados médicos. O LDA ajuda a simplificar conjuntos de dados complexos e a melhorar a precisão diagnóstica ao identificar padrões e relações nos dados dos pacientes.

Segmentação de clientes no comércio eletrônico

Para um marketing eficaz, empresas de e-commerce devem ser capazes de categorizar bases de clientes diversificadas. O LDA é essencial na segmentação dos clientes, permitindo que as empresas ajustem suas estratégias de marketing para diferentes grupos de consumidores. O resultado é uma experiência de compra mais personalizada, aumentando a fidelidade dos clientes e as vendas.

Controle de qualidade na fabricação

Produzir produtos de alta qualidade enquanto se minimizam os defeitos é um desafio fundamental. Dados de sensores de maquinário podem ser utilizados com o LDA para identificar padrões associados a defeitos. Ao detectar irregularidades em tempo real, os fabricantes podem tomar ações corretivas imediatas, melhorando a qualidade do produto e reduzindo o desperdício.

Otimização de campanhas de marketing

Você pode maximizar seu orçamento de publicidade ao direcionar conteúdo personalizado para o público certo, mas identificar esses segmentos de audiência pode ser complicado. O LDA pode simplificar esse processo ao classificar os atributos e comportamentos dos clientes, aprimorando a personalização das campanhas publicitárias. Essa abordagem pode levar a um ROI maior e a uma melhor experiência do cliente.

Análise discriminante linear e Python

Para aprofundar-se na análise discriminante linear com Python e aproveitar a biblioteca scikit-learn, explore este tutorial Aprenda algoritmos de classificação usando Python e scikit-learn no IBM watsonx. O tutorial apresenta os conceitos básicos para resolver um problema de aprendizado de máquina baseado em classificação utilizando Python e scikit-learn (também conhecida como sklearn).

Para o tutorial passo a passo, você primeiro importará as bibliotecas Python necessárias para trabalhar com o conjunto de dados Iris, realizará o pré-processamento de dados e criará e avaliará seu modelo LDA:

<Python code snippet>

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import seaborn as sns
from sklearn.preprocessing import StandardScaler, LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

Se as bibliotecas não estiverem instaladas, você pode resolver isso usando pip install.

Veja também a scikit-learn documentação para uma visão geral dos principais parâmetros, atributos e exemplos gerais de implementações em Python utilizando sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Vantagens e desvantagens de usar a análise discriminante linear

Entender as vantagens e limitações da análise discriminante linear (LDA) é crucial ao aplicá-la em diversos problemas de classificação. Compreender os tradeoffs ajuda cientistas de dados e profissionais de machine learning a tomar decisões fundamentadas sobre sua adequação a uma tarefa específica.

Principais vantagens

  • Utilizar simplicidade e eficiência de computação: LDA é um algoritmo simples, mas poderoso. É relativamente fácil de entender e implementar, tornando-o acessível para quem é novo no aprendizado de máquina. Além disso, seu cálculo eficiente garante resultados rápidos.
  • Gerenciar dados de alta dimensão: o LDA é eficaz quando o número de recursos é maior que o número de amostras de treinamento. Portanto, o LDA é valioso em aplicações como análise de texto, reconhecimento de imagem e genômica, onde os dados geralmente são de alta dimensão.
  • Lidar com multicolinearidade: o LDA pode abordar a multicolinearidade, que é a presença de altas correlações entre diferentes características. Ele transforma os dados em um espaço de dimensão inferior, mantendo a integridade das informações.

Principais desvantagens

- Distribuições de médias compartilhadas: O LDA enfrenta desafios quando as distribuições das classes possuem médias iguais. O LDA tem dificuldade em criar um novo eixo que separe linearmente ambas as classes. Como resultado, o LDA pode não discriminar de forma eficaz entre classes com propriedades estatísticas sobrepostas. Por exemplo, imagine um cenário em que duas espécies de flores possuem comprimentos e larguras de pétalas muito semelhantes. O LDA pode encontrar dificuldades para separar essas espécies com base apenas nessas funcionalidades. Técnicas alternativas, como métodos de análise discriminante não linear, são preferíveis nesse caso.

- Não é adequado para dados não rotulados: O LDA é aplicado como um algoritmo de aprendizado supervisionado, isto é, classifica ou separa dados rotulados. Em contraste, a análise de componentes principais (PCA), outra técnica de redução de dimensionalidade, ignora os rótulos das classes e preserva a variância.

Soluções relacionadas

Soluções relacionadas

IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real