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

O que é LDA?

A análise discriminante linear (LDA) é uma abordagem usada em aprendizado de máquina supervisionado para resolver problemas de classificação multiclasses. A LDA separa várias classes com várias 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ção discriminante (DFA), segue um framework de modelo generativo. Isso significa que os algoritmos LDA modelam a distribuição de dados para cada classe e usam o teorema de Bayes1 para classificar novos pontos de dados. Bayes calcula probabilidades condicionais — a probabilidade de um evento, dado que algum outro evento ocorreu. Os algoritmos LDA fazem previsões usando Bayes para calcular a probabilidade de um conjunto de dados de entrada pertencer a uma determinada saída. Para uma revisão da estatística bayesiana e como ela impacta os 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 dimensão para que possam ser classificados mais facilmente. A técnica é, portanto, às vezes chamada de redução de dimensionalidade. Essa versatilidade garante que a LDA possa ser usada para problemas de classificação de dados com várias classes, ao contrário da regressão logística, que se limita à classificação binária. Portanto, a LDA é frequentemente aplicada para aprimorar o funcionamento de outros algoritmos de classificação de aprendizado, como decision treesrandom forests ou máquinas de vetores de suporte (SVM).

Gráfico mostrando o efeito em um cluster de dados antes e depois da aplicação dos métodos LDA

A origem da análise discriminante linear

A análise discriminante linear (LDA) é baseada no discriminante linear de Fisher, um método estatístico desenvolvido por Sir Ronald Fisher na década de 1930 e, posteriormente, simplificado por C. R. Rao como uma versão multiclasse. O método de Fisher visa 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 as dimensões ao separar as classes de 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 as aprovações usando apenas uma funcionalidade, poderíamos observar sobreposição. Aplicando a LDA, podemos traçar uma linha reta que separa completamente esses dois pontos de dados de classe. A LDA consegue isso usando o eixo 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 estes 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

As LDAs 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 da classe. Um modelo LDA abrange as propriedades estatísticas calculadas para os dados em cada classe. Onde há várias funcionalidades ou variáveis, essas propriedades são calculadas sobre a 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 que são estimadas a partir do conjunto de dados são alimentadas na função LDA para fazer previsões e criar o modelo LDA. Existem algumas restrições a serem consideradas, pois o modelo pressupõe 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 um limite 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 ter um bom desempenho em espaços de funcionalidades de alta dimensão.

Papel dos autovetores e autovalores

A redução da dimensionalidade envolve a separação de pontos de dados com uma linha reta. Matematicamente, as transformações lineares são analisadas usando autovetores e autovalores. Imagine que você mapeou um conjunto de dados com várias 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 denotam a importância desses dados direcionais. Um autovalor elevado significa que o autovetor associado é mais crítico.

Durante a redução de dimensionalidade, os autovetores são calculados a partir do conjunto de dados e coletados 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).

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

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é-processe 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 a seus dados de treinamento e compromete sua precisão.

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

É possível avaliar classificadores como a LDA plotando uma matriz de confusão, com os valores reais da classe como linhas e os valores previstos da classe como colunas. Uma matriz de confusão facilita ver se um classificador está confundindo duas classes — ou seja, rotulando incorretamente uma classe como outra. Por exemplo, considere uma matriz de confusão 10 x 10 prevendo imagens de zero a nove. Os valores reais são plotados em linhas no eixo y. As previsões são plotadas em colunas no eixo x. Para ver quantas vezes um classificador confundiu imagens de 4s e 9s no exemplo da matriz de confusão 10 x 10, você verificaria a 4ª linha e a 9ª coluna.

uma matriz de confusão, traçando valores reais versus previsões

Como funciona a função discriminante linear

A função discriminante linear auxilia na tomada de decisões em problemas de classificação, separando pontos de dados com base em características e classificando-os em diferentes classes ou categorias. O processo de cálculo pode ser resumido nestas etapas principais:

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 a função discriminante linear para duas classes matematicamente 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 anteriores das duas classes.

Como aplicar o LDA com um exemplo

