# Atributo (aprendizaje automático)

En el aprendizaje automático (AA) y el reconocimiento de patrones, un atributo es una propiedad individual medible o característica de un fenómeno. Elegir atributos informativos, discriminatorios e independientes es un elemento crucial de los algoritmos efectivos en el reconocimiento de patrones, clasificación y regresión. Los atributos suelen ser numéricos, pero los atributos estructurales, como cadenas y gráficos, se utilizan en el reconocimiento de patrones sintácticos. El concepto de ‘atributo’ está relacionado con el de variable explicativa utilizado en técnicas estadísticas como la regresión lineal .

## Tipos de atributos

En la creación de atributos, se utilizan comúnmente dos tipos de atributos: numéricos y categóricos.
Los atributos numéricos son valores continuos que se pueden medir en una escala. Los ejemplos de atributos numéricos incluyen la edad, la altura, el peso y los ingresos. Los atributos numéricos se pueden usar directamente en algoritmos de aprendizaje automático.
Los atributos categóricos son valores discretos que se pueden agrupar en categorías. Algunos ejemplos de atributos categóricos son género, color y código postal. Por lo general, los atributos categóricos deben convertirse en atributos numéricos antes de que puedan usarse en algoritmos de aprendizaje automático. Esto se puede hacer utilizando una variedad de técnicas, como la codificación one-hot, la codificación de etiquetas y la codificación ordinal.
El tipo de atributo que se utiliza en la creación de atributos depende del algoritmo de AA específico que se utiliza. Algunos algoritmos de AA, como los árboles de decisión, pueden utilizar atributos tanto numéricos como categóricos. Otros algoritmos de AA, como la regresión lineal, solo pueden utilizar atributos numéricos.

## Clasificación

Un atributo numérico puede describirse convenientemente mediante un vector de atributos. Una forma de lograr la clasificación binaria es usar una función predictora lineal (relacionada con el perceptrón) con un vector de atributos como entrada. El método consiste en calcular el producto escalar entre el vector de atributos y un vector de pesos, calificando aquellas observaciones cuyo resultado supere un umbral.
Los algoritmos para la clasificación a partir de un vector de atributos incluyen la clasificación por k-nearest neighbor, redes neuronales y técnicas estadísticas como los enfoques bayesianos .

## Ejemplos

En el reconocimiento de caracteres, los atributos 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, los atributos para reconocer fonemas pueden incluir relaciones de ruido, duración de los sonidos, potencia relativa, coincidencias de filtros y muchas otras.
En los algoritmos de detección de correo basura, los atributos 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, la corrección gramatical del texto.
En la visión informática, hay una gran cantidad de atributos posibles, como bordes y objetos.

## Extensiones

En el reconocimiento de patrones y el aprendizaje automático (AA), un vector de atributos es un vector n-dimensional de atributos numéricos que representan algún objeto. Muchos algoritmos de AA 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 los atributos pueden corresponder a los píxeles de una imagen, mientras que al representar textos, los atributos pueden ser las frecuencias de aparición de los términos textuales. Los vectores de atributos son equivalentes a los vectores de variables explicativas utilizados en procedimientos estadísticos como la regresión lineal. Los vectores de atributos a menudo se combinan con pesos mediante un producto escalar para construir una función de predicción lineal que se utiliza para determinar una puntuación para hacer una predicción.
El espacio vectorial asociado con estos vectores a menudo se denomina espacio de atributos. Para reducir la dimensionalidad del espacio de atributos, se pueden emplear varias técnicas de reducción de dimensionalidad .
Los atributos de nivel superior se pueden obtener de los atributos ya disponibles y agregarse al vector de atributos; por ejemplo, para el estudio de enfermedades, el atributo '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 atributos. La construcción de atributos es la aplicación de un conjunto de operadores constructivos a un conjunto de atributos existentes que dan como resultado la construcción de atributos nuevos. Algunos ejemplos de tales operadores constructivos incluyen verificar 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) que cuenta el número de atributos en el vector de atributos S que satisfacen alguna condición C o, por ejemplo, distancias a otras clases de reconocimiento generalizadas por algún dispositivo de aceptación. Durante mucho tiempo, la construcción de atributos se ha considerado una herramienta poderosa para aumentar tanto la precisión como la comprensión de la estructura, particularmente en problemas de dimensión alta. Algunas aplicaciones son el estudio del reconocimiento de enfermedades y emociones a partir del habla.

## Selección y extracción

El conjunto inicial de atributos sin procesar puede ser redundante y demasiado grande para gestionar. Por lo tanto, un paso preliminar en muchas aplicaciones de aprendizaje automático y reconocimiento de patrones consiste en seleccionar un subconjunto de atributos o construir un conjunto nuevo y reducido de atributos para facilitar el aprendizaje y mejorar la generalización y la interpretabilidad. .
Extraer o seleccionar atributos es una combinación de arte y ciencia; el desarrollo de sistemas para hacerlo se conoce como la creación de atributos. Requiere la experimentación de muchas posibilidades y la combinación de técnicas automatizadas con la intuición y conocimiento del experto en el dominio. La automatización de este proceso es el aprendizaje de atributos, donde una máquina no solo usa atributos para aprender, sino que aprende las funciones por sí misma.