도구스학업·수학

선형판별분석(LDA) 계산기

라벨이 있는 2차원 점들을 두 클래스로 가장 잘 가르는 피셔 판별방향과 결정경계를 구합니다. 라벨을 무시하는 PCA와는 목적함수가 다릅니다.

쉼표·탭·공백 아무거나 구분자로 씁니다. 각 클래스에 점이 2개 이상 필요합니다.

판별방향(단위벡터)

(-0.707, -0.707)

점선은 결정경계선입니다 — 채운 점(클래스 1)과 빈 점(클래스 2)을 이 축으로 투영하면 가장 잘 갈립니다.

클래스 1 평균(1.9, 2.1)
클래스 2 평균(6.9, 7.1)
분류 경계(투영값)-6.364
피셔 판별기준 J(w)12.5
라벨을 알 때만 쓸 수 있습니다. LDA는 어떤 점이 클래스 1이고 클래스 2인지 미리 안다는 전제로, 그 라벨을 가장 잘 설명하는 투영 방향을 찾습니다. 라벨 없이 분산만 보는 PCA와는 완전히 다른 문제입니다 — 두 방법이 고르는 축이 다를 수 있습니다.
피셔 판별기준 J(w) = (클래스 간 분산)÷(클래스 내 분산)이 클수록 두 클래스가 이 방향으로 잘 갈립니다. 계산된 판별방향은 가능한 모든 방향 중 이 값을 최대로 만드는 방향입니다.

계산 방법

  1. 1클래스 1과 클래스 2에 속하는 점들을 각각 "x, y" 형식으로 한 줄씩 입력합니다.
  2. 2두 클래스를 가장 잘 가르는 판별방향(피셔 방향)과 결정경계선을 확인합니다.
  3. 3판별경계 아래쪽 값을 보면 각 점이 그 방향으로 투영됐을 때 어느 클래스로 분류되는지 알 수 있습니다.

자주 묻는 질문

PCA는 라벨 없이 분산이 가장 큰 방향을 찾는 비지도 축소이고, LDA는 클래스 라벨을 알 때 두 클래스가 가장 잘 갈리는 방향을 찾는 지도 축소입니다. 분산이 큰 방향이라도 두 클래스가 그 방향에서 겹쳐 있으면 LDA는 그 방향을 고르지 않습니다.

클래스 내 산포행렬(Sw)의 역행렬에 두 클래스 평균의 차(μ₁−μ₂)를 곱해 구합니다(w = Sw⁻¹(μ₁−μ₂)). 이 방향으로 점을 투영하면 클래스 간 분산은 최대로, 클래스 내 분산은 최소로 만드는 방향이 됩니다.

판별방향으로 두 클래스 평균을 각각 투영한 값의 중점을 경계로 삼습니다. 새 점을 같은 방향으로 투영해 이 중점보다 큰지 작은지로 클래스를 분류합니다.

점들이 완전히 한 직선 위에만 있는 등 특이(singular)한 경우 역행렬을 구할 수 없어 계산이 불가능하다고 안내합니다. 각 클래스에 서로 다른 방향으로 흩어진 점을 몇 개 더 넣으면 해결됩니다.

알아두면 좋은 점

  • 클래스가 2개인 경우만 다룹니다(2차원 좌표, 이진 분류).
  • 입력값은 서버로 전송되지 않습니다. 브라우저에서만 계산됩니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.