Vamos usar a equação para analisar um exemplo de aprovação de empréstimo. Para recapitular, o banco está decidindo se aprova ou rejeita os pedidos de empréstimo. O banco usa dois recursos para tomar essa decisão: a pontuação de crédito do solicitante (x) e a renda anual. O banco coletou dados históricos sobre solicitantes de empréstimos anteriores e se os empréstimos foram aprovados.

  • A classe ω0 representa "Empréstimo rejeitado."
  • A classe ω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, sugere que o pedido de empréstimo tem mais probabilidade 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 é crucial para um tratamento eficaz. Hospitais e prestadores de serviços de saúde devem interpretar uma quantidade imensa de dados médicos. A LDA ajuda a simplificar conjuntos de dados complexos e melhorar a precisão do diagnóstico, identificando padrões e relações nos dados dos pacientes.

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

Para um marketing eficaz, as empresas de comércio eletrônico devem ser capazes de categorizar bases de clientes diversificadas. A LDA é fundamental na segmentação de clientes, permitindo que as empresas de comércio eletrônico adaptem suas estratégias de marketing para diferentes grupos de clientes. O resultado são experiências de compra mais personalizadas, aumentando a fidelidade do cliente e as vendas.

Controle de qualidade na fabricação

Produzir bens de alta qualidade, minimizando os defeitos, é um desafio fundamental. Os dados dos sensores das máquinas podem ser usados com a LDA para identificar padrões associados a defeitos. Ao detectar irregularidades em tempo real, os fabricantes podem tomar medidas corretivas imediatas e melhorar a qualidade do produto e reduzir o desperdício.

Otimização de campanhas de marketing

Você pode maximizar seu orçamento de publicidade segmentando o público certo com conteúdo personalizado, mas identificar esses respectivos segmentos de público pode ser difícil. A LDA pode simplificar esse processo classificando os atributos e comportamentos dos clientes, aprimorando a personalização das campanhas publicitárias. Essa abordagem pode levar a um maior retorno sobre o investimento (ROI) e a uma melhor experiência do cliente.

AI Academy

Coloque a IA para trabalhar no serviço ao cliente

Veja como a IA generativa pode encantar os clientes com uma experiência mais integrada e aumentar a produtividade da organização nessas três áreas importantes: autoatendimento, agentes humanos e operações da central de contato.

Análise discriminante linear e Python

Para se aprofundar na análise discriminante linear com Python e aproveitar a biblioteca scikit-learn , você pode explorar este tutorial Aprenda algoritmos de classificação usando Python e scikit-learn no IBM Watsonx. O tutorial ajuda você com os fundamentos da solução de um problema de aprendizado de máquina baseado em classificação usando Python e scikit-learn (também conhecido 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.

Consulte também esta documentação do scikit-learn para obter uma visão geral dos principais parâmetros, atributos e exemplos gerais de implementações do Python usando sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Vantagens e desvantagens de usar a análise discriminante linear

Compreender as vantagens e limitações da análise discriminante linear (LDA) é crucial ao aplicá-la a vários problemas de classificação. O conhecimento das vantagens e desvantagens ajuda os cientistas de dados e profissionais de aprendizado de máquina a tomar decisões informadas sobre sua adequação para uma tarefa específica.

Principais vantagens

  • Simplicidade e eficiência computacional: A LDA é um algoritmo simples, mas poderoso. É relativamente fácil de entender e implementar, tornando-o acessível para aqueles que são novos no aprendizado de máquina. Além disso, sua computação eficiente garante resultados rápidos.
  • Gerenciar dados de alta dimensão: a LDA é eficaz onde o número de funcionalidades é maior do que o número de amostras de treinamento. Portanto, a LDA é valiosa em aplicações como análise de texto, reconhecimento de imagens e genômica, onde os dados geralmente são de alta dimensão.
  • Lidar com multicolinearidade: a LDA pode abordar a multicolinearidade, que é a presença de altas correlações entre diferentes funcionalidades. Ela transforma os dados em um espaço de menor dimensão e, ao mesmo tempo, mantém a integridade das informações.

Principais desvantagens

Distribuições de média compartilhadas: A LDA encontra desafios quando as distribuições de classe compartilham médias. A LDA tem dificuldade em criar um novo eixo que separe linearmente ambas as classes. Como resultado, a LDA pode não discriminar efetivamente entre classes com propriedades estatísticas sobrepostas. Por exemplo, imagine um cenário em que duas espécies de flores têm comprimento e largura de pétala muito semelhantes. A LDA pode ter dificuldade em separar essas espécies com base apenas nessas características. Técnicas alternativas, como métodos de análise discriminante não linear, são preferidas aqui.

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

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