Inicio

Topics

Análisis discriminante lineal

¿Qué es el análisis discriminante lineal (LDA)?
Explore las soluciones de LDA de IBM Regístrese para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos

Publicado: 27 de noviembre de 2023

¿Qué es el LDA?

El análisis discriminante lineal (LDA) es un enfoque utilizado en el machine learning supervisado para resolver problemas de clasificación multiclase. LDA separa múltiples clases con múltiples características mediante la reducción de la dimensionalidad de los datos. Esta técnica es importante en la ciencia de datos, ya que ayuda a optimizar los modelos de machine learning.

El análisis discriminante lineal, también conocido como análisis discriminante normal (NDA) o análisis de función discriminante (DFA), sigue un marco de modelo generativo. Esto significa que los algoritmos LDA modelan la distribución de datos para cada clase y utilizan el teorema1 de Bayes (enlace externo a ibm.com) para clasificar nuevos puntos de datos. Bayes calcula probabilidades condicionales, es decir, la probabilidad de que se produzca un suceso si se ha producido otro. Los algoritmos LDA realizan predicciones utilizando Bayes para calcular la probabilidad de que un conjunto de datos de entrada pertenezca a un output determinado. Para una revisión de la estadística bayesiana y su repercusión en los algoritmos de aprendizaje supervisado, véase clasificadores Naïve Bayes

El LDA funciona identificando una combinación lineal de características que separa o caracteriza dos o más clases de objetos o sucesos. El LDA hace esto proyectando datos con dos o más dimensiones en una sola dimensión para que puedan clasificarse más fácilmente. Por ello, a veces se denomina a esta técnica reducción de la dimensionalidad. Esta versatilidad garantiza que el LDA pueda utilizarse para problemas de clasificación de datos multiclase, a diferencia de la regresión logística, que se limita a la clasificación binaria. Por lo tanto, el LDA se aplica a menudo para mejorar el funcionamiento de otros algoritmos de clasificación de aprendizaje, como los árboles de decisiónel bosque aleatorio o las máquinas de vectores de soporte (SVM).

El origen del análisis discriminante lineal

El análisis discriminante lineal (LDA) se basa en el discriminante lineal de Fisher, un método estadístico desarrollado por Sir Ronald Fisher en la década de 1930 y simplificado posteriormente por C. R. Rao como versión multiclase. El método de Fisher pretende identificar una combinación lineal de características que discrimine entre dos o más clases de objetos o sucesos etiquetados. 

El método de Fisher reduce las dimensiones separando clases de datos proyectados. Separar significa maximizar la distancia entre las medias proyectadas y minimizar la varianza proyectada dentro de las clases. 

Una aplicación práctica del LDA

Supongamos que un banco está decidiendo si aprueba o rechaza solicitudes de préstamo. El banco utiliza dos características para tomar esta decisión: la puntuación crediticia del solicitante y sus ingresos anuales. 

Aquí, las dos características o clases se trazan en un plano bidimensional (2D) con un eje X-Y. Si intentáramos clasificar las aprobaciones utilizando una sola característica, podríamos observar solapamientos. Aplicando LDA, podemos trazar una línea recta que separa completamente estos dos puntos de datos de clase. El LDA lo consigue utilizando el eje X-Y para crear un nuevo eje, separando las distintas clases con una línea recta y proyectando los datos sobre el nuevo eje. 

Para crear este nuevo eje y reducir la dimensionalidad, el LDA sigue estos criterios:

  • Maximizar la distancia entre las medias de dos clases.
  • Minimizar la varianza dentro de las clases individuales.
Propiedades y supuestos del LDA

Los LDA funcionan proyectando un espacio de características, es decir, un conjunto de datos con n dimensiones, en un espacio más pequeño "k", donde k es menor o igual que n - 1, sin perder información de clase. Un modelo LDA comprende las propiedades estadísticas que se calculan para los datos de cada clase. Cuando hay varias entidades o variables, estas propiedades se calculan sobre la distribución multivariante de Gauss3 (enlace externo a ibm.com). 

Las multivariables son:

  • Medias
  • Matriz de covarianza, que mide cómo se relaciona cada variable o característica con otras dentro de la clase

Las propiedades estadísticas que se estiman a partir del conjunto de datos se introducen en la función LDA para realizar predicciones y crear el modelo LDA. Hay que tener en cuenta algunas limitaciones, ya que el modelo parte de los siguientes supuestos:

  • El conjunto de datos de entrada tiene una distribución gaussiana, en la que el trazado de los puntos de datos da una curva en forma de campana.
  • El conjunto de datos es linealmente separable, lo que significa que LDA puede trazar una línea recta o un límite de decisión que separe los puntos de datos.
  • Cada clase tiene la misma matriz de covarianza. 

