Clasificador (matemáticas)

De Wikipedia, la enciclopedia libre

El término clasificador[1]​ se utiliza en referencia al algoritmo utilizado para asignar un elemento entrante no etiquetado en una categoría concreta conocida. Dicho algoritmo, permite pues, ordenar o disponer por clases elementos entrantes, a partir de cierta información característica de estos.[2]

Una manera de implementar un clasificador es seleccionar un conjunto de ejemplos etiquetados y tratar de definir una regla que permita asignar una etiqueta a cualquier otro dato de entrada.

En ocasiones, el término clasificador también es utilizado para referirse a la función matemática que implementa el algoritmo de clasificación.

Selección de características[editar]

Para la implementación de un clasificador es necesario tener en cuenta una serie de características concretas. La selección de éstas, sin embargo, no es una tarea sencilla.

La adición de muchos parámetros irrelevantes hace más difícil la clasificación para todos los métodos. Además, a medida que vamos añadiendo más información se van incrementando las dimensiones del espacio, hecho que supone que la optimización sea cada vez más difícil.


Entrenamiento[editar]

La finalidad de esta fase es construir un conjunto/grupo para que los objetos que se han clasificado como ciertos, sean conocidos/identificados. Los parámetros característicos que describen a los objetos deben ser discriminatorios para la clasificación.

Conjunto de entrenamiento[editar]

El conjunto de entrenamiento debe contener una lista de objetos con tipos conocidos. Idealmente este conjunto de entrenamiento debería contener muchos ejemplos, de este modo, se incluirían objetos comunes y no comunes.

Para crear el conjunto de entrenamiento se requiere una fuente de objetos clasificados de forma cierta.


Precisión del clasificador[editar]

Una vez construido el clasificador se debe medir la precisión. Este paso es necesario tanto en la aplicación del clasificador como también para poder compararlo con otros clasificadores diferentes.

La precisión se puede determinar aplicando al clasificador un entrenamiento independiente de un conjunto de objetos de los que se conoce la clasificación. Se hace uso de conjuntos conocidos ya que a veces no se tienen las fuentes necesarias para construir un nuevo modelo que se utilice puramente para su testeo. Se debe evitar el entrenamiento y el testeo con el mismo conjunto.


Tipos de aprendizaje[editar]

Aprendizaje supervisado[editar]

El aprendizaje supervisado es una técnica de aprendizaje artificial que elabora una función matemática (hipótesis) a partir de datos de entrenamiento previamente etiquetados. Donde el usuario con unos datos de entrenamiento en una máquina puede deducir entre un conjunto de datos de entrada a que clase pertenecen los datos de salida.

Aprendizaje no supervisado[editar]

Los algoritmos en aprendizaje no supervisado no disponen de un conjunto de entrenamiento que permita conocer las etiquetas de los datos, así pues, se hace necesario el uso de técnicas de agrupamiento que intentan construir estas etiquetas.[3]

Este sistema de agrupamiento (o clustering) tiene como finalidad catalogar los objetos en conjuntos tales que los que estén en el mismo sean muy semejantes entre sí, mientras que el grado de semejanza entre grupos diferentes sea bajo.[4]

Aun así, uno de los problemas que presenta este método es la toma de decisiones a la hora de escoger un patrón entre todos los proporcionados.[5]

Aprendizaje semi-supervisado[editar]

El aprendizaje semi-supervisado[6]​ surge como consecuencia de la dificultad que se tiene para obtener los datos etiquetados requeridos por los métodos no supervisados, ya que estos deben ser etiquetados por un experto de forma manual convirtiéndose en un trabajo pesado.

Este aprendizaje es una combinación del aprendizaje supervisado y no supervisado. Puesto que asignar etiquetas o clases de datos puede ser muy costoso, el aprendizaje semi-supervisado recurre a la opción de usar a la vez una colección limitada de datos etiquetados y un conjunto más extenso de datos no etiquetados, mejorando así la construcción de los modelos.

En este método, se ha de tener en cuenta que no siempre los datos no etiquetados son de ayuda al proceso de aprendizaje. Por lo general se asume que los datos no etiquetados siguen la misma distribución que los etiquetados para que el uso de datos sin etiquetar sea útil.

Aprendizaje por refuerzo[editar]

El aprendizaje por refuerzo no trata de aprender a partir de un conjunto de ejemplos sino a través de la experiencia.

En este tipo de aprendizaje, el agente dispone de un conjunto de opciones disponibles para llegar a resolver una determinada tarea. Para ello, debe escoger en primer lugar, la opción que considere más oportuna para lograr su objetivo. Una vez hecho, el agente en cuestión recibe información de retroalimentación del entorno sobre su desempeño. Posteriormente, dicha información pueda ser utilizada para modificar su comportamiento. El aprendizaje por refuerzo conlleva pues, una fuerte carga de ensayo y error.


Tipos de clasificadores[editar]

Clasificador Bayesiano[editar]

Es un clasificador basado en el aprendizaje que calcula la probabilidad[7]​ de cada hipótesis de los datos y realiza predicciones sobre estas. Estimar la probabilidad es complejo, pero se simplifica si se considera que los atributos son independientes dada la hipótesis: P(E1, E2, ...EN | H) = P(E1 | H) P(E2 | H) ... P(EN | H)

Por lo que la probabilidad de la hipótesis dada la evidencia puede estimarse como: P(H | E1, E2, ...EN) = [P(H) P(E1 | H) P(E2 | H) ... P(EN | H)]/ P(E)

Clasificador Parzen[editar]

Se trata de un clasificador basado en la estimación no paramétrica, que a diferencia de la paramétrica, donde se obtiene la función de densidad de probabilidad estimando los parámetros desconocidos de un modelo conocido, no se conoce el modelo. Esta técnica consiste básicamente en variaciones de la aproximación del histograma de una función de densidad de probabilidad desconocida. Este algoritmo se utiliza en la clasificación de imágenes o para clasificar y aprender simultáneamente. El problema de este clasificador es que tiene un tiempo de ejecución elevado.

Clasificador Backpropagation[editar]

En algunos problemas el uso de modelos simples de densidad paramétrica o el uso de modelos de histogramas no dan los resultados deseados. En estos casos se buscan modelos de densidad más sofisticados. Las redes neuronales son una técnica de aproximación paramétrica útil para construir modelos de densidad. El modelo de red neuronal habitual que utiliza este algoritmo consiste en una red con una capa de entrada con tantos nodos como entradas tengan, una capa oculta con un número de nodos variable que dependerá de las características del problema, y una capa de salida con tantos nodos como posibles salidas tenga.

Clasificador con PCA[editar]

El clasificador en cuestión utiliza el análisis de componentes principales (también conocido como ACP o PCA)[8]​ con el objetivo de tratar de reducir la dimensión de un grupo de datos y hallar las causas de su variabilidad para poder ordenarlas según su importancia.

Máquinas de vectores de soporte "Support vector machine"[editar]

Una máquina de vectores de soporte utiliza una técnica que aprende de dos clases distintas de entrada. Como un clasificador de una sola clase, la descripción dada por los datos de los vectores de soporte elabora una frontera de decisión alrededor de los datos de aprendizaje. Los datos son mapeados donde se busca la máxima separación entre clases.

La función de frontera tiene la misión de separar los datos en clases distintas, cada una formando un agrupamiento.


Aplicaciones[editar]

Las aplicaciones de los clasificadores son muy amplias. Su uso se extiende en medicina (análisis de prueba de drogas, análisis de datos de resonancia magnética), teléfonos móviles decodificación de la señal, corrección de errores), la visión por computador (reconocimiento facial, seguimiento de objetivos, reconocimiento de voz, minería de datos (análisis de compras en supermercados, análisis de clientes al por menor), robótica, juegos de ordenador, secuenciación de procesos de fabricación o secuenciación temporal, entre otros.


Herramientas de software[editar]

Existen muchas herramientas de software para clasificación o reconocimiento de patrones tanto libres como comerciales, por ejemplo:


Véase también[editar]

Referencias[editar]

  1. L.White, Richard. «Steps in Developing a Classifier» (en inglés). Consultado el 16 de agosto de 1996. 
  2. Peter Mills (2011). «Efficient statistical classification of satellite measurements». International Journal of Remote Sensing. doi:10.1080/01431161.2010.507795. 
  3. Diez, Juanjo. «Sistemas Inteligentes». Archivado desde el original el 21 de junio de 2012. Consultado el 18 de julio de 2005. 
  4. Vázquez, Luis. «Aprendizaje no supervisado y análisis de agrupamientos». Archivado desde el original el 30 de octubre de 2011. Consultado el 15 de junio de 2002. 
  5. «Algoritmos de clasificación no supervisada». Consultado el 11 de octubre de 2002. 
  6. Gallardo, Margarita. «APLICACIÓN DE TÉCNICAS DE CLUSTERING PARA LA MEJORA DEL APRENDIZAJE». Consultado el 11 de marzo de 2009. 
  7. Sucar, L. Enrique. «Clasificadores Bayesianos». Consultado el 12 de abril de 2005. 
  8. Jonathon, Shlens. «A Tutorial on Principal Component Analysis» (en inglés). Archivado desde el original el 15 de febrero de 2010. Consultado el 22 de abril de 2009.