0
데이터 분류를 위해 GML을 사용하고 있습니다.Gaussian Mixture Models (GMM)으로 분류하는 방법
문제는이 질문에 대한 비슷한입니다 : probability with Guassian mixture Model
I가 다음과 같은 데이터 세트 :
trainData1; % dataset for class 1
trainData2; % dataset for class 2
testData; % test dataset
GMM 모델 구하는 방법
GMM_class1=gmdistribution.fit(trainData1,12,'CovType','diagonal');
GMM_class2=gmdistribution.fit(trainData2,12,'CovType','diagonal');
가에 대한 로그-likeihood를 얻으려면 각 클래스의 테스트 데이터 세트 :
[posteriorTest_Train1,nlogL_1]=posterior(GMM_class1,testData);
[posteriorTest_Train2,nlogL_2]=posterior(GMM_class2,testData);
내가이 일을 해요, 분류 :
if nlogL_1 < nlogL_2
% testData belongs to class 1
else
% testData belongs to class 2
end
가, 내가 바로 그 일을하고있어 알고 싶습니다하십시오.
감사합니다.
2. 귀하의 답변에 감사드립니다 클래스 1 또는 클래스에 속하는지 문이 판단하는 경우에 당신은을 수행 할 수 있지만 그 차이를 이해하지 못했다. GMM_class1과 GMM_class2를 사용할 때 각 클래스의 모델을 얻으 려합니다. 맞지 않아? 당신의 대답을 고려해 볼 때, 모든 train dataset (trainData1과 trainData2)을 단 하나의 set (trainData)에 가지고 있다고 가정합니다. 따라서 if 문을 이런 식으로 어떻게 수행 할 수 있습니까? – VJDVieira
후부에는 두 개의 값이 있어야합니다. 하나는 클래스 1을위한 것이고 다른 하나는 클래스 2를위한 것입니다. 당신은 레이블로서 큰 것을 선택합니다. –
gmdistribution.fit 함수는 gmdistribution.fit (X, k)입니다. 여기서 X는 데이터 세트이고 k는 클래스 수입니다. 그러나, 내 이해에서, k는 하나의 클래스를 모델링하는데 사용 된 컴포넌트 (가우스)의 수입니다. – VJDVieira