Pattern Recognition
Octave 에서 Bayes 분류기 활용 부류 판단
털털한JJC
2016. 3. 27. 12:19
새롭게 주어진 데이터 x=[0,2] 에 대하여 클래스 공통 공분산행렬을 가정한 경우의 판별함수를 이용하여 어떤 클래스에 속하는지를 판단하기
[소스 코드]
load data4_1
K=2; %클래스 개수
M=[mean(X1);mean(X2)]; %클래스별 표본평균의 계산
S(:,:,1) = cov(X1); %클래스별 표본공분산 계산
S(:,:,2) = cov(X2);
smean= (cov(X1)+cov(X2))/2; %클래스별 표본공분산의 평균
%새롭게 주어진 데이터
X = [0,2]
for j=1:2
%모든 클래스에 동일한 공분산행렬을 가정한 경우의 판별함수
d2(j,1)=(X(1,:)-M(j,:))*inv(smean)*(X(1,:)-M(j,:))';
end
[min2v,min2i]=min(d2);
min2i % 클래스 출력
[출력결과]
>> bayes
X =
0 2
min2i = 1
>>
참고:
min함수: 입력 1개와 출력 2개 인자로 min이 호출되는 경우, 최소값의 첫 index 를 함께 반환 한다. 즉,
[x, ix] = min ([1, 3, 0, 2, 0])
=> x = 0
ix = 3