En el aprendizaje automático , un clasificador lineal toma una decisión de clasificación para cada objeto en función de una combinación lineal de sus características . Estos clasificadores funcionan bien para problemas prácticos como la clasificación de documentos y, de manera más general, para problemas con muchas variables ( características ), alcanzando niveles de precisión comparables a los de los clasificadores no lineales y requiriendo menos tiempo para entrenarlos y usarlos. [1]
Si el vector de características de entrada al clasificador es un vector real , entonces la puntuación de salida es
donde es un vector real de pesos y f es una función que convierte el producto escalar de los dos vectores en la salida deseada. (En otras palabras, es una función lineal o de una forma sobre R ). El vector de peso se aprende a partir de un conjunto de muestras de entrenamiento etiquetadas. A menudo, f es una función de umbral , que asigna todos los valores de por encima de un cierto umbral a la primera clase y todos los demás valores a la segunda clase; por ejemplo,
El superíndice T indica la transposición y es un umbral escalar. Una f más compleja podría indicar la probabilidad de que un elemento pertenezca a una determinada clase.
Para un problema de clasificación de dos clases, se puede visualizar el funcionamiento de un clasificador lineal como la división de un espacio de entrada de alta dimensión con un hiperplano : todos los puntos de un lado del hiperplano se clasifican como "sí", mientras que los demás se clasifican como "no".
Un clasificador lineal se utiliza a menudo en situaciones en las que la velocidad de clasificación es un problema, ya que suele ser el clasificador más rápido, especialmente cuando es escaso. Además, los clasificadores lineales suelen funcionar muy bien cuando el número de dimensiones en es grande, como en la clasificación de documentos , donde cada elemento en es normalmente el número de ocurrencias de una palabra en un documento (véase matriz de términos de documento ). En tales casos, el clasificador debe estar bien regularizado .
Existen dos grandes clases de métodos para determinar los parámetros de un clasificador lineal . Pueden ser modelos generativos y discriminativos . [2] [3] Los métodos del primero modelan la distribución de probabilidad conjunta , mientras que los métodos del segundo modelan funciones de densidad condicional . Algunos ejemplos de estos algoritmos son:
El segundo conjunto de métodos incluye modelos discriminativos , que intentan maximizar la calidad de la salida en un conjunto de entrenamiento . Los términos adicionales en la función de costo de entrenamiento pueden realizar fácilmente la regularización del modelo final. Algunos ejemplos de entrenamiento discriminativo de clasificadores lineales incluyen:
Nota: A pesar de su nombre, LDA no pertenece a la clase de modelos discriminativos de esta taxonomía. Sin embargo, su nombre tiene sentido cuando comparamos LDA con el otro algoritmo principal de reducción de dimensionalidad lineal : el análisis de componentes principales (PCA). LDA es un algoritmo de aprendizaje supervisado que utiliza las etiquetas de los datos, mientras que PCA es un algoritmo de aprendizaje no supervisado que ignora las etiquetas. En resumen, el nombre es un artefacto histórico. [5]
El entrenamiento discriminativo suele producir una mayor precisión que el modelado de funciones de densidad condicional [ cita requerida ] . Sin embargo, el manejo de datos faltantes suele ser más sencillo con los modelos de densidad condicional [ cita requerida ] .
Todos los algoritmos de clasificación lineal enumerados anteriormente se pueden convertir en algoritmos no lineales que operan en un espacio de entrada diferente , utilizando el truco del núcleo .
El entrenamiento discriminativo de clasificadores lineales se lleva a cabo habitualmente de forma supervisada , mediante un algoritmo de optimización al que se le proporciona un conjunto de entrenamiento con resultados deseados y una función de pérdida que mide la discrepancia entre los resultados del clasificador y los resultados deseados. De este modo, el algoritmo de aprendizaje resuelve un problema de optimización de la forma [1]
dónde
Las funciones de pérdida populares incluyen la pérdida de bisagra (para SVM lineales) y la pérdida logarítmica (para regresión logística lineal). Si la función de regularización R es convexa , entonces el problema anterior es convexo . [1] Existen muchos algoritmos para resolver tales problemas; los populares para la clasificación lineal incluyen el descenso de gradiente ( estocástico ) , L-BFGS , el descenso de coordenadas y los métodos de Newton .