Por estas razones, el LDA puede no funcionar bien en espacios de características de alta dimensión. 

IBM nombrada líder por IDC

Lea por qué IBM ha sido nombrada líder en el informe IDC MarketScape: Worldwide AI Governance Platforms 2023.

Contenido relacionado Regístrese para obtener el libro electrónico en Presto
Función de los vectores y valores propios

La reducción de la dimensionalidad consiste en separar los puntos de datos con una línea recta. Matemáticamente, las transformaciones lineales se analizan mediante vectores y valores propios. Imagine que ha trazado un conjunto de datos con múltiples características, lo que da lugar a un gráfico de dispersión multidimensional. Los vectores propios proporcionan la "dirección" dentro del diagrama de dispersión. Los valores propios denotan la importancia de estos datos direccionales. Un valor propio alto significa que el vector propio asociado es más crítico. 

Durante la reducción de la dimensionalidad, los vectores propios se calculan a partir del conjunto de datos y se recogen en dos matrices de dispersión:

  • Matriz de dispersión entre clases (información sobre la dispersión de los datos dentro de cada clase)
  • Matriz de dispersión dentro de la clase (cómo se reparten las clases entre sí).
Preparación de la aplicación del análisis discriminante lineal 

Para utilizar eficazmente el LDA, es esencial preparar previamente el conjunto de datos. Estos son los pasos y las buenas prácticas a seguir en la aplicación del LDA:

1. Preprocesar los datos para asegurarse de que están normalizados y centrados

Esto se logra pasando el parámetro de componente n del LDA, que identifica el número de discriminantes lineales a recuperar.

2. Elegir un número apropiado de dimensiones para el espacio de dimensión inferior

Esto se logra pasando el parámetro de componente n del LDA, que identifica el número de discriminantes lineales a recuperar.

3. Regularizar el modelo 

La regularización pretende evitar el sobreajuste, en el que el modelo estadístico se ajusta exactamente a sus datos de entrenamiento y socava su precisión. 

4. Uso de la validación cruzada para evaluar el rendimiento del modelo

Puede evaluar clasificadores como el LDA trazando una matriz de confusión, con los valores de clase reales como filas y los valores de clase predichos como columnas. Una matriz de confusión permite ver fácilmente si un clasificador confunde dos clases, es decir, si etiqueta erróneamente una clase como otra. Por ejemplo, consideremos una matriz de confusión de 10 x 10 que predice imágenes de cero a nueve. Los valores reales se representan en filas en el eje Y. Las predicciones se representan en columnas en el eje x. Para ver cuántas veces un clasificador confundió imágenes de 4 y 9 en el ejemplo de matriz de confusión de 10 x 10, se comprobaría la 4a fila y la 9a columna.

 

Cómo funciona la función discriminante lineal

La función discriminante lineal ayuda a tomar decisiones en problemas de clasificación separando los puntos de datos en función de las características y clasificándolos en diferentes clases o categorías. El proceso de cálculo puede resumirse en estos pasos clave:

Calcular la varianza entre clases

La varianza entre clases es la separabilidad entre clases, es decir, la distancia entre las medias de las clases.

Calcular la varianza dentro de la clase

La varianza dentro de la clase es la distancia entre las medias de las clases y las muestras.

Proyectar los datos en un espacio de dimensiones inferiores 

Esto maximiza la varianza entre clases y minimiza la varianza dentro de la clase. Podemos representar matemáticamente la función discriminante lineal para dos clases con la siguiente ecuación.

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

Donde:

  • δ (x) representa la función discriminante lineal.
  • x representa el punto de datos de entrada.
  • μ0 y μ1 son las medias de las dos clases.
  • σ2 es la varianza común dentro de la clase.
  • P(ω0) y P(ω1) son las probabilidades a priori de las dos clases.

 

Aplicación del LDA con un ejemplo

Utilicemos la ecuación para trabajar con un ejemplo de aprobación de un préstamo. Para recapitular, el banco decide si aprueba o rechaza las solicitudes de préstamo. El banco utiliza dos características para tomar esta decisión: la puntuación crediticia del solicitante (x) y sus ingresos anuales. El banco ha recopilado datos históricos sobre solicitantes de préstamos anteriores y si los préstamos fueron aprobados.

  • La clase ω0 representa "Préstamo rechazado".
  • La clase ω1 representa "Préstamo aprobado".

Mediante la función discriminante lineal, el banco puede calcular una puntuación (δ(x)) para cada solicitud de préstamo. 

