El análisis discriminante lineal (LDA) es un enfoque utilizado en el machine learning supervisado para resolver problemas de clasificación multiclase. El 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 (ADN) o análisis de función discriminante (AFD), sigue un marco de modelo generativo. Esto significa que los algoritmos LDA modelan la distribución de datos para cada clase y utilizan el teorema de Bayes1 para clasificar los nuevos puntos de datos. Bayes calcula las probabilidades condicionales, es decir, la probabilidad de que ocurra un suceso dado que ha ocurrido algún otro suceso. Los algoritmos LDA hacen predicciones utilizando Bayes para calcular la probabilidad de que un conjunto de datos de entrada pertenezca a una salida determinada. Para una revisión de la estadística bayesiana y cómo afecta a los algoritmos de aprendizaje supervisado, consulte los clasificadores de 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. Para ello, el LDA proyecta datos con dos o más dimensiones en una sola dimensión, de modo 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 regresión logística, que se limita a la clasificación binaria. Por ello, el LDA se aplica a menudo para mejorar el funcionamiento de otros algoritmos de clasificación de aprendizaje como árboles de decisión, el bosque aleatorio o las máquinas de vectores de soporte (SVM).
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.
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. Al aplicar LDA, podemos trazar una línea recta que separa completamente estos dos puntos de datos de clase. El LDA lo hace 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:
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.
Las multivariables son:
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:
Por estas razones, el LDA puede no funcionar bien en espacios de características de alta dimensión.
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:
Para utilizar eficazmente el LDA, es esencial preparar previamente el conjunto de datos. Estos son los pasos y las buenas prácticas que se deben seguir para implementar el 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 busca evitar el sobreajuste, donde el modelo estadístico se ajusta exactamente a sus datos de entrenamiento y menoscaba su precisión.
4. Usar la validación cruzada para evaluar el rendimiento del modelo
Puede evaluar clasificadores como LDA trazando una matriz de confusión, con valores de clase reales como filas y valores de clase previstos como columnas. Una matriz de confusión facilita ver si un clasificador está confundiendo dos clases, es decir, etiquetando erróneamente una clase como otra. Por ejemplo, considere una matriz de confusión de 10 x 10 que predice imágenes de cero a 9. Los valores reales se trazan en filas en el eje y. Las predicciones se trazan en columnas en el eje x. Para ver cuántas veces un clasificador confundió imágenes de 4s y 9s en el ejemplo de matriz de confusión 10 x 10, comprobaría la 4a fila y la 9a columna.
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:
La varianza entre clases es la separabilidad entre clases, es decir, la distancia entre las medias de las clases.
La varianza dentro de la clase es la distancia entre las medias de las clases y las muestras.
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.
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Donde:
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.
Mediante la función discriminante lineal, el banco puede calcular una puntuación (δ(x)) para cada solicitud de préstamo.
La ecuación para la función discriminante lineal podría parecerse a esto:
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
El banco calcula la función discriminante lineal para cada 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.
Estos son escenarios típicos en los que puede aplicarse LDA para abordar problemas complejos y ayudar a las organizaciones a tomar mejores decisiones.
Para mitigar el riesgo, las instituciones financieras deben identificar y minimizar los impagos. El LDA puede ayudar a identificar a los solicitantes que pueden tener probabilidades de impago en comparación con los que son solventes al analizar los factores financieros y los datos de comportamiento.
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.
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.
Producir bienes de alta calidad mientras se minimizan 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.
Puede maximizar su presupuesto publicitario si se dirige al público adecuado con contenidos personalizados, pero identificar esos respectivos segmentos de audiencia 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.
Para profundizar en el análisis discriminante lineal con Python y aprovechar la biblioteca scikit-learn, puede explorar este tutorial Learn classification algorithms using Python and scikit-learn en IBM watsonx. El tutorial le ayuda con los conceptos básicos para resolver un problema de machine learning basado en clasificaciones utilizando Python y scikit-learn (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 bibliotecas no están instaladas, puede resolverlo usando pip install.
Consulte también esta documentación de scikit-learn para obtener una descripción general de los parámetros clave, atributos y ejemplos generales de implementaciones de Python utilizando sklearn.discriminant_analysis.LinearDiscriminantAnalysis.
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.
- 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, el 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: e 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.
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
Explore enfoques de aprendizaje supervisado, como las máquinas de vectores de soporte y los clasificadores probabilísticos.
Aprenda los conceptos fundamentales y desarrolle sus habilidades con laboratorios prácticos, cursos, proyectos guiados, pruebas y mucho más.
Aprenda a seleccionar el modelo fundacional de IA más adecuado para su caso de uso.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
1 James Joyce. Bayes' Theorem. Stanford Encyclopedia of Philosophy. 2003
2Dan A. Simovici. Lecture notes on Fisher Linear Discriminant Name. 2013
3 Penn State Eberly College of Science. Linear Discriminant Analysis. 2023
4 J. T. Oates. Lecture notes on Linear Discriminant Analysis. 2014
5 Guangliang Chen. Lecture notes on Linear Discriminant Analysis (LDA). 2020
6, 7 sci-kit learn. Linear and Quadratic Discriminant Analysis. 2023