선형판별분석(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과 클래스 2에 속하는 점들을 각각 "x, y" 형식으로 한 줄씩 입력합니다.
- 2두 클래스를 가장 잘 가르는 판별방향(피셔 방향)과 결정경계선을 확인합니다.
- 3판별경계 아래쪽 값을 보면 각 점이 그 방향으로 투영됐을 때 어느 클래스로 분류되는지 알 수 있습니다.
자주 묻는 질문
PCA는 라벨 없이 분산이 가장 큰 방향을 찾는 비지도 축소이고, LDA는 클래스 라벨을 알 때 두 클래스가 가장 잘 갈리는 방향을 찾는 지도 축소입니다. 분산이 큰 방향이라도 두 클래스가 그 방향에서 겹쳐 있으면 LDA는 그 방향을 고르지 않습니다.
클래스 내 산포행렬(Sw)의 역행렬에 두 클래스 평균의 차(μ₁−μ₂)를 곱해 구합니다(w = Sw⁻¹(μ₁−μ₂)). 이 방향으로 점을 투영하면 클래스 간 분산은 최대로, 클래스 내 분산은 최소로 만드는 방향이 됩니다.
판별방향으로 두 클래스 평균을 각각 투영한 값의 중점을 경계로 삼습니다. 새 점을 같은 방향으로 투영해 이 중점보다 큰지 작은지로 클래스를 분류합니다.
점들이 완전히 한 직선 위에만 있는 등 특이(singular)한 경우 역행렬을 구할 수 없어 계산이 불가능하다고 안내합니다. 각 클래스에 서로 다른 방향으로 흩어진 점을 몇 개 더 넣으면 해결됩니다.
알아두면 좋은 점
- 클래스가 2개인 경우만 다룹니다(2차원 좌표, 이진 분류).
- 입력값은 서버로 전송되지 않습니다. 브라우저에서만 계산됩니다.
함께 보면 좋은 도구
PCA2차원·3차원 점들의 공분산 행렬을 구해 고유벡터(주성분)와 고윳값, 설명 분산 비율을 계산합니다.퍼셉트론2차원 점과 라벨(+1/-1)을 넣으면 퍼셉트론 학습 규칙(오분류마다 w ← w + η·label·(1,x,y))을 반복해 두 클래스를 가르는 직선이 수렴하는 과정을 단계별로 보여줍니다.죄수와 상자죄수 수와 열 수 있는 상자 수를 넣으면 아무 상자나 여는 전략과 사이클을 따라가는 전략의 전원 성공 확률을 각각 구합니다.15퍼즐 판정슬라이딩 퍼즐 배치를 넣으면 아무리 밀어도 맞출 수 있는 배치인지 판정합니다.열전도 유한차분막대의 온도 분포를 외재적 유한차분으로 시간에 따라 계산합니다.
마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.