El análisis discriminatorio lineal (LDA) es un enfoque empleado en el machine learning supervisado para resolver problemas de clasificación de múltiples clases. LDA separa múltiples clases con múltiples características a través de 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 discriminatorio lineal, también conocido como análisis discriminatorio normal (NDA) o análisis de función discriminatorio (DFA), sigue una infraestructura. Esto significa que los algoritmos LDA modelan la distribución de datos para cada clase y emplean el teorema de Bayes1 para clasificar los nuevos puntos de datos. Bayes calcula las probabilidades condicionales, es decir, la probabilidad de que se produzca un suceso si se produjo otro. Los algoritmos LDA realizan predicciones empleando Bayes para calcular la probabilidad de que un conjunto de datos de entrada pertenezca a unos resultados determinados. Para una revisión de la estadística bayesiana y su impacto en los algoritmos de aprendizaje supervisado, consulte Clasificadores Naïve Bayes.
LDA funciona identificando una combinación lineal de características que separa o caracteriza dos o más clases de objetos o eventos. LDA lo hace proyectando datos con dos o más dimensiones en una dimensión para que puedan clasificarse más fácilmente. La técnica, por lo tanto, a veces se denomina reducción de dimensionalidad. Esta versatilidad asegura que LDA se pueda utilizar para problemas de clasificación de datos de varias clases, 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 el árbol de decisión, el bosque aleatorio o las máquinas vectoriales de soporte (SVM).
El análisis discriminatorio lineal (LDA) se basa en el discriminatorio 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 de múltiples clases. 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. Separación significa maximizar la distancia entre las medias proyectadas y minimizar la varianza proyectada dentro de las clases.
Supongamos que un banco está decidiendo si aprobar o rechazar solicitudes de préstamo. El banco emplea dos características para tomar esta decisión: el puntaje crediticio del solicitante y los ingresos anuales.
Aquí, las dos características o clases se trazan en un plano bidimensional (2D) con un eje XY. Si intentáramos clasificar las aprobaciones empleando una sola característica, podríamos observar una superposición. Al aplicar LDA, podemos dibujar una línea recta que separa completamente estos dos puntos de datos de clase. LDA logra esto por medio del eje X-Y para crear un nuevo eje, separando las diferentes clases con una línea recta y proyectando datos sobre el nuevo eje.
Para crear este nuevo eje y reducir la dimensionalidad, LDA sigue estos criterios:
Las 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 a 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 múltiples características o variables, estas propiedades se calculan sobre la distribución multivariante de Gaussian3.
Las multivariantes 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 algunas limitaciones a tener en cuenta, ya que el modelo asume lo siguiente:
Por estas razones, es posible que LDA no funcione bien en espacios de características de alta dimensión.
La reducción de la dimensionalidad implica separar los puntos de datos con una línea recta. Matemáticamente, las transformaciones lineales se analizan mediante vectores propios y valores propios. Imagine que trazó un conjunto de datos con múltiples características, lo que da como resultado un diagrama 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 usar LDA de manera efectiva, es esencial preparar el conjunto de datos de antemano. Estos son los pasos y las mejores prácticas para implementar LDA:
1. Preprocesar los datos para garantizar que estén estandarizados y centrados
Esto se logra pasando el parámetro de componente n de la LDA, que identifica el número de discriminatorios lineales que se van a recuperar.
2. Elija un número adecuado de dimensiones para el espacio de dimensiones inferiores
Esto se logra pasando el parámetro de componente n de la LDA, que identifica el número de discriminatorios lineales que se van a recuperar.
3. Regularizar el modelo
La regularización tiene como objetivo evitar el sobreajuste, donde 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 tales como LDA trazando una matriz de confusión, con valores de clase reales como filas y valores de clase predichos como columnas. Una matriz de confusión hace que sea fácil 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 datos 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, usted tendría que comprobar la fila 4 y la columna 9.
La función discriminatoria lineal ayuda a tomar decisiones en problemas de clasificación separando puntos de datos basados en características y clasificándolos en diferentes clases o categorías. El proceso de cálculo se puede resumir en estos pasos clave:
La varianza entre clases es la separación entre clases, es decir, la distancia entre las medias de la clase.
La varianza dentro de la clase es la distancia entre las medias de clase y las muestras.
Esto maximiza la varianza entre clases y la minimiza dentro de las clases. Podemos representar matemáticamente la función discriminatoria lineal para dos clases con lo siguiente.
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
Dónde:
Usemos la ecuación para trabajar con un ejemplo de aprobación de préstamo. En resumen, el banco está decidiendo si aprobar o rechazar las solicitudes de préstamo. El banco emplea dos características para tomar esta decisión: la calificación de crédito del solicitante (x) y los ingresos anuales. El banco recopiló datos históricos sobre solicitantes de préstamos anteriores y si los préstamos fueron aprobados.
Mediante la función discriminatoria lineal, el banco puede calcular una puntuación (δ(x)) para cada solicitud de préstamo.
La ecuación para la función discriminatoria lineal podría verse así:
δ(x) = x * ( σ2 * (μ0-μ1) - 2 * σ2 * (μ02-μ12) + ln(P(w0) / P(w1)))
El banco calcula la función discriminatoria lineal para cada solicitud de préstamo.
De este modo, el banco puede automatizar su proceso de aprobación de préstamos, tomando decisiones más rápidas y coherentes, al tiempo que minimiza el sesgo humano.
Estos son escenarios típicos en los que se puede aplicar 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 el incumplimiento crediticio. LDA puede ayudar a identificar a los solicitantes que podrían ser propensos a incumplir con los préstamos de aquellos que son solventes al examinar 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 de atención médica deben interpretar una inmensa cantidad de datos médicos. La LDA ayuda a simplificar los conjuntos de datos complejos y a mejorar la precisión del diagnóstico mediante la identificación de patrones y relaciones en los datos de los pacientes.
Para un marketing eficaz, las compañías de comercio electrónico deben poder categorizar diversas bases de clientes. LDA es fundamental en la segmentación de clientes, lo que permite a las compañías de comercio electrónico adaptar sus estrategias de marketing a diferentes grupos de clientes. El resultado son experiencias de compra más personalizadas, lo que aumenta la lealtad de los clientes y las ventas.
Producir bienes de alta calidad minimizando los defectos es un desafío fundamental. Los datos de los sensores de la maquinaria se pueden emplear con LDA para identificar patrones asociados con defectos. Al detectar irregularidades en tiempo real, los fabricantes pueden tomar medidas correctivas inmediatas, mejorar la calidad del producto y reducir el desperdicio.
Puede maximizar su presupuesto publicitario al dirigir a la audiencia adecuada con contenido personalizado, pero identificar esos segmentos de audiencia respectivos puede ser difícil. 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 generar un mayor retorno de la inversión (ROI) y una mejor experiencia del cliente.
Para profundizar en el análisis discriminatorio lineal con Python y aprovechar la biblioteca scikit-learn, puede explorar este tutorial Aprender algoritmos de clasificación empleando Python y scikit-learn en IBM watsonx. El tutorial lo ayuda con los conceptos básicos para resolver un problema de machine learning basado en la clasificación empleando Python y scikit-learn (también conocido como sklearn).
Para el tutorial paso a paso, primero deberá importar las bibliotecas de Python necesarias para trabajar con el conjunto de datos de Iris, realizar el procesamiento previo 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 por medio de 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 mediante sklearn.discriminant_analysis.LinearDiscriminantAnalysis.
Comprender los beneficios y limitaciones del análisis discriminatorio lineal (LDA) es crucial para 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 en particular.
- Distribuciones medias compartidas: LDA encuentra desafíos cuando las distribuciones de clase comparten medias. LDA lucha por crear un nuevo eje que separe linealmente ambas clases. Como resultado, es posible que LDA no discrimine eficazmente entre clases con propiedades estadísticas superpuestas. Por ejemplo, imagine un escenario en el que dos especies de flores tienen pétalos de longitud y anchura muy similares. A LDA puede resultarle difícil separar estas especies con base en estas características únicamente. Aquí se prefieren técnicas alternativas, como los métodos de análisis discriminatorio no lineal.
- No apto para datos no etiquetados: LDA se aplica como un algoritmo de aprendizaje supervisado, es decir, clasifica o separa los datos etiquetados. Por el contrario, el análisis de componentes principales (PCA), otra técnica de reducción de dimensiones, ignora las etiquetas de clase y conserva la varianza.
IBM® Granite es nuestra familia de modelos abiertos de IA, de alto rendimiento y confiables, diseñados para empresas y optimizados para escalar sus aplicaciones de IA. Explore opciones de lenguaje, código, series de tiempo y medidas de protección.
Encuestamos a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo pueden avanzar.
Explore algunos enfoques de aprendizaje supervisado, como las máquinas de vectores soporte y los clasificadores probabilísticos.
Aprenda los conceptos fundamentales y construya sus habilidades con laboratorios prácticos, cursos, proyectos guiados, ensayos y mucho más.
Aprenda a seleccionar el modelo fundacional de IA más adecuado para su caso de uso.
Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.
Reinvente los flujos de trabajo y las operaciones críticas 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