В машинном обучении и распознавании образов особенность — это индивидуальное измеримое свойство или характеристика явления . [1] Выбор информативных, различающих и независимых признаков является важнейшим элементом эффективных алгоритмов распознавания образов , классификации и регрессии . Функции обычно являются числовыми, но при распознавании синтаксических образов используются структурные функции, такие как строки и графики . Понятие «признак» связано с понятием объясняющей переменной, используемой в статистических методах, таких как линейная регрессия .
В разработке признаков обычно используются два типа признаков: числовые и категориальные.
Числовые характеристики — это непрерывные значения, которые можно измерить по шкале. Примеры числовых характеристик включают возраст, рост, вес и доход. Числовые функции можно напрямую использовать в алгоритмах машинного обучения. [2]
Категориальные признаки — это дискретные значения, которые можно сгруппировать по категориям. Примеры категориальных признаков включают пол, цвет и почтовый индекс. Категориальные функции обычно необходимо преобразовать в числовые функции, прежде чем их можно будет использовать в алгоритмах машинного обучения. Это можно сделать с помощью различных методов, таких как горячее кодирование, кодирование меток и порядковое кодирование.
Тип функции, используемой при разработке функций, зависит от конкретного используемого алгоритма машинного обучения. Некоторые алгоритмы машинного обучения, такие как деревья решений, могут обрабатывать как числовые, так и категориальные характеристики. Другие алгоритмы машинного обучения, такие как линейная регрессия, могут обрабатывать только числовые характеристики.
Числовой признак можно удобно описать вектором признаков. Один из способов добиться двоичной классификации — использовать функцию линейного предиктора (связанную с персептроном ) с вектором признаков в качестве входных данных. Метод состоит в вычислении скалярного произведения между вектором признаков и вектором весов, квалифицирующем те наблюдения, результат которых превышает пороговое значение.
Алгоритмы классификации по вектору признаков включают классификацию ближайших соседей , нейронные сети и статистические методы, такие как байесовский подход .
При распознавании символов функции могут включать гистограммы, подсчитывающие количество черных пикселей по горизонтали и вертикали, количество внутренних отверстий, обнаружение штрихов и многие другие.
При распознавании речи функции распознавания фонем могут включать в себя соотношение шумов, длину звуков, относительную мощность, совпадения фильтров и многие другие.
В алгоритмах обнаружения спама к особенностям могут относиться наличие или отсутствие определенных заголовков электронного письма, структура электронного письма, язык, частота использования определенных терминов, грамматическая правильность текста.
В компьютерном зрении существует большое количество возможных функций , таких как края и объекты.
В распознавании образов и машинном обучении вектор признаков — это n-мерный вектор числовых признаков, которые представляют некоторый объект. Многие алгоритмы машинного обучения требуют числового представления объектов, поскольку такие представления облегчают обработку и статистический анализ. При представлении изображений значения признаков могут соответствовать пикселям изображения, а при представлении текста — частоте появления текстовых терминов. Векторы признаков эквивалентны векторам объясняющих переменных, используемых в статистических процедурах, таких как линейная регрессия . Векторы признаков часто комбинируются с весами с использованием скалярного произведения , чтобы построить функцию линейного прогнозирования , которая используется для определения оценки для прогнозирования.
Векторное пространство , связанное с этими векторами, часто называют пространством признаков . Чтобы уменьшить размерность пространства признаков, можно использовать ряд методов уменьшения размерности .
Функции более высокого уровня можно получить из уже доступных функций и добавить в вектор функций; например, для изучения заболеваний полезен признак «Возраст», который определяется как Возраст = «Год смерти» минус «Год рождения» . Этот процесс называется созданием функции . [3] [4] Построение признаков — это применение набора конструктивных операторов к набору существующих признаков, приводящее к построению новых признаков. Примеры таких конструктивных операторов включают проверку условий равенства {=, ≠}, арифметические операторы {+,−,×, /}, операторы массива {max(S), min(S), Average(S)} как а также другие более сложные операторы, например count(S,C) [5] , который подсчитывает количество признаков в векторе признаков S, удовлетворяющих некоторому условию C, или, например, расстояния до других классов распознавания, обобщенных каким-либо принимающим устройством. Построение признаков уже давно считается мощным инструментом для повышения точности и понимания структуры, особенно в задачах большой размерности. [6] Приложения включают изучение болезней и распознавание эмоций по речи. [7]
Первоначальный набор необработанных функций может быть избыточным и достаточно большим, что оценка и оптимизация будут затруднены или неэффективны. Таким образом, предварительный шаг во многих приложениях машинного обучения и распознавания образов состоит из выбора подмножества функций или создания нового и сокращенного набора функций для облегчения обучения, а также для улучшения обобщения и интерпретируемости. [8]
Извлечение или выбор функций — это сочетание искусства и науки; Разработка систем для этого известна как разработка функций . Это требует экспериментирования с множеством возможностей и сочетания автоматизированных методов с интуицией и знаниями эксперта в предметной области . Автоматизация этого процесса — это обучение функциям , при котором машина не только использует функции для обучения, но и сама изучает эти функции.