En el aprendizaje automático y el reconocimiento de patrones , una característica es una propiedad o característica individual medible de un fenómeno. [1] La elección de características informativas, discriminantes e independientes es crucial para producir algoritmos efectivos para tareas de reconocimiento de patrones , clasificación y regresión . Las características suelen ser numéricas, pero se utilizan otros tipos, como cadenas y gráficos , en el reconocimiento de patrones sintácticos , después de algún paso de preprocesamiento, como la codificación one-hot . El concepto de "características" está relacionado con el de variables explicativas utilizadas en técnicas estadísticas como la regresión lineal .
En la ingeniería de características, comúnmente se utilizan dos tipos de características: numéricas y categóricas.
Las características numéricas son valores continuos que se pueden medir en una escala. Algunos ejemplos de características numéricas son la edad, la altura, el peso y los ingresos. Las características numéricas se pueden utilizar directamente en algoritmos de aprendizaje automático. [ cita requerida ]
Las características categóricas son valores discretos que se pueden agrupar en categorías. Algunos ejemplos de características categóricas son el género, el color y el código postal. Por lo general, las características categóricas deben convertirse en características numéricas antes de poder usarlas en algoritmos de aprendizaje automático. Esto se puede hacer mediante diversas técnicas, como la codificación one-hot, la codificación de etiquetas y la codificación ordinal.
El tipo de característica que se utiliza en la ingeniería de características depende del algoritmo de aprendizaje automático específico que se esté utilizando. Algunos algoritmos de aprendizaje automático, como los árboles de decisión, pueden manejar características tanto numéricas como categóricas. Otros algoritmos de aprendizaje automático, como la regresión lineal, solo pueden manejar características numéricas.
Una característica numérica se puede describir de manera conveniente mediante un vector de características. Una forma de lograr una clasificación binaria es utilizando una función predictora lineal (relacionada con el perceptrón ) con un vector de características como entrada. El método consiste en calcular el producto escalar entre el vector de características y un vector de pesos, calificando aquellas observaciones cuyo resultado excede un umbral.
Los algoritmos de clasificación a partir de un vector de características incluyen la clasificación del vecino más cercano , redes neuronales y técnicas estadísticas como los enfoques bayesianos .
En el reconocimiento de caracteres , las funciones pueden incluir histogramas que cuentan la cantidad de píxeles negros en direcciones horizontales y verticales, la cantidad de orificios internos, la detección de trazos y muchas otras.
En el reconocimiento de voz , las características para reconocer fonemas pueden incluir proporciones de ruido, duración de los sonidos, potencia relativa, coincidencias de filtros y muchas otras.
En los algoritmos de detección de spam , las características pueden incluir la presencia o ausencia de ciertos encabezados de correo electrónico, la estructura del correo electrónico, el idioma, la frecuencia de términos específicos y la corrección gramatical del texto.
En visión por computadora , hay una gran cantidad de características posibles , como bordes y objetos.
En el reconocimiento de patrones y el aprendizaje automático , un vector de características es un vector n-dimensional de características numéricas que representan algún objeto. Muchos algoritmos en el aprendizaje automático requieren una representación numérica de los objetos, ya que dichas representaciones facilitan el procesamiento y el análisis estadístico. Al representar imágenes, los valores de las características pueden corresponder a los píxeles de una imagen, mientras que al representar textos, las características pueden ser las frecuencias de aparición de términos textuales. Los vectores de características son equivalentes a los vectores de variables explicativas utilizados en procedimientos estadísticos como la regresión lineal . Los vectores de características a menudo se combinan con pesos utilizando un producto escalar para construir una función predictora lineal que se utiliza para determinar una puntuación para hacer una predicción.
El espacio vectorial asociado a estos vectores se suele denominar espacio de características . Para reducir la dimensionalidad del espacio de características, se pueden emplear varias técnicas de reducción de dimensionalidad .
Las características de nivel superior se pueden obtener a partir de características ya disponibles y agregarlas al vector de características; por ejemplo, para el estudio de enfermedades, la característica 'Edad' es útil y se define como Edad = 'Año de muerte' menos 'Año de nacimiento' . Este proceso se conoce como construcción de características . [2] [3] La construcción de características es la aplicación de un conjunto de operadores constructivos a un conjunto de características existentes que resultan en la construcción de nuevas características. Ejemplos de tales operadores constructivos incluyen la verificación de las condiciones de igualdad {=, ≠}, los operadores aritméticos {+, −, ×, /}, los operadores de matriz {max(S), min(S), promedio(S)} así como otros operadores más sofisticados, por ejemplo count(S,C) [4] que cuenta el número de características en el vector de características S que satisfacen alguna condición C o, por ejemplo, distancias a otras clases de reconocimiento generalizadas por algún dispositivo de aceptación. La construcción de características ha sido considerada durante mucho tiempo una herramienta poderosa para aumentar tanto la precisión como la comprensión de la estructura, particularmente en problemas de alta dimensión. [5] Las aplicaciones incluyen estudios de enfermedades y reconocimiento de emociones a partir del habla. [6]
El conjunto inicial de características brutas puede ser redundante y lo suficientemente grande como para dificultar o hacer ineficaz la estimación y la optimización. Por lo tanto, un paso preliminar en muchas aplicaciones de aprendizaje automático y reconocimiento de patrones consiste en seleccionar un subconjunto de características o construir un conjunto nuevo y reducido de características para facilitar el aprendizaje y mejorar la generalización y la interpretabilidad. [7]
La extracción o selección de características es una combinación de arte y ciencia; el desarrollo de sistemas para hacerlo se conoce como ingeniería de características . Requiere la experimentación de múltiples posibilidades y la combinación de técnicas automatizadas con la intuición y el conocimiento del experto en el dominio . La automatización de este proceso se conoce como aprendizaje de características , donde una máquina no solo utiliza características para aprender, sino que aprende las características por sí misma.