Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Ingeniería de características

Aumenta la precisión del aprendizaje automático con la ingeniería de características experta. Aprende técnicas para crear, transformar y seleccionar características impactantes.

La ingeniería de características es el arte y la ciencia de aprovechar el conocimiento del dominio para transformar los datos brutos en atributos informativos que representen el problema subyacente de forma más eficaz para los modelos predictivos. informativos que representen el problema subyacente de forma más eficaz para los modelos predictivos. En el ámbito más amplio del aprendizaje automático (AM), los datos brutos rara vez están a menudo contienen ruido, valores omitidos o formatos que los algoritmos no pueden interpretar directamente. directamente. Mediante la creación de nuevas características o la modificación de las existentes, los ingenieros pueden mejorar significativamente la precisión y el rendimiento de los modelos. precisión y el rendimiento del modelo, lo que a menudo resultados mejores que los de un algoritmo más complejo. Este proceso tiende un puente entre la información bruta y la representación matemática necesaria para el el modelado predictivo.

Técnicas básicas de ingeniería de características

El proceso suele implicar varios pasos iterativos diseñados para sacar a la luz las señales más relevantes de los datos. Mientras que herramientas como la bibliotecaPandas en Python facilitan estas manipulaciones, la estrategia depende en gran medida de la comprensión del ámbito específico del problema.

  • Imputación y limpieza: Antes de crear nuevas características, los datos deben estabilizarse. Esto implica tratar los valores que faltan mediante técnicas de limpieza de datos, como rellenar los huecos con la con la media, la mediana o un valor previsto, un proceso conocido como imputación. imputación.
  • Transformación y escalado: Muchos algoritmos funcionan mal cuando las variables de entrada tienen escalas muy diferentes. muy diferentes. Técnicas como normalización (escalar los datos en un intervalo de 0 a 1) o la normalización (centrar los datos en torno a la media) garantizan que ninguna característica domine el proceso de aprendizaje debido a su magnitud. debido exclusivamente a su magnitud.
  • Codificación de datos categóricos: Los modelos suelen requerir datos numéricos. La ingeniería de características implica convertir etiquetas de texto o datos categóricos en categóricos en números. Los métodos más habituales son la codificación de etiquetas y la codificación la codificación de un punto, que crea columnas binarias para cada categoría.
  • Construcción de características: Este es el aspecto creativo en el que se derivan nuevas variables. Por ejemplo, en un conjunto de datos inmobiliarios, en lugar de utilizar la "longitud" y la "anchura" por separado, un ingeniero podría multiplicarlas para crear una característica de "metros cuadrados", que se correlaciona mejor con el precio. multiplicarlas para crear una característica de "metros cuadrados", que se correlaciona mejor con el precio.
  • Selección de características: Añadir demasiadas características puede que el modelo memorice el ruido. Técnicas como la eliminación recursiva de características o reducción de la dimensionalidad ayudan a y retener sólo los atributos más impactantes.

Ingeniería de características en visión por ordenador

En el campo de la visión por ordenador (CV), la ingeniería de características a menudo adopta la forma de aumento de datos. Aunque los modelos modernos de aprendizaje profundo aprenden automáticamente jerarquías y patrones, podemos "diseñar" los datos de entrenamiento para que sean más robustos mediante la simulación de diferentes condiciones ambientales. simulando diferentes condiciones ambientales. Modificando configuraciones de ajuste de hiperparámetros para incluir transformaciones geométricas permite que el modelo aprenda características invariantes a la orientación o la perspectiva.

El siguiente fragmento de código demuestra cómo aplicar la ingeniería de características basada en el aumento durante el entrenamiento de un YOLO11 modelo. Ajustando argumentos como degrees y shearsintetizamos nuevas variaciones de características a partir del conjunto de datos original.

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Train with augmentation hyperparameters acting as on-the-fly feature engineering
# 'degrees' rotates images +/- 10 deg, 'shear' changes perspective
model.train(data="coco8.yaml", epochs=3, degrees=10.0, shear=2.5)

Aplicaciones en el mundo real

El valor de la ingeniería de características se entiende mejor a través de su aplicación práctica en diferentes industrias.

  1. Evaluación de riesgos financieros: En el sector financiero, los registros de transacciones en bruto son insuficientes para evaluar la solvencia. Los expertos utilizan IA en finanzas para construir ratios como "deuda-ingresos" o "tasa de utilización del crédito". Estas características Estas características de ingeniería proporcionan una señal directa de la salud financiera, permitiendo un modelado del riesgo crediticio más preciso en comparación con el uso de datos brutos. de riesgo crediticio más preciso que si se de deuda de forma aislada.
  2. Mantenimiento predictivo en la fabricación: En AI en la fabricación, los sensores recogen datos de alta frecuencia sobre vibraciones y temperatura. La introducción directa de las lecturas brutas de los sensores en un modelo suele ser ruidosa e ineficaz. ruidoso e ineficaz. En su lugar, los ingenieros utilizan análisis de series temporales para crear funciones como "media móvil de la temperatura en la última hora" o "desviación estándar de la vibración". Estas funciones agregadas de Estas características agregadas capturan las tendencias y anomalías indicativas del desgaste de la máquina mucho mejor que los valores instantáneos. instantáneos.

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 construir modelos que no sólo son más precisos, sino también más eficientes, que requieren menos potencia de cálculo para lograr un alto rendimiento.

Únase a la comunidad Ultralytics

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

Únete ahora