El reconocimiento de patrones es la tarea de asignar una clase a una observación en función de patrones extraídos de los datos. Si bien es similar, el reconocimiento de patrones (PR) no debe confundirse con las máquinas de patrones (PM), que pueden poseer capacidades (PR), pero su función principal es distinguir y crear patrones emergentes. Las relaciones públicas tienen aplicaciones en análisis de datos estadísticos , procesamiento de señales , análisis de imágenes , recuperación de información , bioinformática , compresión de datos , gráficos por computadora y aprendizaje automático . El reconocimiento de patrones tiene su origen en la estadística y la ingeniería; Algunos enfoques modernos para el reconocimiento de patrones incluyen el uso del aprendizaje automático , debido a la mayor disponibilidad de big data y una nueva abundancia de poder de procesamiento .
Los sistemas de reconocimiento de patrones comúnmente se entrenan a partir de datos de "entrenamiento" etiquetados. Cuando no hay datos etiquetados disponibles, se pueden utilizar otros algoritmos para descubrir patrones previamente desconocidos. KDD y la minería de datos se centran más en métodos no supervisados y una conexión más fuerte con el uso empresarial. El reconocimiento de patrones se centra más en la señal y también tiene en cuenta la adquisición y el procesamiento de la señal . Se originó en la ingeniería y el término es popular en el contexto de la visión por computadora : una conferencia líder en visión por computadora se llama Conferencia sobre visión por computadora y reconocimiento de patrones .
En el aprendizaje automático , el reconocimiento de patrones es la asignación de una etiqueta a un valor de entrada determinado. En estadística, el análisis discriminante se introdujo con este mismo propósito en 1936. Un ejemplo de reconocimiento de patrones es la clasificación , que intenta asignar cada valor de entrada a uno de un conjunto determinado de clases (por ejemplo, determinar si un correo electrónico determinado es "spam"). ). El reconocimiento de patrones es un problema más general que abarca también otros tipos de resultados. Otros ejemplos son la regresión , que asigna una salida de valor real a cada entrada; [1] etiquetado de secuencia , que asigna una clase a cada miembro de una secuencia de valores [2] (por ejemplo, etiquetado de parte del discurso , que asigna una parte del discurso a cada palabra en una oración de entrada); y parsing , que asigna un árbol de análisis a una oración de entrada, describiendo la estructura sintáctica de la oración. [3]
Los algoritmos de reconocimiento de patrones generalmente tienen como objetivo proporcionar una respuesta razonable para todas las entradas posibles y realizar coincidencias "más probables" de las entradas, teniendo en cuenta su variación estadística. Esto se opone a los algoritmos de coincidencia de patrones , que buscan coincidencias exactas en la entrada con patrones preexistentes. Un ejemplo común de algoritmo de coincidencia de patrones es la coincidencia de expresiones regulares , que busca patrones de un tipo determinado en datos textuales y se incluye en las capacidades de búsqueda de muchos editores y procesadores de texto .
Una definición moderna de reconocimiento de patrones es:
El campo del reconocimiento de patrones se ocupa del descubrimiento automático de regularidades en los datos mediante el uso de algoritmos informáticos y del uso de estas regularidades para realizar acciones como clasificar los datos en diferentes categorías. [4]
El reconocimiento de patrones generalmente se clasifica según el tipo de procedimiento de aprendizaje utilizado para generar el valor de salida. El aprendizaje supervisado supone que se ha proporcionado un conjunto de datos de entrenamiento (el conjunto de entrenamiento ), que consta de un conjunto de instancias que han sido etiquetadas adecuadamente a mano con el resultado correcto. Luego, un procedimiento de aprendizaje genera un modelo que intenta cumplir dos objetivos a veces contradictorios: funcionar lo mejor posible con los datos de entrenamiento y generalizar lo mejor posible a datos nuevos (generalmente, esto significa ser lo más simple posible, para alguna definición técnica). de "simple", de acuerdo con la Navaja de Occam , que se analiza más adelante). El aprendizaje no supervisado , por otro lado, supone datos de entrenamiento que no han sido etiquetados manualmente e intenta encontrar patrones inherentes en los datos que luego pueden usarse para determinar el valor de salida correcto para nuevas instancias de datos. [5] Una combinación de los dos que se ha explorado es el aprendizaje semisupervisado , que utiliza una combinación de datos etiquetados y sin etiquetar (normalmente un pequeño conjunto de datos etiquetados combinados con una gran cantidad de datos sin etiquetar). En casos de aprendizaje no supervisado, es posible que no haya ningún dato de entrenamiento.
A veces se utilizan términos diferentes para describir los correspondientes procedimientos de aprendizaje supervisados y no supervisados para el mismo tipo de resultado. El equivalente no supervisado de la clasificación se conoce normalmente como agrupamiento , basado en la percepción común de que la tarea no implica datos de entrenamiento de los cuales hablar, y de agrupar los datos de entrada en grupos basándose en alguna medida de similitud inherente (por ejemplo, la distancia entre instancias, considerada). como vectores en un espacio vectorial multidimensional ), en lugar de asignar cada instancia de entrada a una de un conjunto de clases predefinidas. En algunos campos, la terminología es diferente. En ecología comunitaria , el término clasificación se utiliza para referirse a lo que comúnmente se conoce como "agrupación".
La pieza de datos de entrada para la cual se genera un valor de salida se denomina formalmente instancia . La instancia se describe formalmente mediante un vector de características, que en conjunto constituyen una descripción de todas las características conocidas de la instancia. Estos vectores de características pueden verse como puntos que definen en un espacio multidimensional apropiado , y se les pueden aplicar correspondientemente métodos para manipular vectores en espacios vectoriales , como calcular el producto escalar o el ángulo entre dos vectores. Las características suelen ser categóricas (también conocidas como nominales , es decir, que consisten en uno de un conjunto de elementos desordenados, como el género "masculino" o "femenino", o un tipo de sangre "A", "B", " AB" u "O"), ordinal (que consta de uno de un conjunto de elementos ordenados, por ejemplo, "grande", "mediano" o "pequeño"), de valor entero (por ejemplo, un recuento del número de apariciones de un palabra particular en un correo electrónico) o de valor real (por ejemplo, una medición de la presión arterial). A menudo, los datos categóricos y ordinales se agrupan, y este también es el caso de los datos con valores enteros y con valores reales. Muchos algoritmos funcionan sólo en términos de datos categóricos y requieren que los datos con valores reales o enteros se discreticen en grupos (por ejemplo, menos de 5, entre 5 y 10, o más de 10).
Muchos algoritmos comunes de reconocimiento de patrones son de naturaleza probabilística , ya que utilizan inferencia estadística para encontrar la mejor etiqueta para una instancia determinada. A diferencia de otros algoritmos, que simplemente generan una etiqueta "mejor", a menudo los algoritmos probabilísticos también generan una probabilidad de que la instancia sea descrita por la etiqueta dada. Además, muchos algoritmos probabilísticos generan una lista de las N mejores etiquetas con probabilidades asociadas, para algún valor de N , en lugar de simplemente una única mejor etiqueta. Cuando el número de etiquetas posibles es bastante pequeño (por ejemplo, en el caso de clasificación ), se puede establecer N para que se genere la probabilidad de todas las etiquetas posibles. Los algoritmos probabilísticos tienen muchas ventajas sobre los algoritmos no probabilísticos:
Los algoritmos de selección de funciones intentan eliminar directamente las funciones redundantes o irrelevantes. Se ha proporcionado una introducción general a la selección de funciones que resume los enfoques y desafíos. [6] La complejidad de la selección de características es, debido a su carácter no monótono, un problema de optimización en el que, dado un total de características, es necesario explorar el conjunto de potencia que consta de todos los subconjuntos de características. El algoritmo Branch-and-Bound [7] reduce esta complejidad, pero es intratable para valores medianos a grandes del número de funciones disponibles.
A veces se utilizan técnicas para transformar los vectores de características sin procesar ( extracción de características ) antes de la aplicación del algoritmo de coincidencia de patrones. Los algoritmos de extracción de características intentan reducir un vector de características de gran dimensionalidad a un vector de dimensionalidad más pequeña con el que es más fácil trabajar y codifica menos redundancia, utilizando técnicas matemáticas como el análisis de componentes principales (PCA). La distinción entre selección de características y extracción de características es que las características resultantes después de que se ha realizado la extracción de características son de un tipo diferente a las características originales y pueden no ser fácilmente interpretables, mientras que las características que quedan después de la selección de características son simplemente un subconjunto de las características originales. .
El problema del reconocimiento de patrones se puede plantear de la siguiente manera: Dada una función desconocida (la verdad fundamental ) que asigna instancias de entrada a etiquetas de salida , junto con datos de entrenamiento que se supone representan ejemplos precisos del mapeo, produce una función que se aproxima lo más posible. el mapeo correcto . (Por ejemplo, si el problema es filtrar spam, entonces es alguna representación de un correo electrónico y es "spam" o "no spam"). Para que éste sea un problema bien definido, es necesario definir rigurosamente "se aproxima lo más posible". En la teoría de la decisión , esto se define especificando una función de pérdida o función de costo que asigna un valor específico a la "pérdida" resultante de producir una etiqueta incorrecta. El objetivo entonces es minimizar la pérdida esperada , tomando la expectativa la distribución de probabilidad de . En la práctica, ni la distribución de ni la función de verdad fundamental se conocen exactamente, sino que sólo pueden calcularse empíricamente recogiendo un gran número de muestras y etiquetándolas manualmente utilizando el valor correcto de (un proceso que requiere mucho tiempo, que normalmente es el factor limitante en la cantidad de datos de este tipo que pueden recopilarse). La función de pérdida particular depende del tipo de etiqueta que se predice. Por ejemplo, en el caso de la clasificación , la simple función de pérdida cero-uno suele ser suficiente. Esto corresponde simplemente a asignar una pérdida de 1 a cualquier etiquetado incorrecto e implica que el clasificador óptimo minimiza la tasa de error en datos de prueba independientes (es decir, contando la fracción de instancias que la función aprendida etiqueta incorrectamente, lo que equivale a maximizar el número de instancias correctamente clasificadas). El objetivo del procedimiento de aprendizaje es entonces minimizar la tasa de error (maximizar la corrección ) en un conjunto de pruebas "típico".
Para un reconocedor de patrones probabilísticos, el problema es, en cambio, estimar la probabilidad de cada posible etiqueta de salida dada una instancia de entrada particular, es decir, estimar una función de la forma
donde está la entrada del vector de características y la función f generalmente está parametrizada por algunos parámetros . [8] En un enfoque discriminativo del problema, f se estima directamente. Sin embargo, en un enfoque generativo , la probabilidad inversa se estima y se combina con la probabilidad previa utilizando la regla de Bayes , de la siguiente manera:
Cuando las etiquetas se distribuyen continuamente (por ejemplo, en el análisis de regresión ), el denominador implica integración en lugar de suma:
El valor de normalmente se aprende mediante la estimación máxima a posteriori (MAP). Esto encuentra el mejor valor que cumple simultáneamente con dos objetivos en conflicto: funcionar lo mejor posible con los datos de entrenamiento ( tasa de error más pequeña ) y encontrar el modelo más simple posible. Básicamente, esto combina la estimación de máxima verosimilitud con un procedimiento de regularización que favorece los modelos más simples sobre los más complejos. En un contexto bayesiano , se puede considerar que el procedimiento de regularización coloca una probabilidad previa en diferentes valores de . Matemáticamente:
donde es el valor utilizado para en el procedimiento de evaluación posterior, y , la probabilidad posterior de , está dada por
En el enfoque bayesiano de este problema, en lugar de elegir un único vector de parámetros , la probabilidad de una etiqueta determinada para una nueva instancia se calcula integrando todos los valores posibles de , ponderados según la probabilidad posterior:
El primer clasificador de patrones (el discriminante lineal presentado por Fisher ) se desarrolló en la tradición frecuentista . El enfoque frecuentista implica que los parámetros del modelo se consideran desconocidos, pero objetivos. Luego, los parámetros se calculan (estiman) a partir de los datos recopilados. Para el discriminante lineal, estos parámetros son precisamente los vectores medios y la matriz de covarianza . Además, la probabilidad de cada clase se estima a partir del conjunto de datos recopilados. Tenga en cuenta que el uso de la ' regla de Bayes ' en un clasificador de patrones no hace que el enfoque de clasificación sea bayesiano.
La estadística bayesiana tiene su origen en la filosofía griega donde ya se hacía una distinción entre el conocimiento ' a priori ' y el ' a posteriori '. Más tarde, Kant definió su distinción entre lo que se conoce a priori –antes de la observación– y el conocimiento empírico obtenido a partir de las observaciones. En un clasificador de patrón bayesiano, el usuario puede elegir las probabilidades de clase , que luego son a priori. Además, la experiencia cuantificada como valores de parámetros a priori puede ponderarse con observaciones empíricas, utilizando, por ejemplo, las distribuciones Beta ( conjugada anterior ) y Dirichlet . El enfoque bayesiano facilita una combinación perfecta entre el conocimiento experto en forma de probabilidades subjetivas y observaciones objetivas.
Los clasificadores de patrones probabilísticos se pueden utilizar según un enfoque frecuentista o bayesiano.
Dentro de la ciencia médica, el reconocimiento de patrones es la base de los sistemas de diagnóstico asistido por computadora (CAD). CAD describe un procedimiento que respalda las interpretaciones y hallazgos del médico. Otras aplicaciones típicas de las técnicas de reconocimiento de patrones son el reconocimiento automático de voz , la identificación del hablante , la clasificación de texto en varias categorías (por ejemplo, mensajes de correo electrónico spam o no spam), el reconocimiento automático de escritura a mano en sobres postales, el reconocimiento automático de imágenes de rostros humanos, o extracción de imágenes manuscritas de formularios médicos. [9] [10] Los dos últimos ejemplos forman el subtema análisis de imágenes de reconocimiento de patrones que trata con imágenes digitales como entrada a los sistemas de reconocimiento de patrones. [11] [12]
El reconocimiento óptico de caracteres es un ejemplo de la aplicación de un clasificador de patrones. El método de firmar el nombre de una persona se capturó con un lápiz óptico y una superposición a partir de 1990. [ cita necesaria ] Los trazos, la velocidad, el mínimo relativo, el máximo relativo, la aceleración y la presión se utilizan para identificar y confirmar de forma única la identidad. A los bancos se les ofreció esta tecnología por primera vez, pero se contentaron con cobrar a la FDIC por cualquier fraude bancario y no querían causar molestias a los clientes. [ cita necesaria ]
El reconocimiento de patrones tiene muchas aplicaciones del mundo real en el procesamiento de imágenes. Algunos ejemplos incluyen:
En psicología, el reconocimiento de patrones se utiliza para dar sentido e identificar objetos y está estrechamente relacionado con la percepción. Esto explica cómo los estímulos sensoriales que reciben los humanos se vuelven significativos. El reconocimiento de patrones se puede considerar de dos maneras diferentes. El primero se refiere a la coincidencia de plantillas y el segundo a la detección de funciones. Una plantilla es un patrón que se utiliza para producir elementos de las mismas proporciones. La hipótesis de la coincidencia de plantillas sugiere que los estímulos entrantes se comparan con plantillas en la memoria a largo plazo. Si hay coincidencia, se identifica el estímulo. Los modelos de detección de características, como el sistema Pandemonium para clasificar letras (Selfridge, 1959), sugieren que los estímulos se descomponen en sus componentes para su identificación. Una observación es una E mayúscula que tiene tres líneas horizontales y una línea vertical. [22]
Los algoritmos para el reconocimiento de patrones dependen del tipo de salida de etiqueta, de si el aprendizaje es supervisado o no supervisado y de si el algoritmo es de naturaleza estadística o no estadística. Los algoritmos estadísticos pueden clasificarse además como generativos o discriminativos .
Paramétrico: [23]
No paramétrico: [24]
Sin supervisión:
{{cite journal}}
: CS1 maint: multiple names: authors list (link).{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite journal}}
: Citar diario requiere |journal=
( ayuda )