Skip to content

문제 7 · 선형 판별 함수

문제 7 — 선형 판별 함수

두 클래스의 데이터가 각각 다음과 같이 주어졌다.

x1={(0,0),(1,0),(0,1)},x2={(2,1),(3,1),(2,2)}

이 때, 피셔 선형 판별Fisher's linear discriminant을 적용하여 결정 경계를 구하라.

임의의 2×2 행렬 (abcd)의 역행렬은 1adbc(dbca)로 구한다.


피셔 선형 판별을 구하기 위해 클래스 간 분산between class variance과 클래스 내 분산within class variance을 사용해야 한다.

SB=(m2m1)(m2m1)SW=nC1(xnm1)(xnm1)+nC2(xnm2)(xnm2)

이후 분류기 매개변수를 wSW1(m2m1)로 찾고, 두 클래스 평균을 투영한 중심점이 결정 경계가 된다.

풀이 및 해설

클래스 평균:

m1=13[(0,0)+(1,0)+(0,1)]=(13,13),m2=(73,43),m2m1=(2,1)

클래스 내 산포 행렬 — 두 클래스가 동일한 삼각형 배치를 가지므로 각 클래스의 산포가 같다.

nC1(xnm1)(xnm1)=(23131323)=nC2(xnm2)(xnm2)SW=(43232343)

역행렬detSW=16949=129=43이므로

SW1=34(43232343)=(112121)

판별 방향:

wSW1(m2m1)=(112121)(21)=(522)  (54)

결정 경계 — 두 평균의 중점 12(m1+m2)=(43,56)w로 투영한 값이 임곗값이 된다. w=(5,4)로 두면

wx=w(43,56)=543+456=10 5x1+4x2=10 

이 직선을 기준으로 wx<10이면 C1, >10이면 C2로 분류한다.

👉 실습(Python)에서 산포 행렬과 경계 계산

PDF