Сложно преобразовать данные с более высокой размерностью в данные с более низкой размерностью или визуализировать данные с помощью сотен атрибутов или даже больше. Слишком много атрибутов приводит к переобучению данных, что приводит к плохому прогнозированию.

Уменьшение размерности - лучший подход к работе с такими данными. Большое количество атрибутов в отведениях набора данных может привести к переобучению наборов данных. Есть несколько методов уменьшения размерности. Три популярных метода уменьшения размерности для определения набора важных функций и уменьшения размеров набора данных:

1) Анализ основных компонентов (PCA)

2) Линейный дискриминантный анализ (LDA)

3) Ядро PCA (KPCA)

В этой статье мы собираемся изучить линейный дискриминантный анализ Фишера с нуля.

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

В этом подходе мы берем тень от точек вдоль линии или гиперплоскости. Визуально можно сказать, что эти примеры легко разделить на два класса: положительный и отрицательный, если спроецировать точки в направлении проекции, обозначенном как «FLD» (сплошная зеленая линия). После прогноза положительные примеры классов будут сгруппированы в небольшой диапазон значений, как и отрицательные примеры. Однако необходимо убедиться, что диапазон прогнозируемых значений в разных классах никогда не перекрывается.

Проецирование данных из d-размеров на линию

Дан набор векторных признаков размерности n-D x1, x2, x3 ……, xn.

Мы хотим сформировать линейную комбинацию компонентов x как:

Где w обозначает направление вектора FLD. Может быть несколько значений w,, как показано ниже (для двоичной классификации).

Как видите, для лучшего разделения нам нужно найти подходящее направление w. Итак, чтобы найти его, давайте определим два термина (для двоичной классификации):

Здесь m1-m2 - средняя разница между двумя классами. SB называется матрицей разброса между классами, а SW - матрицей разброса внутри класса (оба имеют размер D × D). SW измеряет, насколько разбросан исходный набор входных данных внутри каждого класса. SB измеряет разброс, вызванный средними значениями двух классов, которые измеряют, насколько они разбросаны между разными классами.

Целевая функция FLD задается J как:

Другими словами, эта оптимизация направлена ​​на поиск направления проекции, при котором разброс между классами намного больше, чем разброс внутри класса. Находя производную от J по w, чтобы максимизировать J, мы получаем,

Следовательно, необходимое условие оптимальности:

Здесь K - скалярное значение, из которого следует, что w является обобщенным собственным вектором SB и Sw, и K - соответствующее ему собственное значение. Точно так же J - функция оптимизации и обобщенное собственное значение. Итак, нам нужно максимизировать J по отношению к w, чтобы получить наибольшее собственное значение, таким образом, получив требуемое направление проекции, w .

После решения указанного выше условия оптимальности оптимальное направление проекции (w) может быть представлено как

Таким образом, все точки проецируются на линию в направлении w для лучшего разделения . Спроецированные данные впоследствии можно использовать для построения дискриминанта, выбрав порог y0. Когда y (x) ›y *, точка будет принадлежать к классу 1; в противном случае он будет принадлежать классу 0. В этом случае точка y * выбрана в качестве пересечения кривой стандартного распределения Гаусса двух классов.

Реализация FLD

Используя набор данных из 3 функций для двоичной классификации,

Во-первых, разделите набор данных на класс 0 (c0) и класс 1 (c1) в зависимости от фактического значения Y.

Чтобы найти w, давайте вычислим mean0 (среднее c2), mean1 (среднее значение c1) и S_inv (Sw ^ -1).

Вычисление w, y0, y1, где y0 и y1 - проекции точек, принадлежащих классу 0 (c0) и class1 (c1), в направлении ш

Построение точек, принадлежащих классу 0 и классу 1,

Нормализация прогнозируемых данных и их построение

После прогнозирования вышеуказанных данных с помощью LDA точность и F-мера для данных данных:

Выше приведена реализация для двоичной классификации, но расширение вышеупомянутого алгоритма используется для прогнозирования мультиклассовой классификации.

Https://github.com/gpriya32/Linear-Discriminant-Analysis

Похлопайте вас по спине за то, что вы до сих пор следили за этой публикацией, и я надеюсь, что вы весело проведете время во время обучения. Следите за моей следующей публикацией

Спасибо, что были здесь…. Удачного обучения :)