Clasificador lineal
# Clasificador lineal

En el campo del aprendizaje automático, el objetivo del aprendizaje supervisado es usar las características de un objeto para identificar a qué clase (o grupo) pertenece. Un clasificador lineal logra esto tomando una decisión de clasificación basada en el valor de una combinación lineal de sus características. Las características de un objeto son típicamente presentadas en un vector llamado vector de características.

## Definición

Si la entrada del clasificador es un vector de características reales ${\vec {x}}$, entonces el resultado de salida es

    $y=f({\vec {w}}\cdot {\vec {x}})=f\left(\sum _{j}w_{j}x_{j}\right),$

donde ${\vec {w}}$ es un vector real de pesos y f es una función que convierte el producto punto a punto de los dos vectores en la salida deseada. El vector de pesos ${\vec {w}}$ aprende de un conjunto de muestras de entrenamiento. A menudo f es una función simple que mapea todos los valores por encima de un cierto umbral a la primera clase y el resto a la segunda clase. Una f más compleja puede dar la probabilidad de que una muestra pertenezca a cierta clase.

Para un problema de dos clases, se puede visualizar la operación de un clasificador lineal como una partición del espacion de alta dimensionalidad de entrada con un hiperplano: todos los puntos a un lado del hiperplano son clasificados como "sí", mientras que los demás son clasificados como "no".

Los clasificadores lineales se suelen usar en situaciones donde la velocidad de la clasificación es importante, ya que a menudo es el clasificador más rápido, especialmente cuando ${\vec {x}}$ es disperso. Sin embargo, los árboles de decisión pueden ser más rápidos. Además, los clasificadores lineales con frecuencia funcionan muy bien cuando el número de dimensiones de ${\vec {x}}$ es grande, como en clasificación de documentos, donde típicamente cada elemento en ${\vec {x}}$ es el número de apariciones de una palabra en un documento. En tales casos, el clasificador debe estar bien regularizado.

## Modelo generativo vs. modelo discriminativo

Hay dos tipos de clases de métodos para determinar los parámetros de un clasificador lineal ${\vec {w}}$. Métodos de la primera clase conditional density functions $P({\vec {x}}|{\rm {class}})$. Ejemplos de tales algoritmos

* Análisis discriminante lineal (o discriminante lineal de Fisher) (Linear Discriminant Analysis, LDA): asume los modelos gaussianos de densidad condicional.
* Clasificador Bayes ingenuo: asume modelos de densidad condicional binomiales independientes.

El segundo conjunto de métodos incluye modelos discriminatorios, que intentan maximizar la calidad de los resultados de un conjunto de capacitación. Términos adicionales en la función de costo de capacitación pueden fácilmente realizar la regularización del modelo final. Ejemplos de entrenamiento discriminatorio de clasificadores lineales incluyen

* Regresión logística - estimación de la probabilidad máxima de ${\vec {w}}$ asumiendo que el conjunto de entrenamiento observado fue generado por un modelo binomial que depende de la salida del clasificador.
* Perceptrón: un algoritmo que intenta corregir todos los errores encontrados en el equipo de entrenamiento.
* Máquina vectorial de soporte (Support vector machine, SVM): un algoritmo que maximiza el margen entre el hiperplano de decisión y los ejemplos del conjunto de entrenamiento.

Nota: A pesar de su nombre, LDA no pertenece a la clase de modelos discriminatorios en esta taxonomía. Sin embargo, su nombre tiene sentido cuando comparamos LDA con el otro algoritmo principal de reducción de la dimensionalidad lineal: Análisis de Componentes Principales (Principal Components Analysis, 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. Para resumir, el nombre es un artefacto histórico (ver, p.117).

El entrenamiento discriminativo a menudo produce mayor precisión que el modelado de las funciones de densidad condicional. Sin embargo, el manejo de los datos faltantes es a menudo más fácil con los modelos de densidad condicional.

Todos los algoritmos del clasificador lineal listados arriba pueden ser convertidos en algoritmos no lineales operando en un espacio de entrada diferente $\varphi ({\vec {x}})$, usando el truco del kernel (kernel trick).

