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