В машинном обучении линейный классификатор принимает решение о классификации для каждого объекта на основе линейной комбинации его признаков . Такие классификаторы хорошо подходят для практических задач, таких как классификация документов , и, в более общем плане, для задач со многими переменными ( признаками ), достигая уровней точности, сопоставимых с нелинейными классификаторами, при этом требуя меньше времени на обучение и использование. [1]
Если входной вектор признаков для классификатора является действительным вектором , то выходная оценка равна
где — действительный вектор весов, а f — функция, преобразующая скалярное произведение двух векторов в желаемый выходной сигнал. (Другими словами, — это одноформенное или линейное функциональное отображение на R .) Вектор веса изучается на основе набора помеченных обучающих образцов. Часто f — это пороговая функция , которая отображает все значения выше определенного порога в первый класс, а все остальные значения — во второй класс; например,
Верхний индекс T указывает на транспонирование и является скалярным порогом. Более сложное f может дать вероятность того, что элемент принадлежит определенному классу.
Для задачи двухклассовой классификации работу линейного классификатора можно представить как разбиение многомерного входного пространства гиперплоскостью : все точки на одной стороне гиперплоскости классифицируются как «да», а все остальные — как «нет».
Линейный классификатор часто используется в ситуациях, когда скорость классификации является проблемой, так как он часто является самым быстрым классификатором, особенно когда является разреженным. Кроме того, линейные классификаторы часто работают очень хорошо, когда число измерений в велико, как в классификации документов , где каждый элемент в обычно является числом вхождений слова в документе (см. матрицу документ-термин ). В таких случаях классификатор должен быть хорошо регуляризован .
Существует два широких класса методов определения параметров линейного классификатора . Это могут быть генеративные и дискриминационные модели. [2] [3] Методы первого моделируют совместное распределение вероятностей , тогда как методы второго моделируют условные функции плотности . Примерами таких алгоритмов являются:
Второй набор методов включает дискриминационные модели , которые пытаются максимизировать качество выходных данных на обучающем наборе . Дополнительные члены в функции стоимости обучения могут легко выполнить регуляризацию окончательной модели. Примеры дискриминационного обучения линейных классификаторов включают:
Примечание: несмотря на свое название, LDA не принадлежит к классу дискриминантных моделей в этой таксономии. Однако его название имеет смысл, если мы сравним LDA с другим основным алгоритмом линейного снижения размерности : анализом главных компонент (PCA). LDA — это контролируемый алгоритм обучения , который использует метки данных, в то время как PCA — это неконтролируемый алгоритм обучения , который игнорирует метки. Подводя итог, можно сказать, что название является историческим артефактом. [5]
Дискриминационное обучение часто обеспечивает более высокую точность, чем моделирование функций условной плотности [ требуется ссылка ] . Однако обработка отсутствующих данных часто проще с моделями условной плотности [ требуется ссылка ] .
Все перечисленные выше линейные алгоритмы классификаторов можно преобразовать в нелинейные алгоритмы, работающие на другом входном пространстве , используя трюк с ядром .
Дискриминационное обучение линейных классификаторов обычно происходит контролируемым образом, посредством алгоритма оптимизации , которому дается обучающий набор с желаемыми выходами и функцией потерь , которая измеряет расхождение между выходами классификатора и желаемыми выходами. Таким образом, алгоритм обучения решает задачу оптимизации вида [1]
где
Популярные функции потерь включают в себя потерю шарнира (для линейных SVM) и логарифмическую потерю (для линейной логистической регрессии). Если функция регуляризации R является выпуклой , то вышеприведенная задача является выпуклой . [1] Существует много алгоритмов для решения таких задач; популярные алгоритмы для линейной классификации включают ( стохастический ) градиентный спуск , L-BFGS , координатный спуск и методы Ньютона .