Линейный дискриминант Фишера

Практический курс по ML: https://stepik.org/course/209247/

Смотреть материал на YouTube | RuTube

Довольно интересным частным случаем гауссовского байесовского классификатора, который мы рассмотрели на предыдущем занятии, является линейный дискриминант Фишера. Он строится исходя из предположения о равенстве всех ковариационных матриц классов:

Я напомню, что модель строится по правилу:

где  - штрафы за неверную классификацию класса ;  - априорная вероятность появления класса ;

в случае гауссового распределения признаков вектора .

Так вот, при равенстве всех ковариационных матриц разных классов, нам достаточно оценить векторы математических ожиданий (МО):

и общую ковариационную матрицу уже по всем объектам обучающей выборки:

То есть, у нас МО разные (свои) для каждого класса, а ковариационная матрица общая.

В итоге, классификатор принимает вид (с использованием логарифмической функции):

Обратите внимание, мы здесь убрали слагаемое , которое присутствует в гауссовском байесовском классификаторе, т.к. при равенстве ковариационных матриц, эта величина одна и та же для всех классов, а значит, ее можно отбросить.

Далее, выражение под argmax можно расписать, следующим образом:

Последнее слагаемое  не зависит от номера класса, следовательно, его можно также не учитывать. Получаем классификатор в виде:

Если теперь для каждого класса  ввести обозначения:

то классификатор примет вид:

Это вам ничего не напоминает? Да, это обычный линейный классификатор, о котором мы с вами ранее уже говорили. Он получил название линейный дискриминант Фишера. В честь ученого, который впервые решил эту задачу в далеком 1936 году.

Получается, если распределение множества объектов разных классов подчиняются гауссовскому закону и имеют одинаковые ковариационные матрицы, то оптимальный классификатор для них будет линейным (или кусочно-линейным для множества классов). И это понятно. Если мы посмотрим на границу пересечения двух нормальных двумерных ПРВ с одинаковыми ковариационными матрицами, то увидим, что линия с равными вероятностями классов будет линейной:

Даже если мы будем выбирать разные штрафы, или классы будут иметь разные априорные вероятности, то эта линия просто будет смещаться вправо или влево – в сторону от класса с большим штрафом и/или большей априорной вероятностью. Форма же разделяющей линии или гиперплоскости будет оставаться неизменной. Поэтому алгоритм классификации при таких исходных данных всегда линеен.

Основным преимуществом линейного дискриминанта Фишера в простоте его реализации (малого объема вычислений) и, кроме того, возможность вычислять ковариационную матрицу по всем объектам выборки, а не по объектам одного отдельного класса. Этот подход помогает, когда выборка сильно не сбалансирована и представителей отдельного класса может быть недостаточно для хорошей оценки ковариационной матрицы. В дискриминанте Фишера такой проблемы, как правило, нет.

Однако, и в гауссовском байесовском классификаторе и в линейном дискриминанте Фишера остается одна главная проблема с обращением матрицы ковариаций . Как вы уже знаете, из-за линейных или почти линейных зависимостей между признаками эта матрица становится плохо обусловленной и обратная матрица может даже не существовать. Решить эту проблему можно двумя распространенными способами. Один мы с вами совсем недавно уже рассмотрели – это считать все признаки независимыми, тогда матрица ковариаций вырождается в диагональную матрицу, которая всегда хорошо обращается. В итоге, мы приходим к наивному байесовскому классификатору.

Во втором способе добавляют к элементам главной диагонали ковариационной матрицы небольшие ненулевые значения:

,

где  - небольшое значение;  - единичная матрица. Этот подход соответствует L2-регуляризации и, конечно же, в байесовских классификаторах его также можно использовать.

Практический курс по ML: https://stepik.org/course/209247/

Видео по теме