Разработка признаков
Повысьте точность машинного обучения с помощью экспертной разработки признаков. Изучите методы создания, преобразования и выбора эффективных признаков.
Инжиниринг признаков - это искусство и наука использования знаний о предметной области для преобразования исходных данных в информативные
атрибуты, которые более эффективно представляют основную проблему для прогностических моделей. В более широком смысле
машинного обучения (ML), необработанные данные редко бывают готовы
для немедленной обработки; они часто содержат шум, пропущенные значения или форматы, которые алгоритмы не могут интерпретировать
напрямую. Создавая новые функции или изменяя существующие, инженеры могут значительно повысить
точность и производительность модели, что зачастую дает лучшие
результаты, чем просто переход к более сложному алгоритму. Этот процесс позволяет преодолеть разрыв между исходной информацией
и математическим представлением, необходимым для
прогностического моделирования.
Основные методы разработки характеристик
Этот процесс обычно включает несколько итеративных шагов, направленных на выявление наиболее значимых сигналов в данных. Хотя
такие инструменты, как библиотекаPandas в Python , облегчают эти манипуляции, стратегия в значительной степени зависит от понимания конкретной проблемной области.
стратегия в значительной степени зависит от понимания конкретной проблемной области.
-
Импутация и очистка: Прежде чем создавать новые признаки, данные необходимо стабилизировать. Это включает
обработку отсутствующих значений с помощью
методы очистки данных, такие как заполнение пробелов с помощью
средним значением, медианой или прогнозируемым значением - процесс, известный как
импутация.
-
Трансформация и масштабирование: Многие алгоритмы плохо работают, когда входные переменные имеют сильно
разные масштабы. Для этого используются такие методы, как
нормализация (масштабирование данных в диапазоне от 0 до 1)
или стандартизация (центрирование данных вокруг среднего значения), гарантируют, что ни один признак не будет доминировать в процессе обучения
только благодаря своей величине.
-
Кодирование категориальных данных: Модели обычно требуют числовых данных. Разработка характеристик включает в себя
преобразование текстовых меток или
категориальных данных в
числа. Распространенные методы включают кодирование меток и
одноточечное кодирование, которое создает двоичные столбцы для каждой категории.
-
Построение характеристик: Это творческий аспект, в ходе которого выводятся новые переменные. Например, в
наборе данных по недвижимости, вместо того чтобы использовать отдельно "длину" и "ширину", инженер может
перемножить их, чтобы создать характеристику "площадь", которая сильнее коррелирует с ценой.
-
Выбор функций: Добавление слишком большого количества признаков может привести к
чрезмерной подгонке, когда модель запоминает шум.
Такие методы, как рекурсивное исключение признаков или
снижение размерности, помогают определить
и сохранить только наиболее значимые признаки.
Инженерия характеристик в компьютерном зрении
В области компьютерного зрения (КВ) проектирование признаков часто принимает форму
инженерия признаков часто принимает форму
дополнения данных. Хотя современные модели глубокого обучения
модели автоматически обучаются иерархии и паттернам, мы можем "спроектировать" обучающие данные для повышения их надежности путем
моделирования различных условий окружающей среды. Модификация
конфигурации настройки гиперпараметров для
геометрических преобразований позволяет модели изучать признаки, инвариантные к ориентации или перспективе.
Следующий фрагмент кода демонстрирует, как применить инженерию признаков на основе дополнения в процессе обучения
YOLO11 модель. Настроив такие аргументы, как
degrees и shearМы синтезируем новые варианты признаков из исходного набора данных.
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)
Применение в реальном мире
Ценность функциональной инженерии лучше всего понять через ее практическое применение в различных отраслях.
-
Оценка финансовых рисков: В финансовом секторе необработанные журналы транзакций недостаточны для
оценки кредитоспособности. Эксперты используют
искусственный интеллект в финансах
для построения таких коэффициентов, как "долг к доходу" или "коэффициент использования кредита". Эти разработанные
характеристики дают прямой сигнал о финансовом состоянии, позволяя более точно
моделирование кредитного риска по сравнению с использованием необработанных
зарплаты или долгов в отдельности.
-
Предиктивное обслуживание в производстве: В
ИИ на производстве, датчики собирают
высокочастотные данные о вибрации и температуре. Подача необработанных показаний датчиков непосредственно в модель часто является шумной
и неэффективна. Вместо этого инженеры используют
анализ временных рядов для создания таких характеристик, как
"скользящее среднее значение температуры за последний час" или "стандартное отклонение вибрации". Эти
агрегированные характеристики отражают тенденции и аномалии, свидетельствующие об износе оборудования, гораздо лучше, чем мгновенные
значения.
Отличие от смежных терминов
Чтобы избежать путаницы при обсуждении рабочего процесса, полезно отличать разработку функций от схожих понятий.
-
Feature Engineering vs. Feature Extraction: Хотя эти понятия часто используются как взаимозаменяемые, есть один нюанс.
Инжиниринг характеристик подразумевает ручной творческий процесс создания новых исходных данных на основе
знаний о домене. В отличие от этого,
извлечение признаков часто относится к автоматизированным
методы или математические проекции (например, PCA), которые преобразуют высокоразмерные данные в плотное представление. В
глубоком обучении (ГОО), слои в
Конволюционные нейронные сети (КНС)
выполняют автоматическое извлечение признаков, обучаясь фильтрам для краев и текстур.
-
Инженерия признаков в сравнении с вкраплениями: В современной
обработке естественного языка (NLP) ручное создание признаков (например, подсчет частоты слов) было в значительной степени вытеснено
эмбеддинги. Эмбеддинги - это плотные векторные
плотные векторные представления, изучаемые самой моделью для передачи семантического значения. Хотя вкрапления - это одна из форм признаков,
они изучаются с помощью
автоматизированного машинного обучения (AutoML)
, а не создаются вручную.
Освоив проектирование функций, разработчики смогут создавать модели, которые будут не только более точными, но и более эффективными,
требуя меньше вычислительной мощности для достижения высокой производительности.