La ecuación de la función discriminante lineal podría ser la siguiente:

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

  • x representa la puntuación de crédito y los ingresos anuales del solicitante.
  • μ0 y μ1 son las medias de estas características para las dos clases: "Préstamo rechazado" y "Préstamo aprobado".
  • σ2 es la varianza común dentro de la clase.
  • P(ω0) es la probabilidad a priori de "Préstamo rechazado", y P(ω1) es la probabilidad a priori de "Préstamo aprobado".

El banco calcula la función discriminante lineal para cada solicitud de préstamo.

  • Si δ(x) es positivo, sugiere que es más probable que se apruebe la solicitud de préstamo.
  • Si δ (x) es negativo, sugiere que es más probable que se rechace la solicitud de préstamo.

De este modo, el banco puede automatizar su proceso de aprobación de préstamos, tomar decisiones más rápidas y coherentes y minimizar los sesgos humanos.

Aplicaciones del análisis discriminante lineal

Estos son escenarios típicos en los que puede aplicarse LDA para abordar problemas complejos y ayudar a las organizaciones a tomar mejores decisiones.

Evaluación del riesgo crediticio en finanzas

Para mitigar el riesgo, las instituciones financieras deben identificar y minimizar los impagos. El LDA puede ayudar a distinguir a los solicitantes con probabilidades de impago de los que son solventes mediante el análisis de factores financieros y datos de comportamiento.  

Diagnóstico de enfermedades en la asistencia sanitaria

Un diagnóstico rápido y preciso de la enfermedad es crucial para un tratamiento eficaz. Los hospitales y los proveedores sanitarios deben interpretar una inmensa cantidad de datos médicos. El LDA ayuda a simplificar conjuntos de datos complejos y a mejorar la precisión diagnóstica mediante la identificación de patrones y relaciones en los datos de los pacientes.

Segmentación de clientes en el comercio electrónico

Para una comercialización eficaz, las empresas de comercio electrónico deben ser capaces de categorizar diversas bases de clientes. El LDA es fundamental para segmentar a los clientes, lo que permite a las empresas de comercio electrónico adaptar sus estrategias de marketing a los distintos grupos de clientes. El resultado son experiencias de compra más personalizadas, que aumentan la fidelidad de los clientes y las ventas.

Control de calidad en la fabricación

Producir bienes de alta calidad minimizando los defectos es un reto fundamental. Los datos de los sensores de la maquinaria pueden utilizarse con el LDA para identificar patrones asociados a defectos. Al detectar irregularidades en tiempo real, los fabricantes pueden tomar medidas correctivas inmediatas, y pueden mejorar la calidad del producto y reducir las mermas.

Optimización de campañas de marketing

Puede maximizar su presupuesto publicitario dirigiéndose al público adecuado con contenidos personalizados, pero identificar esos segmentos de audiencia respectivos puede resultar difícil. El LDA puede simplificar este proceso clasificando los atributos y comportamientos de los clientes, mejorando la personalización de las campañas publicitarias. Este enfoque puede conducir a un mayor retorno de la inversión (ROI) y a una mejor experiencia del cliente.

Análisis discriminante lineal y Python

Para profundizar en el análisis discriminante lineal con Python y aprovechar la biblioteca scikit-learn (enlace externo a ibm.com), puede consultar este tutorial: Learn classification algorithms using Python and scikit-learn en watsonx.El tutorial le ayuda con lo básico para resolver un problema de machine learning basado en la clasificación con Python y scikit-learn (enlace externo a ibm.com) (también conocido como sklearn). 

En el tutorial paso a paso, primero importará las bibliotecas de Python necesarias para trabajar con el conjunto de datos Iris, realizará el preprocesamiento de datos y creará y evaluará su 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

Si las librerías no están instaladas, puede resolverlo usando pip install.

Consulte también esta documentación de scikit-learn  (enlace externo a ibm.com) para obtener una descripción general de los parámetros clave, atributos y ejemplos generales de implementaciones de Python utilizando sklearn.discriminant_analysis.LinearDiscriminantAnalysis.

Implementación del análisis discriminante lineal (LDA) en Python

Aplique el análisis discriminante lineal como técnica de reducción de la dimensionalidad para optimizar el rendimiento de su modelo.

Ventajas e inconvenientes del análisis discriminante lineal

Comprender las ventajas y limitaciones del análisis discriminante lineal (LDA) es crucial a la hora de aplicarlo a diversos problemas de clasificación. El conocimiento de las compensaciones ayuda a los científicos de datos y a los profesionales del machine learning a tomar decisiones informadas sobre su idoneidad para una tarea concreta.

Ventajas clave
  • Utilizar la simplicidad y la eficiencia de la computación: el LDA es un algoritmo simple pero potente. Es relativamente fácil de entender y aplicar, lo que lo hace accesible a quienes se inician en el machine learning. Además, su eficaz cálculo garantiza resultados rápidos.
  • Gestionar datos de alta dimensión: el LDA es eficaz cuando el número de características es mayor que el número de muestras de entrenamiento. Por lo tanto, el LDA es útil en aplicaciones como el análisis de texto, el reconocimiento de imágenes y la genómica, donde los datos suelen ser de alta dimensionalidad.
  • Manejar la multicolinealidad: el LDA puede abordar la multicolinealidad, que es la presencia de altas correlaciones entre diferentes características. Transforma los datos a un espacio de menor dimensión manteniendo la integridad de la información.
Inconvenientes principales

- Distribuciones medias compartidas: el LDA se enfrenta a retos cuando las distribuciones de clases comparten medias. El LDA lucha por crear un nuevo eje que separe linealmente ambas clases. Como resultado, LDA podría no discriminar eficazmente entre clases con propiedades estadísticas que se solapan. Por ejemplo, imaginemos un escenario en el que dos especies de flores tienen una longitud y una anchura de pétalos muy similares. El LDA puede tener dificultades para separar estas especies basándose únicamente en estas características. En este caso se prefieren técnicas alternativas, como los métodos de análisis discriminante no lineal.

- No adecuado para datos no etiquetados: El LDA se aplica como algoritmo de aprendizaje supervisado, es decir, clasifica o separa datos etiquetados. En cambio, el análisis de componentes principales (PCA), otra técnica de reducción de dimensiones, ignora las etiquetas de clase y preserva la varianza.

 

Productos relacionados
Servicios de consultoría de IA

Reimagine su forma de trabajar con IA: nuestro equipo diverso y global de más de 20 000 expertos en IA puede ayudarle a diseñar y escalar la IA y la automatización en toda su empresa con rapidez y confianza, trabajando con nuestra propia tecnología IBM watsonx y un ecosistema abierto de socios para ofrecer cualquier modelo de IA, en cualquier nube, guiado por la ética y la confianza.

Explore servicios de consultoría de IA de IBM
Soluciones de IA

Haga operativa la IA en toda su empresa para obtener beneficios de forma rápida y ética.  Nuestra amplia cartera de productos de IA y soluciones analíticas de nivel empresarial está diseñada para reducir los obstáculos de la adopción de la IA y establecer la base de datos adecuada, al tiempo que se optimizan los resultados y el uso responsable.

Explore las soluciones de IA de IBM

IBM watsonx

Multiplique el poder de la IA con nuestra plataforma de IA y datos de última generación. IBM watsonx es una cartera de herramientas, aplicaciones y soluciones listas para el negocio, diseñadas para reducir los costos y los obstáculos de la adopción de la IA, al tiempo que optimiza los resultados y el uso responsable de la IA.

Explore watsonx

Recursos para el análisis discriminante lineal Análisis discriminante del vecino más próximo para el reconocimiento de idiomas

IBM Research presenta una técnica alternativa de análisis discriminante no paramétrico (NDA) que utiliza la regla del vecino más próximo.

Aplicaciones del análisis discriminante lineal

Descubra otras aplicaciones del análisis discriminante lineal en distintos sectores.

Generación automática de taxonomías jerárquicas para la categorización de textos

IBM Research utiliza un enfoque de proyección discriminante lineal para construir niveles más significativos de jerarquías en un conjunto plano de categorías generado.

Implementación del análisis discriminante lineal (LDA) en Python

Aplique el análisis discriminante lineal como técnica de reducción de la dimensionalidad para optimizar el rendimiento de su modelo.

Dé el siguiente paso

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para constructores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Solicite una demostración en directo
Notas a pie de página

1 James Joyce. Bayes' Theorem. Stanford Encyclopedia of Philosophy. 2003 (enlace externo a ibm.com)

2Dan A. Simovici. Lecture notes on Fisher Linear Discriminant Name. 2013

Penn State Eberly College of Science. Linear Discriminant Analysis. 2023 (enlace externo a ibm.com)

J. T. Oates. Lecture notes on Linear Discriminant Analysis. 2014 (enlace externo a ibm.com)

Guangliang Chen. Lecture notes on Linear Discriminant Analysis (LDA). 2020 (enlace externo a ibm.com)

6, 7 sci-kit learn. Linear and Quadratic Discriminant Analysis. 2023 (enlace externo a ibm.com)