Inicio
Topics
Análisis discriminante lineal
Publicado: 27 de noviembre de 2023
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ó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. 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:
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:
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.
Lea por qué IBM ha sido nombrada líder en el informe IDC MarketScape: Worldwide AI Governance Platforms 2023.
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 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.
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 ecuación.
δ(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 de la función discriminante lineal podría ser la siguiente:
δ(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 distinguir a los solicitantes con probabilidades de impago de los que son solventes mediante el análisis de factores financieros y 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 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.
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.
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.
Aplique el análisis discriminante lineal como técnica de reducción de la dimensionalidad para optimizar el rendimiento de su modelo.
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, 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.
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.
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.
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.
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.
Descubra otras aplicaciones del análisis discriminante lineal en distintos sectores.
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.
Aplique el análisis discriminante lineal como técnica de reducción de la dimensionalidad para optimizar el rendimiento de su modelo.
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
3 Penn State Eberly College of Science. Linear Discriminant Analysis. 2023 (enlace externo a ibm.com)
4 J. T. Oates. Lecture notes on Linear Discriminant Analysis. 2014 (enlace externo a ibm.com)
5 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)