Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Ingeniería de características

Explora la ingeniería de características para mejorar el rendimiento del modelo. Aprende técnicas como el escalado y el aumento para optimizar Ultralytics y obtener una mayor precisión.

La ingeniería de características es el proceso de transformar datos sin procesar en entradas significativas que mejoran el rendimiento de los modelos de aprendizaje automático. Implica aprovechar el conocimiento del dominio para seleccionar, modificar o crear nuevas variables, conocidas como características, que ayudan a los algoritmos a comprender mejor los patrones de los datos. Aunque las arquitecturas modernas de aprendizaje profundo, como las redes neuronales convolucionales (CNN), son capaces de aprender características automáticamente, la ingeniería de características explícita sigue siendo un paso fundamental en muchos flujos de trabajo, especialmente cuando se trabaja con datos estructurados o cuando se intenta optimizar la eficiencia de los modelos en dispositivos periféricos. Al refinar los datos de entrada, los desarrolladores suelen conseguir una mayor precisión con modelos más sencillos, lo que reduce la necesidad de recursos computacionales masivos.

El papel de la ingeniería de características en la IA

En el contexto de la inteligencia artificial (IA), los datos sin procesar rara vez están listos para su procesamiento inmediato. Es posible que sea necesario cambiar el tamaño de las imágenes, que el texto requiera tokenización y que los datos tabulares a menudo contengan valores perdidos o columnas irrelevantes. La ingeniería de características salva la brecha entre la información sin procesar y las representaciones matemáticas que requieren los algoritmos. Una ingeniería eficaz puede resaltar relaciones críticas que, de otro modo, un modelo podría pasar por alto, como combinar «distancia» y «tiempo» para crear una característica de «velocidad». Este proceso está estrechamente relacionado con el preprocesamiento de datos, pero mientras que el preprocesamiento se centra en la limpieza y el formateo, la ingeniería de características se centra en la mejora creativa para aumentar la capacidad predictiva.

En las tareas de visión artificial, la ingeniería de características ha evolucionado significativamente. Los métodos tradicionales implicaban la creación manual de descriptores como la transformación de características invariante a escala (SIFT) para identificar bordes y esquinas. Hoy en día, los modelos de aprendizaje profundo como YOLO26 realizan la extracción automatizada de características dentro de sus capas ocultas. Sin embargo, la ingeniería sigue desempeñando un papel fundamental en la preparación de conjuntos de datos, como la generación de datos sintéticos o la aplicación de técnicas de aumento de datos como mosaicos y mezclas para exponer los modelos a variaciones de características más robustas durante el entrenamiento.

Técnicas y aplicaciones comunes

La ingeniería de características abarca una amplia gama de estrategias adaptadas al problema específico y al tipo de datos.

  • Reducción de la dimensionalidad: Técnicas como el análisis de componentes principales (PCA) reducen el número de variables al tiempo que conservan la información esencial, lo que evita el sobreajuste en conjuntos de datos de alta dimensionalidad.
  • Codificación de variables categóricas: los algoritmos suelen requerir entradas numéricas. Métodos como la codificación one-hot transforman las etiquetas categóricas (por ejemplo, «rojo», «azul») en vectores binarios que los modelos pueden procesar.
  • Normalización y escalado: escalar las características a un rango estándar garantiza que las variables con magnitudes mayores (como los precios de la vivienda) no dominen a las que tienen rangos menores (como el número de habitaciones), lo cual es crucial para la optimización basada en gradientes en las redes neuronales.
  • Agrupación y discretización: Agrupar valores continuos en grupos (por ejemplo, grupos de edad) puede ayudar a los modelos a manejar los valores atípicos de manera más eficaz y capturar relaciones no lineales.

Ejemplos del mundo real

La ingeniería de características se aplica en diversos sectores para resolver problemas complejos.

  1. Mantenimiento predictivo en la fabricación: En la fabricación inteligente, los sensores recopilan datos brutos de vibración y temperatura de la maquinaria. Los ingenieros pueden crear características que representen la «tasa de cambio» de la temperatura o la «media móvil» de la intensidad de la vibración. Estas características diseñadas permiten a los modelos de detección de anomalías predecir los fallos de los equipos con días de antelación, en lugar de limitarse a reaccionar a las lecturas actuales de los sensores.
  2. Evaluación del riesgo crediticio: Las instituciones financieras utilizan la ingeniería de características para evaluar la elegibilidad de los préstamos. En lugar de limitarse a examinar la cifra bruta de los «ingresos», pueden diseñar un «ratio deuda-ingresos» o un «porcentaje de utilización del crédito». Estas características derivadas proporcionan una visión más matizada de la salud financiera del prestatario, lo que permite una clasificación del riesgo más precisa .

Ejemplo de código: Ampliación de funciones personalizadas

En la visión por ordenador, podemos «diseñar» características aumentando las imágenes para simular diferentes condiciones ambientales . Esto ayuda a modelos como YOLO26 generalizar mejor. El siguiente ejemplo muestra cómo aplicar una transformación simple a escala de grises utilizando ultralytics herramientas, lo que obliga al modelo a aprender características estructurales en lugar de basarse únicamente en el color.

import cv2
from ultralytics.data.augment import Albumentations

# Load an example image using OpenCV
img = cv2.imread("path/to/image.jpg")

# Define a transformation pipeline to engineer new visual features
# Here, we convert images to grayscale with a 50% probability
transform = Albumentations(p=1.0)
transform.transform = A.Compose([A.ToGray(p=0.5)])

# Apply the transformation to create a new input variation
augmented_img = transform(img)

# This process helps models focus on edges and shapes, improving robustness

Distinción de términos afines

Resulta útil distinguir la ingeniería de características de conceptos similares para evitar confusiones en los debates sobre flujos de trabajo.

  • Ingeniería de características frente a extracción de características: Aunque a menudo se utilizan indistintamente, hay un matiz. La ingeniería de características implica un proceso manual y creativo de construcción de nuevas entradas basadas en el conocimiento del dominio. conocimiento del dominio. Por el contrario, Por el contrario, la extracción de o proyecciones matemáticas (como PCA) que destilan datos de alta dimensión en una representación densa. En aprendizaje profundo (AD), las capas de redes neuronales convolucionales (CNN) realizan la extracción automática de características mediante el aprendizaje de filtros para bordes y texturas.
  • Ingeniería de rasgos frente a incrustación: En el procesamiento procesamiento del lenguaje natural (PLN), la creación manual de rasgos (como el recuento de la frecuencia de las palabras) ha sido sustituida en gran medida por las incrustaciones. incrustaciones. Las incrustaciones son representaciones densas aprendidas por el propio modelo para captar el significado semántico. Las incrustaciones son una forma de características, se aprenden mediante aprendizaje automático (AutoML) en lugar de ser "diseñados" explícitamente a mano.

Al dominar la ingeniería de características, los desarrolladores pueden crear modelos que no solo son más precisos, sino también más eficientes, ya que requieren menos potencia computacional para lograr un alto rendimiento. Herramientas como la Ultralytics facilitan esta tarea al ofrecer interfaces intuitivas para la gestión de conjuntos de datos y el entrenamiento de modelos, lo que permite a los usuarios iterar rápidamente en sus estrategias de características.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora