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

Следует отметить, что LDA похож на PCA (анализ основных компонентов), но главное отличие состоит в том, что PCA — это метод обучения без учителя, тогда как LDA является методом контролируемого обучения. Теперь мы перейдем к пониманию того, как работает LDA, на примере. Этот пример легко понять, но он будет немного длинным. Так что просто наберитесь терпения и прочитайте его, и через пару раз все станет кристально ясным.

Работа ЛДА:-

Мы будем использовать несколько примеров строк и столбцов из набора данных HABERMAN из репозитория машинного обучения UCI. Итак, после удаления нескольких примеров мы получаем такой набор данных:

Почтовая цель LDA состоит в том, чтобы получить новый набор функций (k), полученных из текущих n-мерных функций набора данных, где , k ≤(n-1) . В нашем примере, используемом из набора данных Хабермана, значение n равно 3, так как в наборе dsata есть 3 столбца признаков.

ШАГ 1: → сначала мы найдем матрицу рассеяния внутри класса (S𝓌) и матрицу рассеяния между классами (Sᵦ)

из набора данных мы получаем вывод, что: →

таким образом, Sᵦ = S₁ + S₂ , где S₁ и S₂ — это ковариационная матрица для классов C₁ и C₂

сначала нам нужно получить среднее значение каждой функции по отношению к каждому классу. Тем самым,

μ₁ = (31 + 31 + 33 + 62)/4 = 39.25

μ₂ = (59 + 65 + 58 + 62)/4 =61

μ₃ = (2 + 4+ 10 + 6)/4 = 5.5

Теперь S₁ определяется формулой = Σₓ ϵ 𝒸₁ (x -μ) (x -μ)ᵀ

Аналогично рассчитаем S₂

μ₁ = (38 + 41 + 42+ 62)/4 = 45.75

μ₂ = (69 + 60 + 69+ 65)/4 =65.75

μ₃ = (21 + 23+ 1 + 19)/4 = 16

Таким образом, когда мы вычисляем среднее значение каждой позиции этих 4-х матриц, мы получаем;

Следовательно, матрица рассеяния между классами (Sᵦ) = S₁ + S₂ =

Теперь внутри матрицы рассеяния класса (S𝓌) =

ШАГ 2: → Теперь мы вычислим вектор igen и значения igen по формуле: -

(S𝓌)⁻¹Sᵦ * W =λWгде, W — вектор проекции & λ – это вектор Igen (скалярное значение).

= |(S𝓌)⁻¹Sᵦ - λI| = 0, где , I — матрица идентичности .

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

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

Получив скалярное значение λ, мы подставим λ в уравнение (S𝓌)⁻¹Sᵦ * W =λW иполучите значение Wв виде матрицы3 X 1 .

ИЛИ , мы можем напрямую вычислить значение λс помощью этого уравнения .

ПРИМЕЧАНИЕ :→ (S𝓌)⁻¹*([μ]⁻ᵀ- ]⁻ᵀ) , где μ₁ и μ₂ обозначают 3 средних значения по отношению к каждому классу в наборе данных, которые равны 1 и 2, Итак, μ₁ = [39,25, 61, 5,5] & μ₂ = [45,75, 65,75, 16]

ШАГ 3: → Вычисление фактического 1D-вектора

Значения матрицы мы получим при упрощении (S𝓌)⁻¹*([μ]⁻ᵀ] ⁻ᵀ) будет иметь матрицу 3 X 1, транспонирование которой будет умножено на транспонирование матрицы признаков 4 X 3 классов C₁ и C₂ каждый [см. к таблице 1]. И, наконец, мы получим матрицу 1 X 4 для классов C₁ и C₂.

Давайте предположим, что C₁ = [x₁, x₂, x₃, x₄] и C₂ = [y₁, y₂, y₃, y₄], затем при построении графика (x₁,y₁); (х₂, у₂) ; (x₃,y₃) мы получим прямую линию на 2D-графике, представляющую характерные точки классов C₁ и C₂ на 2D-плоскости, указанные в таблице 1. И, наконец, мы можем нарисовать границу решения, разделяющую характерные точки классов C₁ и C₂, используя любой алгоритм классификации, такой как (PIC-1).

Вот как работает алгоритм LDA, я надеюсь, что вы получили представление об этом алгоритме. Дайте мне знать, если у вас есть какие-либо сомнения по этому поводу в разделе ответов, пока им не понравится учиться :)